public void RemoveCombatant(GameObject combatant, CombatantType type) { switch (type) { case CombatantType.Ally: if (allyCombatants_.Contains(combatant)) { allyCombatants_.Remove(combatant); } break; case CombatantType.Enemy: if (enemyCombatants_.Contains(combatant)) { enemyCombatants_.Remove(combatant); } break; } //send this event to all combatants CombatantRemovedEventData data = new CombatantRemovedEventData(combatant, type); foreach (GameObject ally in allyCombatants_) { EventSystem.EventSend(ally, Events.CombatantRemoved, data); } foreach (GameObject enemy in enemyCombatants_) { EventSystem.EventSend(enemy, Events.CombatantRemoved, data); } DispatchEventToCombatUI(Events.CombatantRemoved, data); }
public void AddCombatant(GameObject combatant, CombatantType type) { switch (type) { case CombatantType.Ally: allyCombatants_.Add(combatant); break; case CombatantType.Enemy: enemyCombatants_.Add(combatant); break; } //send this event to all combatants CombatantAddedEventData data = new CombatantAddedEventData(combatant, type); foreach (GameObject ally in allyCombatants_) { if (ally) { EventSystem.EventSend(ally, Events.CombatantAdded, data); } } foreach (GameObject enemy in enemyCombatants_) { if (enemy) { EventSystem.EventSend(enemy, Events.CombatantAdded, data); } } DispatchEventToCombatUI(Events.CombatantAdded, data); }
public int [] availableSkills; //Just for enemies??? public CombatantInformation(int characterId, CombatantType combatantType, int coreFirewall, int compiler, int defenseMatrix, int predictiveAlgorithms) { this.characterId = characterId; this.combatantType = combatantType; this.coreFirewall = coreFirewall; this.compiler = compiler; this.defenseMatrix = defenseMatrix; this.predictiveAlgorithms = predictiveAlgorithms; }
void Start() { inBattle_ = false; GetBattleSystem(); if (gameObject.tag == "Ally") { combatantType_ = CombatantType.Ally; } else if (gameObject.tag == "Enemy") { combatantType_ = CombatantType.Enemy; } }
/// <summary> /// Loads ability data from disk, constuct the ability and adds to ability list. /// </summary> /// <param name="path">path on disk where ability data is.</param> /// <param name="isInitialLoad">whether the loading proces should grab starting abiltiies or all abilities</param> private void loadAbilityData(string path, CombatantType type, bool isInitialLoad) { string abilityText = File.ReadAllText(type == CombatantType.MONSTER ? path += ".json" : path); JSONNode json = JSON.Parse(abilityText); string entityName = json["entity"]; if (type == CombatantType.PLAYER) { loadPlayerAbilities(json, isInitialLoad, entityName); } else if (type == CombatantType.MONSTER) { loadMonsterAbilities(json, entityName); } else { throw new ArgumentException("Could not resolve [CombatantType] during ability loading"); } }
/// <summary> /// For startup loading of abilties /// </summary> /// <param name="path">The data path to load a combatants abilities from</param> /// <param name="type"> <c>MONSTER</c> or <c>PLAYER</c> <see cref="CombatantType"/></param> /// <param name="isInitialLoad">Determines whether to load a players starting abilities</param> public Abilities(string path, CombatantType type, bool isInitialLoad = false) { abilities = new List <Ability>(); loadAbilityData(path, type, isInitialLoad); }
public CombatantRemovedEventData(GameObject combatant, CombatantType type) { combatant_ = combatant; type_ = type; }
internal Weapon GetWeaponForNeutral(CombatantType type) { switch (type) { case CombatantType.PlagueZombie: return FindWeaponTemplate("Projectile Vomit"); case CombatantType.ZombieLord: return FindWeaponTemplate("Chainsaw"); case CombatantType.Zombie: return FindWeaponTemplate("Disease"); default: return FindWeaponTemplate("Claws"); } }
public CombatantModel(GameObject charcterModel, CombatantType combatantType) { this.charcterModel = charcterModel; this.combatantType = combatantType; }