Exemplo n.º 1
0
    private void SetTargeting(eTargetLimit possible_targets)
    {
        DisableUIForPlayer();
        switch (possible_targets)
        {
        case eTargetLimit.SELF_ONLY:
            EntityClicked(CombatSystem.Instance.CurrentCharacterTurn);
            return;

        case eTargetLimit.ONLY_ALLIES:
            SetTeamsEntityTargeteable(true, AllyTeamFrame);
            UnityEngine.EventSystems.EventSystem.current.SetSelectedGameObject(AllyTeamFrame.transform.GetChild(1).gameObject);
            break;

        case eTargetLimit.ONLY_ALIES_NO_SELF:
            SetTeamsEntityTargeteable(true, AllyTeamFrame);
            foreach (Transform eif in AllyTeamFrame.transform)
            {
                if ("CombatSystemEntityInformation" == eif.tag)
                {
                    EntityHelpFrameButton entityHelperScript = eif.GetComponent <EntityHelpFrameButton>();
                    if (entityHelperScript)
                    {
                        if (entityHelperScript.ThisEntity == CombatSystem.Instance.CurrentCharacterTurn)
                        {
                            entityHelperScript.gameObject.GetComponent <Button>().interactable = false;
                            break;
                        }
                    }
                }
            }
            break;

        case eTargetLimit.ONLY_ENEMIES:
            SetTeamsEntityTargeteable(true, EnemyTeamFrame);
            UnityEngine.EventSystems.EventSystem.current.SetSelectedGameObject(EnemyTeamFrame.transform.GetChild(1).gameObject);
            break;

        case eTargetLimit.ALL:
            SetAllEnityTargeteables(true);
            UnityEngine.EventSystems.EventSystem.current.SetSelectedGameObject(AllyTeamFrame.transform.GetChild(1).gameObject);
            break;

        case eTargetLimit.NO_TARGET:
            EntityClicked(null);
            return;
        }
    }
Exemplo n.º 2
0
 public void EnableTargetingForItem(eTargetLimit possible_targets, Action <Character, Character, Character[], Character[]> itemToUse)
 {
     m_ActiveItemToUse   = itemToUse;
     m_ActiveAttackUsage = null;
     SetTargeting(possible_targets);
 }
Exemplo n.º 3
0
 public void EnableTargetingForAttack(eTargetLimit possible_targets, Attack callback)
 {
     m_ActiveItemToUse   = null;
     m_ActiveAttackUsage = callback;
     SetTargeting(possible_targets);
 }