public override void OnLeave() { CombatManager.Instance.Attacker.UseAbility(); AttackersBC.isTrigger = false; DefendersBC.isTrigger = false; AttackersRB.isKinematic = false; DefendersRB.isKinematic = false; TweenCatcher.SetActive(false); HeroShelf.Show(); EnemyShelf.Show(); // TODO: Alert the TurnManager to check for end of turn instead of doing it in the combat manager? That way the tween will work effectively }
public override void OnEnter() { HeroShelf.Hide(); EnemyShelf.Hide(); TweenCatcher.SetActive(true); Attacker = CombatManager.Instance.Attacker.DiceObject.transform; Defender = CombatManager.Instance.Defender.DiceObject.transform; AttackersRB = Attacker.GetComponent <Rigidbody>(); DefendersRB = Defender.GetComponent <Rigidbody>(); AttackersBC = Attacker.GetComponent <BoxCollider>(); DefendersBC = Defender.GetComponent <BoxCollider>(); AttackersRB.isKinematic = true; DefendersRB.isKinematic = true; AttackersBC.isTrigger = true; DefendersBC.isTrigger = true; AttackersRest = Attacker.GetComponent <CheckForNonCollision>().RestPosition; DefendersRest = Defender.GetComponent <CheckForNonCollision>().RestPosition; if (Attacker.Equals(Defender)) { Attacker.DOMove(SinglePosition.position, .5f).OnComplete(HandleSelfHeal); } else if (CombatManager.Instance.Attacker.UpSide.Ability.TargetType == ETargetType.Enemy) { Attacker.DOMove(AttackerPosition.position, .5f); Defender.DOMove(DefenderPosition.position, .5f).OnComplete(StartAttack); } else { Attacker.DOMove(AttackerPosition.position, .5f); Defender.DOMove(DefenderPosition.position, .5f).OnComplete(StartHeal); } }