Пример #1
0
 public void OnJump(object sender, CharacterArgs e)
 {
     if (e.jumpEnd)
     {
         view.GetRigidBody().AddForce(new Vector2(0f, model.JumpHeight), ForceMode2D.Impulse);
     }
 }
 private void Awake()
 {
     args           = new CharacterArgs();
     presenter      = new CharacterControllerPresenter(this, 10f, 10f);
     Move          += presenter.OnMove;
     MoveDirection += presenter.GetMoveDirection;
     Jump          += presenter.OnJump;
     Jump          += presenter.OnJumpStart;
     JumpEnd       += presenter.OnJumpEnd;
     SprintStart   += presenter.OnSprintStart;
     SprintEnd     += presenter.OnSprintEnd;
 }
Пример #3
0
 public void OnSprintEnd(object sender, CharacterArgs e)
 {
     speedMultiplier = 1;
 }
Пример #4
0
 public void OnSprintStart(object sender, CharacterArgs e)
 {
     speedMultiplier = 4;
 }
Пример #5
0
 public void OnJumpStart(object sender, CharacterArgs e)
 {
     e.jumpEnd = false;
 }
Пример #6
0
 public void OnJumpEnd(object sender, CharacterArgs e)
 {
     e.jumpEnd = true;
 }
Пример #7
0
 public void GetMoveDirection(object sender, CharacterArgs e)
 {
     e.moveDirection = new Vector2(Input.GetAxis("Horizontal"), 0f);
 }
Пример #8
0
 public void OnMove(object sender, CharacterArgs e)
 {
     view.GetRigidBody().AddForce(e.moveDirection * model.MoveSpeed * speedMultiplier);
 }