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; } } }
public override void Enter(Creature creature) { creature.Target = null; _skyvan = (Skyvan)creature; _currentKeyPointId = Random.Range(0, _keyPoints.Length); _skyvan.NavTileAgent.SetDestination(_destination); }
public override void Enter(Creature creature) { _skyvan = (Skyvan)creature; _enemy = _skyvan.Target.GetComponent <Goblin>(); _skyvan.NavTileAgent.Speed *= _speedMultiplier; _skyvan.NavTileAgent.SetDestination(_escapePoint.Position); }
public override void Enter(Creature creature) { _skyvan = (Skyvan)creature; }
public override void Enter(Creature creature) { _skyvan = (Skyvan)creature; _stealTarget = _skyvan.Target.GetComponent <Goblin>(); _progress = 0f; }
public override void Enter(Creature goblin) { _goblin = (Goblin)goblin; _enemy = _goblin.Target.GetComponent <Skyvan>(); _goblin.Animator.Play("Attack"); }