예제 #1
0
        private void CheckSearchArea(Skyvan skyvan)
        {
            var position  = skyvan.transform.position;
            var colliders = Physics2D.OverlapCircleAll(
                position, _searchRadius
                );

            foreach (var collider in colliders)
            {
                var target = collider.GetComponent <Goblin>();
                if (target != null && target.IsAlive)
                {
                    skyvan.Target = target.transform;
                    skyvan.StateMachine.MoveNext(Command.TargetFound);
                    break;
                }
                var item = collider.GetComponent <Item>();
                if (item != null)
                {
                    skyvan.Target = item.transform;
                    skyvan.StateMachine.MoveNext(Command.TargetFound);
                    break;
                }
            }
        }
예제 #2
0
 public override void Enter(Creature creature)
 {
     creature.Target    = null;
     _skyvan            = (Skyvan)creature;
     _currentKeyPointId = Random.Range(0, _keyPoints.Length);
     _skyvan.NavTileAgent.SetDestination(_destination);
 }
예제 #3
0
 public override void Enter(Creature creature)
 {
     _skyvan = (Skyvan)creature;
     _enemy  = _skyvan.Target.GetComponent <Goblin>();
     _skyvan.NavTileAgent.Speed *= _speedMultiplier;
     _skyvan.NavTileAgent.SetDestination(_escapePoint.Position);
 }
예제 #4
0
 public override void Enter(Creature creature)
 {
     _skyvan = (Skyvan)creature;
 }
예제 #5
0
 public override void Enter(Creature creature)
 {
     _skyvan      = (Skyvan)creature;
     _stealTarget = _skyvan.Target.GetComponent <Goblin>();
     _progress    = 0f;
 }
예제 #6
0
파일: Attack.cs 프로젝트: svnvav/ZPGSample
 public override void Enter(Creature goblin)
 {
     _goblin = (Goblin)goblin;
     _enemy  = _goblin.Target.GetComponent <Skyvan>();
     _goblin.Animator.Play("Attack");
 }