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; } }
public void EnableTargetingForItem(eTargetLimit possible_targets, Action <Character, Character, Character[], Character[]> itemToUse) { m_ActiveItemToUse = itemToUse; m_ActiveAttackUsage = null; SetTargeting(possible_targets); }
public void EnableTargetingForAttack(eTargetLimit possible_targets, Attack callback) { m_ActiveItemToUse = null; m_ActiveAttackUsage = callback; SetTargeting(possible_targets); }