Beispiel #1
0
void Environment::xmlConfigure(xmlNode *fNode)
{
  int fEmbeddedSkin = 0;
  while (fNode) {
    if (!strcmp((char *) fNode->name, "Menu")) {
      SubMenuNode *t = new SubMenuNode();
      t->xmlConfigure(fNode->children);
      setTopMenu(t);
      setCurrentMenu(t);
    } else if (!strcmp((char *) fNode->name, "Resources")) {
      Resources *t = new Resources();
      t->xmlConfigure(fNode->children);
      setResources(t);
      fEmbeddedSkin = 1;
    } else if (!strcmp((char *) fNode->name, "Elements")) {
      Elements *t = new Elements();
      t->xmlConfigure(fNode->children);
      setElements(t);
      fEmbeddedSkin = 1;
    } else if (!strcmp((char *) fNode->name, "Dialog")) {
      Generic *t = new Generic();
      t->xmlConfigure(fNode->children);
      setDialog(t);
    } else if (!strcmp((char *) fNode->name, "LogFile")) {
      setLogFileName((char *) fNode->children->content);
    }
    fNode = fNode->next;
  }
  if (fEmbeddedSkin) {
    mResources->loadResources();
    mElements->associateResources(mResources);
  }
}
Beispiel #2
0
int Environment::loadSkin(char *fSkinDirectory)
{

  Elements *fOldElements = mElements;
  Resources *fOldResources = mResources;

  struct stat sbuf;

  char buf[255];
  sprintf(buf, "%sskin.xml", fSkinDirectory);

  printf("Loading %s\n", buf);
  if (stat(buf, &sbuf)) {
    return 0;
  }

  xmlDoc *theDoc = 0;
  xmlNode *theRoot = 0;

  theDoc = xmlReadFile(buf, NULL, 0);
  if (theDoc == NULL) {
    return 0;
  }

  theRoot = xmlDocGetRootElement(theDoc);

  xmlNode *fNode = theRoot->children;

  while (fNode) {
    if (!strcmp((char *) fNode->name, "Resources") && fNode->children) {
      Resources *t = new Resources();
      t->xmlConfigure(fNode->children);
      setResources(t);
    } else if (!strcmp((char *) fNode->name, "Elements") && fNode->children) {
      Elements *t = new Elements();
      t->xmlConfigure(fNode->children);
      setElements(t);
    }
    fNode = fNode->next;
  }

  if (fOldElements != mElements && fOldElements) {
    delete fOldElements;
  }
  if (fOldResources != mResources && fOldResources) {
    delete fOldResources;
  }

  setSkinPath(fSkinDirectory);

  debugPrint("     Loading resources\n");

  mResources->loadResources();
  debugPrint("     Associating resources & elements\n");

  mElements->associateResources(mResources);

  xmlFreeDoc(theDoc);
  return 1;
}
Beispiel #3
0
void UpdateModel::activityChanged()
{
    if (m_updates->isProgressing())
        return;
    m_updates->prepare();
    setResources(m_updates->toUpdate());
}
Beispiel #4
0
/*************************************
FUNC: HumSettlers(...)
DESC: constructor
*************************************/
HumSettlers::HumSettlers(GObjWrapper *wrapper, Sector* sector, int population, int initialStep, int plID):
	Building(wrapper, sector, initialStep, plID)
{
	m_type = t_HUMAN_SETTLERS;

	m_wrapper->setType(m_type);
	m_wrapper->setLevel(m_level, UI_NORMAL);
	m_wrapper->setEnabled();

	regResourse(POPULATION);
	setResources(POPULATION, population);

	regResourse(SUPPLY);

	regResourse(INFROSTRUCTURE);

	m_maxLevel = HUMAN_MAX_SETTLEMENT_LEVEL;
}
Beispiel #5
0
void Unit::load(const IDataLoader& loader)
{
    loader.loadValue("unit", mName, "type", &mType);
    loader.loadValue("unit", mName, "position", &mPosition);
    loader.loadValue("unit", mName, "scale", &mScale);
    loader.loadValue("unit", mName, "rotation", &mRotation);

    Resources res;
    
    size_t num_render_jobs = 0;
    loader.loadValue("unit", mName, "num_render_jobs", &num_render_jobs);
    for (size_t i=0; i<num_render_jobs; ++i)
    {
        std::string material;
        std::string drawable;
        loader.loadValue("unit", mName, "drawable_" + std::to_string(i), &drawable);
        loader.loadValue("unit", mName, "material_" + std::to_string(i), &material);
        res.drawables.push_back(loader.loadDrawable(drawable));
        res.materials.push_back(loader.loadMaterial(material));
    }
    setResources(res);    
}
	void D3D11Program::setResourcesFor(const String& variableName, ID3D11ShaderResourceView* tex)
	{
		setResources(mVariableAssigned[variableName], tex);
	}
Beispiel #7
0
void InfoResourceDirectory::RefreshJson()
{
	Clear();
	setResources(res_entrys_);
}