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);
        }
    }