private void reload() { foreach (Transform child in personTable.transform) { Destroy(child.gameObject); } var personFactory = factory.GetComponent <PersonFactory>(); personFactory.availableEnemy.Add(XMLFactory.loadPerson("configs/monsters/trolls/heavyTroll")); personFactory.availableEnemy.Add(XMLFactory.loadPerson("configs/monsters/trolls/fastTroll")); personFactory.availableEnemy.Add(XMLFactory.loadPerson("configs/monsters/trolls/trollSummoner")); personFactory.setController(personTable); PartiesSingleton.clear(); EventQueueSingleton.queue.events.Clear(); EventQueueSingleton.queue.nextEventTime = 0.0f; EventQueueSingleton.queue.realTime = Time.fixedTime; EventQueueSingleton.queue.fastFight = false; foreach (var p in PartiesSingleton.currentGame.activeHeroes.FindAll(p => p.isActive)) { PartiesSingleton.heroes.addPerson(personFactory.create(p)); } int count = 0; foreach (var ability in PartiesSingleton.player.abilityList) { var uAbility = Instantiate(userAbility, transform.Find("UserAbility"), false); uAbility.GetComponent <UserAbilityController>().ability = ability; uAbility.transform.localPosition = new Vector2(0.0f, 0.0f + 1.2f * count++);; } int powerCalculated = 0; foreach (var p in personFactory.generatePersonList(mapPoint)) { powerCalculated += p.calculatePower(); PartiesSingleton.enemies.addPerson(personFactory.create(p)); } foreach (var go in PartiesSingleton.enemies.getPartyList()) { go.GetComponent <PersonController>().person.initHealthMana(); } enemyPowerCost.GetComponent <Text>().text = powerCalculated.ToString(); foreach (var hero in PartiesSingleton.heroes.getLivePersons()) { hero.generateEvents(0.0f); } foreach (var enemy in PartiesSingleton.enemies.getLivePersons()) { enemy.generateEvents(0.0f); } }
public void startNewGame() { var person = XMLFactory.loadPerson("configs/monsters/heroes/mage"); PartiesSingleton.currentGame.selectedHeroes.Add(person); generateMessage(new GameMessage(MessageType.CLOSE_ACTIVE_WINDOW)); var gm = new GameMessage(MessageType.START_NEW_GAME); gm.parameters.Add(transform.Find("NameInput/InputField/Text").GetComponent <Text>().text); gm.parameters.Add(link); generateMessage(gm); }
public Game loadSavedGame(string link) { var xmldoc = new XmlDocument(); xmldoc.Load(link); XmlNode loadGame = xmldoc[XML_SAVED_GAME]; var game = new Game { saveLink = link, userName = loadGame[XML_USER_NAME].InnerText, gold = int.Parse(loadGame[XML_GOLD].InnerText), startGame = Time.time, gameTime = DateTime.ParseExact(loadGame[XML_TIME].InnerText, TIME_FORMAT, CultureInfo.CurrentCulture) }; foreach (XmlNode xmlPerson in loadGame[XML_PERSONS]) { var person = XMLFactory.loadPerson(xmlPerson[XML_PERSON_TYPE].InnerText); person.name = xmlPerson[XML_PERSON_NAME].InnerText; person.isActive = xmlPerson[XML_PERSON_ISACTIVE].InnerText.Equals(true.ToString()); person.setLevel(int.Parse(xmlPerson[XML_PERSON_LEVEL].InnerText)); person.setExpirience(int.Parse(xmlPerson[XML_PERSON_EXPERIENCE].InnerText)); person.activeInventory.leftHand = XMLFactory.loadItem(xmlPerson[XML_PERSON_ACTIVE_ITEMS][XML_PERSON_ITEMS_LEFT_HAND].InnerText); person.activeInventory.rightHand = XMLFactory.loadItem(xmlPerson[XML_PERSON_ACTIVE_ITEMS][XML_PERSON_ITEMS_RIGHT_HAND].InnerText); person.activeInventory.armor = XMLFactory.loadItem(xmlPerson[XML_PERSON_ACTIVE_ITEMS][XML_PERSON_ITEMS_ARMOR].InnerText); person.activeInventory.activeItem = XMLFactory.loadItem(xmlPerson[XML_PERSON_ACTIVE_ITEMS][XML_PERSON_ITEMS_ACTIVE_ITEM].InnerText); person.knownAbilities.FindAll(ability => !string.IsNullOrEmpty(ability.resource)) .ForEach(ability => ability.isActive = false); foreach (XmlNode xmlAbility in xmlPerson[XML_PERSON_ACTIVE_ABILITIES]) { person.findAbility(xmlAbility.InnerText).isActive = true; } person.place = XMLFactory.laodPosition(xmlPerson[XML_PERSON_POSITION]); game.selectedHeroes.Add(person); } foreach (XmlNode xmlItem in loadGame[InventoryController.INVENTORY_OBJECT]) { game.inventory.Add(XMLFactory.loadItem(xmlItem.InnerText)); } return(game); }
public SummonGolem() { var summon = XMLFactory.loadPerson("configs/monsters/golems/golem"); getAbilityTactic().summon = summon; timeCast = 1.0f; manaCost = 1; image = Constants.loadSprite("texture/Skills/buffIcons", "buffIcons_60"); name = "Summon Golem"; type = "activeAbility"; targetTactic = new ItselfTargetTactic(); var effect = new SummonEffect(); effect.person = summon; effect.duration = 0; effectList.Add(effect); }