예제 #1
0
 private void _Done(IBehaviorCommand command)
 {
     var cmd = command as BehaviorCommand.Injury;
     if (cmd != null)
     {
         DoneEvent(cmd);
     }
 }
예제 #2
0
 private void _Done(IBehaviorCommand command)
 {
     var move = command as BehaviorCommand.Move;
     if (move != null)
     {
         MoveEvent(move.Direction, move.Time);
     }
 }
예제 #3
0
 private void _Done(IBehaviorCommand command)
 {
     var skill = command as Regulus.Project.SamebestKeys.BehaviorCommand.Skill;
     if (skill != null)
     {
         var abiliry = _Entity.FindAbility<IActorPropertyAbility>();
         if (abiliry.HasSkill(skill.Id))
         {
             SkillEvent(skill.Id);
         }
     }
 }
예제 #4
0
 void IBehaviorCommandAbility.Invoke(IBehaviorCommand command)
 {
     if (_CommandEvent != null)
         _CommandEvent(command);
 }
예제 #5
0
 private void _Done(IBehaviorCommand command)
 {
     var cmd = command as BehaviorCommand.Stop;
     if (cmd != null)
     {
         DoneEvent();
     }
 }
예제 #6
0
 public MovementDirectionEnum GetSelectedMovement(BeeEnvironmentBehaviorEnum selectedBehavior, Point? hunterLocationPoint = null, Point? targetLocationPoint = null)
 {
     IBehaviorCommand behaviorCommand = _movementBehaviorCommandInvoker.GetSelectedBehavioralMovement(selectedBehavior);
     MovementDirectionEnum selectedMovement = behaviorCommand.Execute(hunterLocationPoint, targetLocationPoint);
     return selectedMovement;
 }
예제 #7
0
 private void _Injury(IBehaviorCommand command)
 {
     var injury = command as BehaviorCommand.Injury;
     if (injury != null)
     {
         var actor = _Entity.FindAbility<IActorPropertyAbility>();
         CastStep result =  actor.QueryCastStep(_Skill);
         if (result != CastStep.Effective)
         {
             DoneEvent(injury);
         }
     }
 }