PlayerEntity.lua 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. local PlayerEntity = class("PlayerEntity", require("Entity"))
  2. local SyncPosIntervalTime = 0.3
  3. local SyncStayPosIntervalTime = 2
  4. function PlayerEntity:ctor(uid, pos, rot)
  5. self.moveState = 0
  6. self.moveSpeed = 0
  7. self.moveDir = Vector3.New()
  8. self.moveRot = Quaternion.identity
  9. end
  10. function PlayerEntity:Dispose()
  11. self.moveState = nil
  12. self.moveSpeed = nil
  13. self.moveDir = nil
  14. self.moveRot = nil
  15. PlayerEntity.super.Dispose(self)
  16. end
  17. function PlayerEntity:Update(deltaTime)
  18. self.view:SetPosition(self.pos)
  19. self.view:SetRotation(self.rot)
  20. self.view:SetMoveState(self.moveState)
  21. end
  22. function PlayerEntity:StopMove()
  23. self.moveState = 0
  24. self.moveSpeed = 0
  25. self.moveDir:Set(0, 0, 0)
  26. self.moveRot:SetIdentity()
  27. end
  28. function PlayerEntity:GetMoveSpeed(moveState)
  29. if moveState == 1 then
  30. return Constant.GuildLobby_WalkSpeed
  31. elseif moveState == 2 then
  32. return Constant.GuildLobby_RunSpeed
  33. else
  34. return 0
  35. end
  36. end
  37. function PlayerEntity:GetMoveStateBySpeed(moveSpeed)
  38. if moveSpeed <= 0 then
  39. return 0
  40. elseif moveSpeed <= Constant.GuildLobby_WalkSpeed then
  41. return 1
  42. else
  43. return 2
  44. end
  45. end
  46. function PlayerEntity:GetTurnSpeed()
  47. return Constant.GuildLobby_TurnSpeed
  48. end
  49. function PlayerEntity:GetSyncPosIntervalTime()
  50. return SyncPosIntervalTime
  51. end
  52. function PlayerEntity:GetSyncStayPosIntervalTime()
  53. return SyncStayPosIntervalTime
  54. end
  55. function PlayerEntity:ForceRefreshGenerateView()
  56. self.view:ForceRefreshGenerateView()
  57. end
  58. return PlayerEntity