예제 #1
0
 private void Awake()
 {
     EventsManager.TriggerEvent("SuscribeToUpdateManager", this);
     _view       = new LaserEnemyView();
     _model      = new LaserEnemyModel(_view, transform, FindObjectOfType <NodesList>().GetNodes(), speed, patrolWaypoints, patrolStateLoop, FindObjectOfType <Player>().transform, distanceToPlayer, laserAttack, castPoint, this);
     _controller = new LaserEnemyController(_model);
 }
예제 #2
0
 public LaserEnemyModel(LaserEnemyView view, Transform owner, List <ANode> availableNodes, float speed, List <Transform> patrolWaypoints, bool patrolLoop, Transform objective, float distArroundPlayer, Laser attack, Transform castPoint, LaserEnemy entity)
 {
     _view         = view;
     _stateMachine = new StateMachineClassic();
     _stateMachine.AddState(new MyPatrolState(_stateMachine, owner, speed, patrolWaypoints, patrolLoop));
     _stateMachine.AddState(new MoveNearObjective(_stateMachine, availableNodes, owner, objective, distArroundPlayer, speed));
     _stateMachine.AddState(new ChargeAttack(_stateMachine, attack, owner, objective, castPoint, entity));
 }