Example #1
0
    public void DefaultAction(PointerEventData pointerEventData, GameObject interactingObject, string interactingObjectType)
    {
        switch (interactingObjectType)
        {
        case "Ground":
            attackTarget = null;
            target       = WorldController_.GetMouseWorldPosition();
            break;

        case "Item":
            attackTarget = null;
            StoreItem(interactingObject.GetComponent <Item_>());
            break;

        case "Tree":
            attackTarget = null;
            break;

        case "NPC":
            attackTarget = interactingObject;
            Attack(attackTarget.GetComponent <Unit_>());
            break;

        default:
            break;
        }
    }
Example #2
0
 public void Attack(Unit_ unit)
 {
     if (stats_.hp >= 0)
     {
         attackTarget = unit.gameObject;
         if (WorldController_.DistanceBetween(owner.transform.position, unit.transform.position) < 0.5)
         {
             LookAt(unit.transform.position);
             GetUnitAnimator().SetTrigger("isAttacking");
             GetEquippedItemAnimators().ForEach(t => t.SetTrigger("isAttacking"));
             SyncAnimators();
         }
         else
         {
             StartCoroutine(RefreshTargetEvery());
         }
     }
 }
 public override IEnumerator RefreshTargetEvery()
 {
     while (true)
     {
         if (attackTarget != null)
         {
             targetAttackDistance = WorldController_.DistanceBetween(owner.transform.position, attackTarget.transform.position);
             if (targetAttackDistance <= visualPerception_.visualDistance && stats_.hp > 0)
             {
                 target = attackTarget.transform.position;
             }
             else
             {
                 attackTarget = null;
             }
         }
         yield return(new WaitForSeconds(0.1f));
     }
 }
Example #4
0
 public bool IsTargetReached()
 {
     return((WorldController_.DistanceBetween(target, unitRigidBody2D.position) < 0.4) ? true : false);
 }