Example #1
0
        public override ICommand GetCommand(IControlledCharacter character)
        {
            var result = new DoNothing();

            result.SetDuration(30);

            return(result);
        }
Example #2
0
        public override void Finalize(IControlledCharacter character)
        {
            var manager = character.GetCharStateManager();

            manager.ChangeProperty(new Boredom {
                Value = BoredomEffect
            });
            manager.ChangeProperty(new Fatigue {
                Value = FatigueEffect
            });
        }
Example #3
0
        public override ICommand GetCommand(IControlledCharacter character)
        {
            var moveTarget = new Vector2();

            float randX = Random.Range(0, 3);

            moveTarget.x = randX < 2 ? 1f : -1f;

            float randY = Random.Range(0, 3);

            moveTarget.y = randY < 2 ? 1f : -1f;

            var result = new MoveOneCell();

            result.SetDirection(moveTarget);

            _isCompleted = true;

            return(result);
        }
Example #4
0
        public override void invokeOn(IControlledCharacter character)
        {
            if (_isInProgress)
            {
                character.ContinueMovement();
                return;
            }

            _character = character;

            var currentPosition = _character.GetPosition();

            _moveTarget = new Vector2 {
                x = currentPosition.x + _direction.x, y = currentPosition.y + _direction.y
            };

            _character.MoveTo(_moveTarget);
            _character.SetState(CharState.StateMoving);
            _isInProgress = true;
        }
Example #5
0
 public abstract void Finalize(IControlledCharacter character);
Example #6
0
 public abstract ICommand GetCommand(IControlledCharacter character);
Example #7
0
 public abstract void invokeOn(IControlledCharacter character);
Example #8
0
 public override void invokeOn(IControlledCharacter character)
 {
     _ticksLeft--;
 }