cgserver 7.8.2113 → 7.10.2113

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/dist/lib/{AI → Framework/AI}/BehaviorAI.js +1 -1
  2. package/dist/lib/{index.js → Framework/index.js} +5 -2
  3. package/dist/lib/test/test.js +21 -0
  4. package/dist/types/{index.d.ts → Framework/index.d.ts} +1 -1
  5. package/dist/types/test/test.d.ts +1 -0
  6. package/package.json +1 -1
  7. package/src/Framework/AI/AiObject.ts +12 -0
  8. package/src/Framework/AI/Astar.ts +157 -0
  9. package/src/Framework/AI/BehaviorAI.ts +382 -0
  10. package/src/Framework/AI/Entity.ts +37 -0
  11. package/src/Framework/AI/Point.ts +84 -0
  12. package/src/Framework/AI/TriggerMgr.ts +280 -0
  13. package/src/Framework/Config/Config.ts +61 -0
  14. package/src/Framework/Config/FrameworkConfig.ts +286 -0
  15. package/src/Framework/Config/IServerConfig.ts +28 -0
  16. package/src/Framework/Config/_error_.ts +32 -0
  17. package/src/Framework/Core/Core.ts +810 -0
  18. package/src/Framework/Core/Timer.ts +147 -0
  19. package/src/Framework/Database/Decorator/AutoIncrement.ts +9 -0
  20. package/src/Framework/Database/Decorator/DBCache.ts +74 -0
  21. package/src/Framework/Database/Decorator/NotNull.ts +9 -0
  22. package/src/Framework/Database/Decorator/PrimaryKey.ts +9 -0
  23. package/src/Framework/Database/Decorator/Property.ts +64 -0
  24. package/src/Framework/Database/Decorator/Table.ts +13 -0
  25. package/src/Framework/Database/Decorator/Type.ts +21 -0
  26. package/src/Framework/Database/MSSqlManager.ts +52 -0
  27. package/src/Framework/Database/MongoBaseService.ts +136 -0
  28. package/src/Framework/Database/MongoManager.ts +501 -0
  29. package/src/Framework/Database/MysqlBaseService.ts +345 -0
  30. package/src/Framework/Database/MysqlManager.ts +212 -0
  31. package/src/Framework/Database/RedisManager.ts +544 -0
  32. package/src/Framework/Logic/CacheTool.ts +85 -0
  33. package/src/Framework/Logic/EventTool.ts +31 -0
  34. package/src/Framework/Logic/HttpTool.ts +82 -0
  35. package/src/Framework/Logic/Log.ts +171 -0
  36. package/src/Framework/Logic/SyncQueueTool.ts +51 -0
  37. package/src/Framework/Service/AccountService.ts +508 -0
  38. package/src/Framework/Service/MongoAccountService.ts +456 -0
  39. package/src/Framework/Service/MongoCacheService.ts +48 -0
  40. package/src/Framework/Service/MongoUserService.ts +103 -0
  41. package/src/Framework/Service/UserService.ts +168 -0
  42. package/src/Framework/Service/ini.ts +33 -0
  43. package/src/Framework/SocketServer/IClientWebSocket.ts +50 -0
  44. package/src/Framework/SocketServer/IRpc.ts +12 -0
  45. package/src/Framework/SocketServer/IRpcClientWebSocket.ts +75 -0
  46. package/src/Framework/SocketServer/IRpcServerWebSocket.ts +76 -0
  47. package/src/Framework/SocketServer/IServerWebSocket.ts +88 -0
  48. package/src/Framework/SocketServer/ISocketServer.ts +243 -0
  49. package/src/Framework/SocketServer/IWebSocket.ts +243 -0
  50. package/src/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.ts +68 -0
  51. package/src/Framework/SocketServer/ProtoFilter/IProtoFilter.ts +11 -0
  52. package/src/Framework/SocketServer/ProtoFilter/JsonProtoFilter.ts +34 -0
  53. package/src/Framework/SocketServer/ProtoFilter/ProtoFactory.ts +34 -0
  54. package/src/Framework/ThirdParty/AlipayTool.ts +224 -0
  55. package/src/Framework/ThirdParty/Alisms.ts +53 -0
  56. package/src/Framework/ThirdParty/AppleTool.ts +252 -0
  57. package/src/Framework/ThirdParty/CgMq.ts +153 -0
  58. package/src/Framework/ThirdParty/EmailTool.ts +37 -0
  59. package/src/Framework/ThirdParty/OpenSocial.ts +36 -0
  60. package/src/Framework/ThirdParty/QQTool.ts +124 -0
  61. package/src/Framework/ThirdParty/QiniuTool.ts +23 -0
  62. package/src/Framework/ThirdParty/Rpc.ts +75 -0
  63. package/src/Framework/ThirdParty/WechatOATool.ts +61 -0
  64. package/src/Framework/ThirdParty/WechatTool.ts +80 -0
  65. package/src/Framework/WebServer/Controller/BaseController.ts +140 -0
  66. package/src/Framework/WebServer/Controller/BaseUserController.ts +209 -0
  67. package/src/Framework/WebServer/Controller/MongoBaseUserController.ts +209 -0
  68. package/src/Framework/WebServer/Decorator/AdminValidate.ts +19 -0
  69. package/src/Framework/WebServer/Decorator/AuthorityValidate.ts +25 -0
  70. package/src/Framework/WebServer/Decorator/CreatorValidate.ts +19 -0
  71. package/src/Framework/WebServer/Decorator/JsonAdminValidate.ts +16 -0
  72. package/src/Framework/WebServer/Decorator/JsonAuthorityValidate.d.ts +2 -0
  73. package/src/Framework/WebServer/Decorator/JsonAuthorityValidate.ts +23 -0
  74. package/src/Framework/WebServer/Decorator/JsonCreatorValidate.ts +19 -0
  75. package/src/Framework/WebServer/Decorator/SyncCall.ts +20 -0
  76. package/src/Framework/WebServer/Decorator/SyncCallServer.ts +45 -0
  77. package/src/Framework/WebServer/Engine/ControllerManager.ts +134 -0
  78. package/src/Framework/WebServer/Engine/Engine.ts +186 -0
  79. package/src/Framework/WebServer/Engine/RazorJs.ts +720 -0
  80. package/src/Framework/WebServer/Engine/Request.ts +267 -0
  81. package/src/Framework/WebServer/Engine/Response.ts +123 -0
  82. package/src/Framework/WebServer/IWebServer.ts +61 -0
  83. package/src/Framework/cgserver.ts +112 -0
  84. package/src/Framework/index.ts +92 -0
  85. package/src/test/test.ts +12 -0
  86. /package/dist/lib/{AI → Framework/AI}/AiObject.js +0 -0
  87. /package/dist/lib/{AI → Framework/AI}/Astar.js +0 -0
  88. /package/dist/lib/{AI → Framework/AI}/Entity.js +0 -0
  89. /package/dist/lib/{AI → Framework/AI}/Point.js +0 -0
  90. /package/dist/lib/{AI → Framework/AI}/TriggerMgr.js +0 -0
  91. /package/dist/lib/{Config → Framework/Config}/Config.js +0 -0
  92. /package/dist/lib/{Config → Framework/Config}/FrameworkConfig.js +0 -0
  93. /package/dist/lib/{Config → Framework/Config}/IServerConfig.js +0 -0
  94. /package/dist/lib/{Config → Framework/Config}/_error_.js +0 -0
  95. /package/dist/lib/{Core → Framework/Core}/Core.js +0 -0
  96. /package/dist/lib/{Core → Framework/Core}/Timer.js +0 -0
  97. /package/dist/lib/{Database → Framework/Database}/Decorator/AutoIncrement.js +0 -0
  98. /package/dist/lib/{Database → Framework/Database}/Decorator/DBCache.js +0 -0
  99. /package/dist/lib/{Database → Framework/Database}/Decorator/NotNull.js +0 -0
  100. /package/dist/lib/{Database → Framework/Database}/Decorator/PrimaryKey.js +0 -0
  101. /package/dist/lib/{Database → Framework/Database}/Decorator/Property.js +0 -0
  102. /package/dist/lib/{Database → Framework/Database}/Decorator/Table.js +0 -0
  103. /package/dist/lib/{Database → Framework/Database}/Decorator/Type.js +0 -0
  104. /package/dist/lib/{Database → Framework/Database}/MSSqlManager.js +0 -0
  105. /package/dist/lib/{Database → Framework/Database}/MongoBaseService.js +0 -0
  106. /package/dist/lib/{Database → Framework/Database}/MongoManager.js +0 -0
  107. /package/dist/lib/{Database → Framework/Database}/MysqlBaseService.js +0 -0
  108. /package/dist/lib/{Database → Framework/Database}/MysqlManager.js +0 -0
  109. /package/dist/lib/{Database → Framework/Database}/RedisManager.js +0 -0
  110. /package/dist/lib/{Logic → Framework/Logic}/CacheTool.js +0 -0
  111. /package/dist/lib/{Logic → Framework/Logic}/EventTool.js +0 -0
  112. /package/dist/lib/{Logic → Framework/Logic}/HttpTool.js +0 -0
  113. /package/dist/lib/{Logic → Framework/Logic}/Log.js +0 -0
  114. /package/dist/lib/{Logic → Framework/Logic}/SyncQueueTool.js +0 -0
  115. /package/dist/lib/{Service → Framework/Service}/AccountService.js +0 -0
  116. /package/dist/lib/{Service → Framework/Service}/MongoAccountService.js +0 -0
  117. /package/dist/lib/{Service → Framework/Service}/MongoCacheService.js +0 -0
  118. /package/dist/lib/{Service → Framework/Service}/MongoUserService.js +0 -0
  119. /package/dist/lib/{Service → Framework/Service}/UserService.js +0 -0
  120. /package/dist/lib/{Service → Framework/Service}/ini.js +0 -0
  121. /package/dist/lib/{SocketServer → Framework/SocketServer}/IClientWebSocket.js +0 -0
  122. /package/dist/lib/{SocketServer → Framework/SocketServer}/IRpc.js +0 -0
  123. /package/dist/lib/{SocketServer → Framework/SocketServer}/IRpcClientWebSocket.js +0 -0
  124. /package/dist/lib/{SocketServer → Framework/SocketServer}/IRpcServerWebSocket.js +0 -0
  125. /package/dist/lib/{SocketServer → Framework/SocketServer}/IServerWebSocket.js +0 -0
  126. /package/dist/lib/{SocketServer → Framework/SocketServer}/ISocketServer.js +0 -0
  127. /package/dist/lib/{SocketServer → Framework/SocketServer}/IWebSocket.js +0 -0
  128. /package/dist/lib/{SocketServer → Framework/SocketServer}/ProtoFilter/GoogleProtoFilter.js +0 -0
  129. /package/dist/lib/{SocketServer → Framework/SocketServer}/ProtoFilter/IProtoFilter.js +0 -0
  130. /package/dist/lib/{SocketServer → Framework/SocketServer}/ProtoFilter/JsonProtoFilter.js +0 -0
  131. /package/dist/lib/{SocketServer → Framework/SocketServer}/ProtoFilter/ProtoFactory.js +0 -0
  132. /package/dist/lib/{ThirdParty → Framework/ThirdParty}/AlipayTool.js +0 -0
  133. /package/dist/lib/{ThirdParty → Framework/ThirdParty}/Alisms.js +0 -0
  134. /package/dist/lib/{ThirdParty → Framework/ThirdParty}/AppleTool.js +0 -0
  135. /package/dist/lib/{ThirdParty → Framework/ThirdParty}/CgMq.js +0 -0
  136. /package/dist/lib/{ThirdParty → Framework/ThirdParty}/EmailTool.js +0 -0
  137. /package/dist/lib/{ThirdParty → Framework/ThirdParty}/OpenSocial.js +0 -0
  138. /package/dist/lib/{ThirdParty → Framework/ThirdParty}/QQTool.js +0 -0
  139. /package/dist/lib/{ThirdParty → Framework/ThirdParty}/QiniuTool.js +0 -0
  140. /package/dist/lib/{ThirdParty → Framework/ThirdParty}/Rpc.js +0 -0
  141. /package/dist/lib/{ThirdParty → Framework/ThirdParty}/WechatOATool.js +0 -0
  142. /package/dist/lib/{ThirdParty → Framework/ThirdParty}/WechatTool.js +0 -0
  143. /package/dist/lib/{WebServer → Framework/WebServer}/Controller/BaseController.js +0 -0
  144. /package/dist/lib/{WebServer → Framework/WebServer}/Controller/BaseUserController.js +0 -0
  145. /package/dist/lib/{WebServer → Framework/WebServer}/Controller/MongoBaseUserController.js +0 -0
  146. /package/dist/lib/{WebServer → Framework/WebServer}/Decorator/AdminValidate.js +0 -0
  147. /package/dist/lib/{WebServer → Framework/WebServer}/Decorator/AuthorityValidate.js +0 -0
  148. /package/dist/lib/{WebServer → Framework/WebServer}/Decorator/CreatorValidate.js +0 -0
  149. /package/dist/lib/{WebServer → Framework/WebServer}/Decorator/JsonAdminValidate.js +0 -0
  150. /package/dist/lib/{WebServer → Framework/WebServer}/Decorator/JsonAuthorityValidate.js +0 -0
  151. /package/dist/lib/{WebServer → Framework/WebServer}/Decorator/JsonCreatorValidate.js +0 -0
  152. /package/dist/lib/{WebServer → Framework/WebServer}/Decorator/SyncCall.js +0 -0
  153. /package/dist/lib/{WebServer → Framework/WebServer}/Decorator/SyncCallServer.js +0 -0
  154. /package/dist/lib/{WebServer → Framework/WebServer}/Engine/ControllerManager.js +0 -0
  155. /package/dist/lib/{WebServer → Framework/WebServer}/Engine/Engine.js +0 -0
  156. /package/dist/lib/{WebServer → Framework/WebServer}/Engine/RazorJs.js +0 -0
  157. /package/dist/lib/{WebServer → Framework/WebServer}/Engine/Request.js +0 -0
  158. /package/dist/lib/{WebServer → Framework/WebServer}/Engine/Response.js +0 -0
  159. /package/dist/lib/{WebServer → Framework/WebServer}/IWebServer.js +0 -0
  160. /package/dist/lib/{cgserver.js → Framework/cgserver.js} +0 -0
  161. /package/dist/types/{AI → Framework/AI}/AiObject.d.ts +0 -0
  162. /package/dist/types/{AI → Framework/AI}/Astar.d.ts +0 -0
  163. /package/dist/types/{AI → Framework/AI}/BehaviorAI.d.ts +0 -0
  164. /package/dist/types/{AI → Framework/AI}/Entity.d.ts +0 -0
  165. /package/dist/types/{AI → Framework/AI}/Point.d.ts +0 -0
  166. /package/dist/types/{AI → Framework/AI}/TriggerMgr.d.ts +0 -0
  167. /package/dist/types/{Config → Framework/Config}/Config.d.ts +0 -0
  168. /package/dist/types/{Config → Framework/Config}/FrameworkConfig.d.ts +0 -0
  169. /package/dist/types/{Config → Framework/Config}/IServerConfig.d.ts +0 -0
  170. /package/dist/types/{Config → Framework/Config}/_error_.d.ts +0 -0
  171. /package/dist/types/{Core → Framework/Core}/Core.d.ts +0 -0
  172. /package/dist/types/{Core → Framework/Core}/Timer.d.ts +0 -0
  173. /package/dist/types/{Database → Framework/Database}/Decorator/AutoIncrement.d.ts +0 -0
  174. /package/dist/types/{Database → Framework/Database}/Decorator/DBCache.d.ts +0 -0
  175. /package/dist/types/{Database → Framework/Database}/Decorator/NotNull.d.ts +0 -0
  176. /package/dist/types/{Database → Framework/Database}/Decorator/PrimaryKey.d.ts +0 -0
  177. /package/dist/types/{Database → Framework/Database}/Decorator/Property.d.ts +0 -0
  178. /package/dist/types/{Database → Framework/Database}/Decorator/Table.d.ts +0 -0
  179. /package/dist/types/{Database → Framework/Database}/Decorator/Type.d.ts +0 -0
  180. /package/dist/types/{Database → Framework/Database}/MSSqlManager.d.ts +0 -0
  181. /package/dist/types/{Database → Framework/Database}/MongoBaseService.d.ts +0 -0
  182. /package/dist/types/{Database → Framework/Database}/MongoManager.d.ts +0 -0
  183. /package/dist/types/{Database → Framework/Database}/MysqlBaseService.d.ts +0 -0
  184. /package/dist/types/{Database → Framework/Database}/MysqlManager.d.ts +0 -0
  185. /package/dist/types/{Database → Framework/Database}/RedisManager.d.ts +0 -0
  186. /package/dist/types/{Logic → Framework/Logic}/CacheTool.d.ts +0 -0
  187. /package/dist/types/{Logic → Framework/Logic}/EventTool.d.ts +0 -0
  188. /package/dist/types/{Logic → Framework/Logic}/HttpTool.d.ts +0 -0
  189. /package/dist/types/{Logic → Framework/Logic}/Log.d.ts +0 -0
  190. /package/dist/types/{Logic → Framework/Logic}/SyncQueueTool.d.ts +0 -0
  191. /package/dist/types/{Service → Framework/Service}/AccountService.d.ts +0 -0
  192. /package/dist/types/{Service → Framework/Service}/MongoAccountService.d.ts +0 -0
  193. /package/dist/types/{Service → Framework/Service}/MongoCacheService.d.ts +0 -0
  194. /package/dist/types/{Service → Framework/Service}/MongoUserService.d.ts +0 -0
  195. /package/dist/types/{Service → Framework/Service}/UserService.d.ts +0 -0
  196. /package/dist/types/{Service → Framework/Service}/ini.d.ts +0 -0
  197. /package/dist/types/{SocketServer → Framework/SocketServer}/IClientWebSocket.d.ts +0 -0
  198. /package/dist/types/{SocketServer → Framework/SocketServer}/IRpc.d.ts +0 -0
  199. /package/dist/types/{SocketServer → Framework/SocketServer}/IRpcClientWebSocket.d.ts +0 -0
  200. /package/dist/types/{SocketServer → Framework/SocketServer}/IRpcServerWebSocket.d.ts +0 -0
  201. /package/dist/types/{SocketServer → Framework/SocketServer}/IServerWebSocket.d.ts +0 -0
  202. /package/dist/types/{SocketServer → Framework/SocketServer}/ISocketServer.d.ts +0 -0
  203. /package/dist/types/{SocketServer → Framework/SocketServer}/IWebSocket.d.ts +0 -0
  204. /package/dist/types/{SocketServer → Framework/SocketServer}/ProtoFilter/GoogleProtoFilter.d.ts +0 -0
  205. /package/dist/types/{SocketServer → Framework/SocketServer}/ProtoFilter/IProtoFilter.d.ts +0 -0
  206. /package/dist/types/{SocketServer → Framework/SocketServer}/ProtoFilter/JsonProtoFilter.d.ts +0 -0
  207. /package/dist/types/{SocketServer → Framework/SocketServer}/ProtoFilter/ProtoFactory.d.ts +0 -0
  208. /package/dist/types/{ThirdParty → Framework/ThirdParty}/AlipayTool.d.ts +0 -0
  209. /package/dist/types/{ThirdParty → Framework/ThirdParty}/Alisms.d.ts +0 -0
  210. /package/dist/types/{ThirdParty → Framework/ThirdParty}/AppleTool.d.ts +0 -0
  211. /package/dist/types/{ThirdParty → Framework/ThirdParty}/CgMq.d.ts +0 -0
  212. /package/dist/types/{ThirdParty → Framework/ThirdParty}/EmailTool.d.ts +0 -0
  213. /package/dist/types/{ThirdParty → Framework/ThirdParty}/OpenSocial.d.ts +0 -0
  214. /package/dist/types/{ThirdParty → Framework/ThirdParty}/QQTool.d.ts +0 -0
  215. /package/dist/types/{ThirdParty → Framework/ThirdParty}/QiniuTool.d.ts +0 -0
  216. /package/dist/types/{ThirdParty → Framework/ThirdParty}/Rpc.d.ts +0 -0
  217. /package/dist/types/{ThirdParty → Framework/ThirdParty}/WechatOATool.d.ts +0 -0
  218. /package/dist/types/{ThirdParty → Framework/ThirdParty}/WechatTool.d.ts +0 -0
  219. /package/dist/types/{WebServer → Framework/WebServer}/Controller/BaseController.d.ts +0 -0
  220. /package/dist/types/{WebServer → Framework/WebServer}/Controller/BaseUserController.d.ts +0 -0
  221. /package/dist/types/{WebServer → Framework/WebServer}/Controller/MongoBaseUserController.d.ts +0 -0
  222. /package/dist/types/{WebServer → Framework/WebServer}/Decorator/AdminValidate.d.ts +0 -0
  223. /package/dist/types/{WebServer → Framework/WebServer}/Decorator/AuthorityValidate.d.ts +0 -0
  224. /package/dist/types/{WebServer → Framework/WebServer}/Decorator/CreatorValidate.d.ts +0 -0
  225. /package/dist/types/{WebServer → Framework/WebServer}/Decorator/JsonAdminValidate.d.ts +0 -0
  226. /package/dist/types/{WebServer → Framework/WebServer}/Decorator/JsonAuthorityValidate.d.ts +0 -0
  227. /package/dist/types/{WebServer → Framework/WebServer}/Decorator/JsonCreatorValidate.d.ts +0 -0
  228. /package/dist/types/{WebServer → Framework/WebServer}/Decorator/SyncCall.d.ts +0 -0
  229. /package/dist/types/{WebServer → Framework/WebServer}/Decorator/SyncCallServer.d.ts +0 -0
  230. /package/dist/types/{WebServer → Framework/WebServer}/Engine/ControllerManager.d.ts +0 -0
  231. /package/dist/types/{WebServer → Framework/WebServer}/Engine/Engine.d.ts +0 -0
  232. /package/dist/types/{WebServer → Framework/WebServer}/Engine/RazorJs.d.ts +0 -0
  233. /package/dist/types/{WebServer → Framework/WebServer}/Engine/Request.d.ts +0 -0
  234. /package/dist/types/{WebServer → Framework/WebServer}/Engine/Response.d.ts +0 -0
  235. /package/dist/types/{WebServer → Framework/WebServer}/IWebServer.d.ts +0 -0
  236. /package/dist/types/{cgserver.d.ts → Framework/cgserver.d.ts} +0 -0
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BehaviorAI = void 0;
4
4
  const Log_1 = require("./../Logic/Log");
5
- const Core_1 = require("./../Core/Core");
5
+ const Core_1 = require("../Core/Core");
6
6
  const _ = require("underscore");
7
7
  const TriggerMgr_1 = require("./TriggerMgr");
8
8
  class BehaviorAI {
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GoogleProtoFilter = exports.MongoCacheModel = exports.GMongoCacheSer = exports.MongoUserModel = exports.MysqlUserModel = exports.MongoUserService = exports.MysqlUserService = exports.GMongoAccountSer = exports.MongoAccountService = exports.GMysqlAccountSer = exports.MysqlAccountService = exports.EAccountFrom = exports.EUserState = exports.ERoleGroup = exports.GLog = exports.GHttpTool = exports.GCacheTool = exports.RedisManager = exports.GRedisMgr = exports.GMysqlMgr = exports.MysqlBaseService = exports.GMSSqlMgr = exports.GMongoMgr = exports.MongoBaseModel = exports.MysqlBaseModel = exports.MongoBaseService = exports.EPropertyType = exports.Type = exports.Table = exports.Property = exports.PrimaryKey = exports.NotNull = exports.AutoIncrement = exports.Timer = exports.core = exports.GServerCfg = exports.IServerConfig = exports.FrameworkConfig = exports.Config = exports.FrameworkErrorCode = exports.GTriggerMgr = exports.Trigger = exports.Point = exports.Entity = exports.BehaviorAI = exports.AStar = exports.AiObject = exports.GDBCache = exports.GProtoFactory = exports.GCgServer = void 0;
4
- exports.SyncCallServer = exports.SyncCall = exports.IRpcClientWebSocket = exports.IRpcServerWebSocket = exports.CgMqConfig = exports.CgMq = exports.RpcConfig = exports.Rpc = exports.RpcBaseMsg = exports.EAccountState = exports.GEventTool = exports.GSyncQueueTool = exports.WebServerConfig = exports.Response = exports.Request = exports.RazorJs = exports.Engine = exports.GCtrMgr = exports.JsonCreatorValidate = exports.JsonAuthorityValidate = exports.JsonAdminValidate = exports.CreatorValidate = exports.AuthorityValidate = exports.AdminValidate = exports.MongoAccountModel = exports.MysqlAccountModel = exports.MongoBaseUserController = exports.BaseUserController = exports.BaseController = exports.IWebServer = exports.GWechatTool = exports.GWechatOATool = exports.GQQTool = exports.GQiniuTool = exports.GOpenSocial = exports.GEmailTool = exports.GAppleTool = exports.GSmsTool = exports.GAlipayTool = exports.BaseMsg = exports.IWebSocket = exports.ISocketServer = exports.IClientWebSocket = exports.IServerWebSocket = exports.JsonProtoFilter = void 0;
3
+ exports.MongoUserModel = exports.MysqlUserModel = exports.MongoUserService = exports.MysqlUserService = exports.GMongoAccountSer = exports.MongoAccountService = exports.GMysqlAccountSer = exports.MysqlAccountService = exports.EAccountFrom = exports.EUserState = exports.ERoleGroup = exports.GLog = exports.GHttpTool = exports.GCacheTool = exports.RedisManager = exports.GRedisMgr = exports.SqlReturns = exports.SqlReturn = exports.SqlResult = exports.GMysqlMgr = exports.MysqlBaseService = exports.GMSSqlMgr = exports.GMongoMgr = exports.MongoBaseModel = exports.MysqlBaseModel = exports.MongoBaseService = exports.EPropertyType = exports.Type = exports.Table = exports.Property = exports.PrimaryKey = exports.NotNull = exports.AutoIncrement = exports.Timer = exports.core = exports.GServerCfg = exports.IServerConfig = exports.FrameworkConfig = exports.Config = exports.FrameworkErrorCode = exports.GTriggerMgr = exports.Trigger = exports.Point = exports.Entity = exports.BehaviorAI = exports.AStar = exports.AiObject = exports.GDBCache = exports.GProtoFactory = exports.GCgServer = void 0;
4
+ exports.SyncCallServer = exports.SyncCall = exports.IRpcClientWebSocket = exports.IRpcServerWebSocket = exports.CgMqConfig = exports.CgMq = exports.RpcConfig = exports.Rpc = exports.RpcBaseMsg = exports.EAccountState = exports.GEventTool = exports.GSyncQueueTool = exports.WebServerConfig = exports.Response = exports.Request = exports.RazorJs = exports.Engine = exports.GCtrMgr = exports.JsonCreatorValidate = exports.JsonAuthorityValidate = exports.JsonAdminValidate = exports.CreatorValidate = exports.AuthorityValidate = exports.AdminValidate = exports.MongoAccountModel = exports.MysqlAccountModel = exports.MongoBaseUserController = exports.BaseUserController = exports.BaseController = exports.IWebServer = exports.GWechatTool = exports.GWechatOATool = exports.GQQTool = exports.GQiniuTool = exports.GOpenSocial = exports.GEmailTool = exports.GAppleTool = exports.GSmsTool = exports.GAlipayTool = exports.BaseMsg = exports.IWebSocket = exports.ISocketServer = exports.IClientWebSocket = exports.IServerWebSocket = exports.JsonProtoFilter = exports.GoogleProtoFilter = exports.MongoCacheModel = exports.GMongoCacheSer = void 0;
5
5
  var cgserver_1 = require("./cgserver");
6
6
  Object.defineProperty(exports, "GCgServer", { enumerable: true, get: function () { return cgserver_1.GCgServer; } });
7
7
  var ProtoFactory_1 = require("./SocketServer/ProtoFilter/ProtoFactory");
@@ -62,6 +62,9 @@ var MysqlBaseService_2 = require("./Database/MysqlBaseService");
62
62
  Object.defineProperty(exports, "MysqlBaseService", { enumerable: true, get: function () { return MysqlBaseService_2.MysqlBaseService; } });
63
63
  var MysqlManager_1 = require("./Database/MysqlManager");
64
64
  Object.defineProperty(exports, "GMysqlMgr", { enumerable: true, get: function () { return MysqlManager_1.GMysqlMgr; } });
65
+ Object.defineProperty(exports, "SqlResult", { enumerable: true, get: function () { return MysqlManager_1.SqlResult; } });
66
+ Object.defineProperty(exports, "SqlReturn", { enumerable: true, get: function () { return MysqlManager_1.SqlReturn; } });
67
+ Object.defineProperty(exports, "SqlReturns", { enumerable: true, get: function () { return MysqlManager_1.SqlReturns; } });
65
68
  var RedisManager_1 = require("./Database/RedisManager");
66
69
  Object.defineProperty(exports, "GRedisMgr", { enumerable: true, get: function () { return RedisManager_1.GRedisMgr; } });
67
70
  Object.defineProperty(exports, "RedisManager", { enumerable: true, get: function () { return RedisManager_1.RedisManager; } });
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const Framework_1 = require("../Framework");
10
+ class Test {
11
+ test() {
12
+ console.log("test");
13
+ }
14
+ }
15
+ __decorate([
16
+ Framework_1.SyncCall
17
+ ], Test.prototype, "test", null);
18
+ let test = new Test();
19
+ test.test();
20
+ let str = Framework_1.core.format(Date.now(), "yyyy-MM-dd hh:mm:ss");
21
+ console.log(str);
@@ -26,7 +26,7 @@ export { MongoBaseModel } from './Database/MongoManager';
26
26
  export { GMongoMgr } from './Database/MongoManager';
27
27
  export { GMSSqlMgr } from './Database/MSSqlManager';
28
28
  export { MysqlBaseService } from './Database/MysqlBaseService';
29
- export { GMysqlMgr } from './Database/MysqlManager';
29
+ export { GMysqlMgr, SqlResult, SqlReturn, SqlReturns } from './Database/MysqlManager';
30
30
  export { GRedisMgr, RedisManager } from './Database/RedisManager';
31
31
  export { GCacheTool } from './Logic/CacheTool';
32
32
  export { GHttpTool } from './Logic/HttpTool';
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cgserver",
3
- "version": "7.8.2113",
3
+ "version": "7.10.2113",
4
4
  "author": "trojan",
5
5
  "type": "commonjs",
6
6
  "description": "free for all.Websocket or Http",
@@ -0,0 +1,12 @@
1
+ import { Trigger } from './TriggerMgr';
2
+ export class AiObject
3
+ {
4
+ onTriggerIn(obj,trigger:Trigger)
5
+ {
6
+
7
+ }
8
+ onTriggerOut(obj,trigger:Trigger)
9
+ {
10
+
11
+ }
12
+ }
@@ -0,0 +1,157 @@
1
+ import { Point } from './Point';
2
+ export interface IAStarMap
3
+ {
4
+ width():number
5
+ height():number
6
+ canPass(point:Point):boolean
7
+ canPass(x:number,y:number):boolean
8
+ extraWeight(point:Point):number
9
+ }
10
+ export class Rect
11
+ {
12
+ x=0
13
+ y=0
14
+ width=0
15
+ height=0
16
+ }
17
+ class AStarNode
18
+ {
19
+ ParentNode: AStarNode=null
20
+ CurTilePos: Point=null
21
+ G: number=0
22
+ H: number=0
23
+ constructor(node:AStarNode, tilePos)
24
+ {
25
+ this.ParentNode = node;
26
+ this.CurTilePos = tilePos;
27
+ if (this.ParentNode)
28
+ {
29
+ this.G = this.ParentNode.G + 10;
30
+ }
31
+ else
32
+ {
33
+ this.G = 0;
34
+ }
35
+ }
36
+ F()
37
+ {
38
+ return this.G + this.H;
39
+ }
40
+ }
41
+
42
+ export class AStar
43
+ {
44
+ protected _markList: Array<AStarNode>=null
45
+ protected _markedList: Array<AStarNode>=null
46
+ protected _routes: Array<Point>=null
47
+ protected _maxTileWidth: number=0
48
+ protected _maxTileHeight: number=0
49
+ /**
50
+ * 先y在x,p(x:1,y:2),data[2][1]
51
+ */
52
+ protected _mapData:IAStarMap=null
53
+ getRoutes(srcTilePos:Point, tarTilePos:Point, mapData:IAStarMap)
54
+ {
55
+ if(srcTilePos.equals(tarTilePos))
56
+ {
57
+ return []
58
+ }
59
+ this._markList = []
60
+ this._markedList = []
61
+ this._routes = []
62
+ this._mapData = mapData
63
+ this._maxTileWidth = this._mapData.width()
64
+ this._maxTileHeight = this._mapData.height()
65
+ let tp = srcTilePos.sub(tarTilePos)
66
+ let node = new AStarNode(null, srcTilePos)
67
+ node.H = (Math.abs(tp.x) + Math.abs(tp.y)) * 10+mapData.extraWeight(tarTilePos)
68
+ this._markList.push(node)
69
+
70
+ node = this._routing(srcTilePos, tarTilePos)
71
+ while (node)
72
+ {
73
+ this._routes.push(node.CurTilePos)
74
+ node = node.ParentNode
75
+ }
76
+ this._routes.reverse()
77
+ this._routes.shift()
78
+ return this._routes
79
+ }
80
+ protected _routing(srcTilePos:Point, tarTilePos:Point)
81
+ {
82
+ if (this._markList.length <= 0)//已经没有节点,是死路根本无法到达
83
+ {
84
+ return null
85
+ }
86
+
87
+ let node = this._markList[0]
88
+ let curIndex = 0
89
+ for (let i = 0; i < this._markList.length; ++i)
90
+ {
91
+ if (node.F() > this._markList[i].F())
92
+ {
93
+ node = this._markList[i];
94
+ curIndex = i;
95
+ }
96
+ if (this._markList[i].CurTilePos.equals(tarTilePos))//到达终点
97
+ {
98
+ return this._markList[i];
99
+ }
100
+ }
101
+ this._markList.splice(curIndex,1)
102
+ this._markedList.push(node);
103
+
104
+ let tp = new Point(0, 0);
105
+ //上
106
+ tp.x = node.CurTilePos.x; tp.y = node.CurTilePos.y + 1;
107
+ this._addToMark(tp, tarTilePos, node);
108
+ //下
109
+ tp = new Point(0, 0);
110
+ tp.x = node.CurTilePos.x; tp.y = node.CurTilePos.y - 1;
111
+ this._addToMark(tp, tarTilePos, node);
112
+ //左
113
+ tp = new Point(0, 0);
114
+ tp.x = node.CurTilePos.x - 1; tp.y = node.CurTilePos.y;
115
+ this._addToMark(tp, tarTilePos, node);
116
+ //右
117
+ tp = new Point(0, 0);
118
+ tp.x = node.CurTilePos.x + 1; tp.y = node.CurTilePos.y;
119
+ this._addToMark(tp, tarTilePos, node);
120
+
121
+ return this._routing(srcTilePos, tarTilePos);
122
+ }
123
+ protected _isInMark(tilePos)
124
+ {
125
+ for (let i = 0; i < this._markList.length; ++i)
126
+ {
127
+ if (this._markList[i].CurTilePos.equals(tilePos))
128
+ {
129
+ return true;
130
+ }
131
+ }
132
+ for (let i = 0; i < this._markedList.length; ++i)
133
+ {
134
+ if (this._markedList[i].CurTilePos.equals(tilePos))
135
+ {
136
+ return true;
137
+ }
138
+ }
139
+ return false;
140
+ }
141
+ protected _addToMark(curTilePos:Point, tarTilePos:Point, parentAStarNode:AStarNode)
142
+ {
143
+ //无地图数据
144
+ if (curTilePos.x < 0 || curTilePos.y < 0
145
+ || !this._mapData.canPass(curTilePos))
146
+ {
147
+ return
148
+ }
149
+ if (!this._isInMark(curTilePos))//未曾添加
150
+ {
151
+ let newNode = new AStarNode(parentAStarNode, curTilePos)
152
+ let temp_tp = parentAStarNode.CurTilePos.sub(tarTilePos)
153
+ newNode.H = (Math.abs(temp_tp.x) + Math.abs(temp_tp.y)) * 10
154
+ this._markList.push(newNode)
155
+ }
156
+ }
157
+ }
@@ -0,0 +1,382 @@
1
+ import { GLog } from './../Logic/Log';
2
+ import { core } from '../Core/Core';
3
+ import * as _ from "underscore";
4
+
5
+ import { GTriggerMgr, EConditionType } from "./TriggerMgr"
6
+ import { Point } from './Point';
7
+
8
+ export class BehaviorAI
9
+ {
10
+ protected _obj: any
11
+ protected _targetObjs: any[]
12
+ protected _triggers: any[]
13
+ protected _behavior_data: any
14
+ protected _current_behavior:any
15
+ protected _current_behavior_name: string=""
16
+ protected _current_check: any[]
17
+ protected _targetObj: any
18
+ constructor(behavior_data, obj, targetObjs)
19
+ {
20
+ this._obj = obj
21
+ this._behavior_data = behavior_data
22
+
23
+ if (core.isArray(targetObjs))
24
+ {
25
+ this._targetObjs = targetObjs
26
+ }
27
+ else if (targetObjs)
28
+ {
29
+ this._targetObjs[0] = targetObjs
30
+ }
31
+ else
32
+ {
33
+ this._targetObjs = []
34
+ }
35
+
36
+ this._triggers = []
37
+ let code = GTriggerMgr.addConditionTriggerEvent(EConditionType.Die, this.onTriggerDie.bind(this), { code: this._obj.getCode() })
38
+ this._triggers.push({ type: EConditionType.Die, code: code })
39
+ }
40
+ //启动行为树AI
41
+ start()
42
+ {
43
+ if (!this._behavior_data)
44
+ {
45
+ GLog.info("------------error------------this._behavior_data can not be null!");
46
+ return;
47
+ }
48
+ this.goto(this._behavior_data.start);
49
+ }
50
+ //结束行为树AI
51
+ end()
52
+ {
53
+ for (let i = 0, length = this._triggers.length; i < length; ++i)
54
+ {
55
+ GTriggerMgr.removeConditionTriggerEvent(this._triggers[i].type, this._triggers[i].code);
56
+ }
57
+ this._triggers = [];
58
+ }
59
+ //帧检查
60
+ //支持多条件check
61
+ update(dt)
62
+ {
63
+ if (this._current_check.length < 0)
64
+ {
65
+ return
66
+ }
67
+
68
+ for (let i = 0; i < this._current_check.length; ++i)
69
+ {
70
+ let current = this._current_check[i]
71
+ //目前只支持同时存在一个update检查
72
+ if (current.event_name == "target_insight")
73
+ {
74
+ let targetInfo = this._getNearestTarget()
75
+ if (targetInfo)
76
+ {
77
+ let target = targetInfo.target
78
+ let distance = targetInfo.distance
79
+ if (distance <= this._behavior_data.insight)//视野发现敌人
80
+ {
81
+ this._current_check=this._current_check.splice(i,1)
82
+ --i
83
+ let forceReturn = this._doEvents(this._current_behavior.conditions[current.event_name])
84
+ if (forceReturn)
85
+ {
86
+ return//防止goto修改this._current_check后,做了立刻check
87
+ }
88
+ }
89
+ }
90
+ }
91
+ else if (current.event_name == "sure")
92
+ {
93
+ this._current_check=this._current_check.splice(i,1)
94
+ --i;
95
+ let forceReturn = this._doEvents(this._current_behavior.conditions[current.event_name]);
96
+ if (forceReturn)
97
+ {
98
+ return;//防止goto修改this._current_check后,做了立刻check
99
+ }
100
+ }
101
+ else if (current.event_name == "near")
102
+ {
103
+ if (this._targetObj)
104
+ {
105
+ let objPos:Point = this._obj.getPosition();
106
+ let tpos:Point = this._targetObj.getPosition();
107
+ let distance = objPos.sub(tpos).length();//目标和自己的距离
108
+ let dty = objPos.y - tpos.y;
109
+ dty = dty >= 0 ? dty : -dty;
110
+ if (distance <= current.distance && dty <= 10)//视野发现敌人
111
+ {
112
+ this._current_check=this._current_check.splice(i,1)
113
+ --i;
114
+ let forceReturn = this._doEvents(this._current_behavior.conditions[current.event_name]);
115
+ if (forceReturn)
116
+ {
117
+ return;//防止goto修改this._current_check后,做了立刻check
118
+ }
119
+ }
120
+ }
121
+ else
122
+ {
123
+ this._current_check=this._current_check.splice(i,1)
124
+ --i;
125
+ let forceReturn = this._doEvents(this._current_behavior.conditions[current.event_name], true);
126
+ if (forceReturn)
127
+ {
128
+ return;//防止goto修改this._current_check后,做了立刻check
129
+ }
130
+ }
131
+ }
132
+ else if (current.event_name == "timeout")
133
+ {
134
+ current.time -= dt;
135
+ if (current.time <= 0)
136
+ {
137
+ this._current_check=this._current_check.splice(i,1)
138
+ --i;
139
+ let forceReturn = this._doEvents(this._current_behavior.conditions[current.event_name]);
140
+ if (forceReturn)
141
+ {
142
+ return;//防止goto修改this._current_check后,做了立刻check
143
+ }
144
+ }
145
+ }
146
+ }
147
+ }
148
+ //goto事件
149
+ goto(behavior_name)
150
+ {
151
+ //GLog.info("=====goto behavior=" + behavior_name);
152
+ if (this._behavior_data && this._behavior_data.name == behavior_name)
153
+ {
154
+ return//拒绝相同行为跳转
155
+ }
156
+ this._current_check = [];
157
+ this._current_behavior = this._behavior_data.behaviors[behavior_name];
158
+
159
+ //全局条件
160
+ if (this._behavior_data.conditions)
161
+ {
162
+ this._checkConditions(this._behavior_data.conditions);
163
+ }
164
+ //行为条件
165
+ if (this._current_behavior.conditions)
166
+ {
167
+ this._checkConditions(this._current_behavior.conditions);
168
+ }
169
+
170
+ if (this._current_behavior.animation)
171
+ {
172
+ if (!this._current_behavior.conditions.animation_done)
173
+ {
174
+ this._obj.behaviorAnimation(this._current_behavior.animation.name, this._current_behavior.animation.loop);
175
+ }
176
+ else
177
+ {
178
+ let self = this;
179
+ this._obj.behaviorAnimation(this._current_behavior.animation.name, this._current_behavior.animation.loop, function ()
180
+ {
181
+ self._doEvents(self._current_behavior.conditions.animation_done)
182
+ });
183
+ }
184
+ }
185
+ else
186
+ {
187
+ GLog.info("---------warning--------_goto->behavior_name=" + behavior_name + ".animaiton not exist!");
188
+ }
189
+ }
190
+ //检查有没有已经达到的条件,又的话就执行他的相关事件
191
+ _checkConditions(conditions)
192
+ {
193
+ if (!conditions)
194
+ {
195
+ return;
196
+ }
197
+ for (let key in conditions)
198
+ {
199
+ switch (key)
200
+ {
201
+ case "target_insight":
202
+ {
203
+ this._current_check.push({ event_name: key });
204
+ }
205
+ break;
206
+ case "timeout":
207
+ {
208
+ this._current_check.push({ event_name: key, time: conditions[key].time });
209
+ }
210
+ break;
211
+ case "sure":
212
+ {
213
+ this._current_check.push({ event_name: key });//下次update执行
214
+ }
215
+ break;
216
+ case "near":
217
+ {
218
+ this._targetObj = null;
219
+ this._current_check.push({ event_name: key, distance: conditions[key].distance });
220
+ let targetInfo = this._getNearestTarget();
221
+ if (targetInfo)
222
+ {
223
+ if (this._behavior_data.name == "sm")
224
+ GLog.info("distance" + targetInfo.distance);
225
+ this._targetObj = targetInfo.target;
226
+ }
227
+ }
228
+ break;
229
+ default:
230
+ break;
231
+ }
232
+ }
233
+ }
234
+ //执行事件
235
+ _doEvents(events, fail:boolean=false)
236
+ {
237
+ if (!events)
238
+ {
239
+ return false;
240
+ }
241
+ if (fail && events.failto)
242
+ {
243
+ this.goto(events.failto);
244
+ return true;
245
+ }
246
+ let forceReturn = false;
247
+ for (let key in events)
248
+ {
249
+ switch (key)
250
+ {
251
+ case "goto":
252
+ {
253
+ this.goto(events[key]);
254
+ forceReturn = true;
255
+ }
256
+ break;
257
+ case "walk_any":
258
+ {
259
+ if (this._obj.behaviorWalkAny)
260
+ {
261
+ this._obj.behaviorWalkAny();
262
+ }
263
+ }
264
+ break;
265
+ case "persue":
266
+ {
267
+ if (this._obj.behaviorPersue && this._targetObj)
268
+ {
269
+ this._obj.behaviorPersue(this._targetObj);
270
+ }
271
+ }
272
+ break;
273
+ case "call":
274
+ {
275
+ if (events[key].fun && this._obj[events[key].fun])
276
+ {
277
+ this._obj[events[key].fun](events[key].params);
278
+ }
279
+ }
280
+ break;
281
+ case "random":
282
+ {
283
+ let r = _.random(0,100);//百分率
284
+ let rate = 0;
285
+ let done = false;
286
+ //最后一条不参与检测
287
+ for (let i = 0, length = events[key].length; i < length - 1; ++i)
288
+ {
289
+ rate += events[key][i].rate;
290
+ if (r <= rate)
291
+ {
292
+ forceReturn = this._doEvents(events[key][i].events);
293
+ done = true;
294
+ break;
295
+ }
296
+ }
297
+ //如果前面都没有成功,必须保证最后一条得到执行
298
+ if (!done)
299
+ {
300
+ forceReturn = this._doEvents(events[key][events[key].length - 1].events);
301
+ }
302
+ }
303
+ default:
304
+ break;
305
+ }
306
+ }
307
+ return forceReturn;
308
+ }
309
+
310
+
311
+
312
+ //角色死亡触发
313
+ onTriggerDie(userDM)
314
+ {
315
+ if (!userDM)
316
+ {
317
+ return
318
+ }
319
+ if (this._obj.getCode() === userDM.code)
320
+ {
321
+ this.goto("die")
322
+ this.end()
323
+ return
324
+ }
325
+ for (let i = 0, length = this._targetObjs.length; i < length; ++i)
326
+ {
327
+ if (this._targetObjs[i].getCode() === userDM.code)
328
+ {
329
+ this._targetObjs=this._targetObjs.splice(i,1)
330
+ if (this._targetObj.getCode() === userDM.code)
331
+ {
332
+ this._targetObj = null
333
+ }
334
+ return
335
+ }
336
+ }
337
+
338
+ return
339
+ }
340
+ //获取最近的target
341
+ _getNearestTarget()
342
+ {
343
+ let targetNum = this._targetObjs.length;
344
+ if (targetNum <= 0)
345
+ {
346
+ return null
347
+ }
348
+
349
+ let objPos:Point = this._obj.getPosition()
350
+
351
+ if (targetNum == 1)
352
+ {
353
+ return { target: this._targetObjs[0], distance: objPos.sub(this._targetObjs[0].getPosition()).length() }
354
+ }
355
+
356
+ let minIndex = 0;
357
+ let mindis = objPos.sub(this._targetObjs[0].getPosition()).length()
358
+ for (let i = 1; i < targetNum; ++i)
359
+ {
360
+ let dis = objPos.sub(this._targetObjs[i].getPosition()).length()
361
+ if (mindis > dis)
362
+ {
363
+ mindis = dis
364
+ minIndex = i
365
+ }
366
+ }
367
+ return { target: this._targetObjs[minIndex], distance: mindis }
368
+ }
369
+ //添加target
370
+ addTarget(target)
371
+ {
372
+ if (!target)
373
+ {
374
+ return
375
+ }
376
+ this._targetObjs.push(target)
377
+ }
378
+ getTargets()
379
+ {
380
+ return this._targetObjs
381
+ }
382
+ }
@@ -0,0 +1,37 @@
1
+ import { Point } from './Point';
2
+ //世界物体,具有坐标可移动等特性
3
+ export class Entity
4
+ {
5
+ protected _id=-1
6
+ public get id()
7
+ {
8
+ return this._id
9
+ }
10
+ protected _world_pos:Point=new Point()
11
+ public get worldPos()
12
+ {
13
+ return this._world_pos
14
+ }
15
+ public set worldPos(value:Point)
16
+ {
17
+ this._world_pos=value
18
+ }
19
+ protected _cell:Point=new Point()
20
+ public get cellPos()
21
+ {
22
+ return this._cell
23
+ }
24
+ public set cellPos(value:Point)
25
+ {
26
+ this._cell=value
27
+ }
28
+ initPos(pos:Point)
29
+ {
30
+ //不能直接赋值,因为是引用
31
+ this._world_pos.x=pos.x+0.5
32
+ this._world_pos.y=pos.y+0.5
33
+
34
+ this._cell.x=pos.x
35
+ this._cell.y=pos.y
36
+ }
37
+ }