Exemplo n.º 1
0
    private void OnSelection(CombatCharacter character)
    {
        List <CombatCharacter> selected = new List <CombatCharacter>();

        if (caster.Value.IsSelectionCharacter)
        {
            selected.Add(character);
        }
        else
        {
            CombatSlotArrayVar selectedVars = character.Definition.Team == CharacterDefinition.TeamType.Player? players : enemies;

            foreach (CombatSlotObserver selectedCharacter in selectedVars.Value)
            {
                if (selectedCharacter.Character != null && selectedCharacter.Character.IsAlive)
                {
                    selected.Add(selectedCharacter.Character);
                }
            }
        }
        CombatAction action = new CombatAction(caster.Value, selected.ToArray());

        actions.Add(action);
        combatAnimator.Value.SetInteger("ActionsCount", actions.Count());
        combatAnimator.Value.SetTrigger("TargetSelected");
        actionUI.Value.AnimateAddAction(actions.Count() - 1);
    }
Exemplo n.º 2
0
    private int CountSlot(CombatSlotArrayVar var)
    {
        int count = 0;

        foreach (CombatSlotObserver observer in var.Value)
        {
            if (observer != null && observer.Character.IsAlive)
            {
                ++count;
            }
        }
        return(count);
    }