Пример #1
0
	int GameLoop::loadStates(LoadXML* loader)
	{
		int status = -1;
		if(loader != NULL &&
		   loader->getDocument() != NULL)
		{
			XMLCh nodeName[100];
			XMLString::copyString(nodeName, newString("state").c_str());
			DOMNodeList* nodeList = loader->getDocument()->getElementsByTagName(nodeName);
			if(nodeList != NULL &&
				nodeList->getLength() > 0)
			{
				for(int i = 0; i < nodeList->getLength(); i++)
				{
					String type = loader->getTagContent(newString("type"), (DOMElement*)nodeList->item(i));
					String name = loader->getTagContent(newString("name"), (DOMElement*)nodeList->item(i));
					BaseState* state = this->newState(name, type);
					String camera = loader->getTagContent(newString("camera"), (DOMElement*)nodeList->item(i));
					String resources = loader->getTagContent(newString("resources"), (DOMElement*)nodeList->item(i));
					if(state != NULL)
					{
						state->setName(name);
						state->setResourceXML(resources);
						state->setCamera(camera);
					}
				}
			}
		}
		return status;
	}
Пример #2
0
BaseState * StateWidget::getState()
{
    BaseState * toInsertState = StateWidgets[tmpWidget]->getStateObject();
    if(toInsertState==NULL)return NULL;
    toInsertState->setName(this->stateNameEdit->text());
    int chosen = getStateTypeTable().indexOf(stateTypeCombo->currentText());
    toInsertState->setType((StateType)chosen);
    toInsertState->setParameters(paramEdit->text());
    return toInsertState;
}
Пример #3
0
void StateWidget::AcceptState()
{
    if(edited==NULL)
    {
        emit reportError(QString("Please, select a state to edit, edit it and then press OK."));
        return;
    }
    if ( !StateNameOK())
    {
        return;
    }
    BaseState * toInsertState = StateWidgets[tmpWidget]->getStateObject();
    if(toInsertState==NULL)
        return;
    toInsertState->setName(this->stateNameEdit->text());
    toInsertState->setType(StateType(stateTypeCombo->currentIndex()));
    toInsertState->setParameters(paramEdit->text());
    OKButton->setDisabled(true);
    BaseState * tmp = edited;
    edited = NULL;
    emit ReplaceState(tmp, toInsertState);
}