public void CollapseTarget(BattleUnitBase _target) { if (_target.IsDead) { _target.GetComponentInChildren <AddRigidBodyToChildren>().ActivateCollapse(); } }
public void ActTarget() { bsMachine.TransitionToState(BattleStateMachine.MenuState.Attacking); if (!HighlightAll && !HighlightEnemies && !HighlightTeam) { foreach (UnitSlot unit in unitSlots) { if (unit.IsHighlighted) { CurrentAbility = Instantiate(CurrentAbility); _battleSystem.GetUnitTurn().AbilityInUse = CurrentAbility; if (CurrentAbility.GetComponent <BaseAbility>() != null) { CurrentAbility.GetComponent <BaseAbility>().Act(unit.GetUnit().gameObject); } } } } else { CurrentAbility = Instantiate(CurrentAbility); _battleSystem.GetUnitTurn().AbilityInUse = CurrentAbility; BattleUnitBase[] targets = new BattleUnitBase[unitSlots.Length]; var index = 0; for (int u = 0; u < unitSlots.Length; u++) { if (unitSlots[u].IsHighlighted) { targets[index] = unitSlots[u].GetUnit(); index++; } } if (CurrentAbility.GetComponent <BaseAbility>() != null) { CurrentAbility.GetComponent <BaseAbility>().SetTargetList(targets); CurrentAbility.GetComponent <BaseAbility>().Act(); } } _battleSystem.GetUnitTurn().CombatValues.UseMana(CurrentAbility.GetComponent <BaseAbility>().ManaCost); Reset(); }
public virtual void Act(GameObject go = null) { Attacker = FindObjectOfType <BattleSystem_v2>().GetUnitTurn(); var isPlayer = Attacker.GetComponent <BattleUnitPlayer>(); if (isPlayer != null) { if (attackType == ItemWeapon.WeaponType.Slash) { damage = isPlayer.SlashWeapon.damage; } else { damage = isPlayer.CrushWeapon.damage; } } else { damage = Attacker.CombatValues.CurrentAP; } Target = go.GetComponent <BattleUnitBase>(); battleUnitAnimator = Attacker.GetComponent <Animator>(); }
public void SetUnit(BattleUnitBase unit) { _unit = Instantiate(unit, transform.position + SpawnOffset, transform.rotation, transform); _unit.isDoneForTurn = _unit is BattleUnitEnemy; }