Exemple #1
0
    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);
    }
Exemple #2
0
    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;
    }
Exemple #4
0
    void Start()
    {
        inBattle_ = false;
        GetBattleSystem();

        if (gameObject.tag == "Ally")
        {
            combatantType_ = CombatantType.Ally;
        }
        else if (gameObject.tag == "Enemy")
        {
            combatantType_ = CombatantType.Enemy;
        }
    }
Exemple #5
0
        /// <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");
            }
        }
Exemple #6
0
 /// <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);
 }
Exemple #7
0
 public CombatantRemovedEventData(GameObject combatant, CombatantType type)
 {
     combatant_ = combatant;
     type_      = type;
 }
Exemple #8
0
 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;
 }