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
@@ -0,0 +1,84 @@
1
+ export class Point
2
+ {
3
+ x=0
4
+ y=0
5
+ constructor(x:number=0,y:number=0)
6
+ {
7
+ this.x=x
8
+ this.y=y
9
+ }
10
+ sub(pt:Point)
11
+ {
12
+ return new Point(this.x-pt.x,this.y-pt.y)
13
+ }
14
+ subSelf(pt:Point)
15
+ {
16
+ this.x-=pt.x
17
+ this.y-=pt.y
18
+ }
19
+ add(pt:Point)
20
+ {
21
+ return new Point(this.x+pt.x,this.y+pt.y)
22
+ }
23
+ addSelf(pt:Point)
24
+ {
25
+ this.x+=pt.x
26
+ this.y+=pt.y
27
+ }
28
+ equals(pt:Point)
29
+ {
30
+ return this.x==pt.x&&this.y==pt.y
31
+ }
32
+ fuzzyEqual(pt:Point,w:number)
33
+ {
34
+ let dtx=Math.abs(this.x-pt.x)
35
+ if(dtx>=w)
36
+ {
37
+ return false
38
+ }
39
+ let dty=Math.abs(this.y-pt.y)
40
+ if(dty>=w)
41
+ {
42
+ return false
43
+ }
44
+ return true
45
+ }
46
+ length()
47
+ {
48
+ return Math.sqrt(this.x*this.x+this.y*this.y)
49
+ }
50
+ mul(n:number)
51
+ {
52
+ return new Point(this.x*n,this.y*n)
53
+ }
54
+ mulSelf(n:number)
55
+ {
56
+ this.x*=n
57
+ this.y*=n
58
+ }
59
+ toI()
60
+ {
61
+ return new Point(Math.floor(this.x),Math.floor(this.y))
62
+ }
63
+ normalize()
64
+ {
65
+
66
+ let len = this.length()
67
+ if(len==0)
68
+ {
69
+ return new Point()
70
+ }
71
+ return new Point(this.x/len,this.y/len)
72
+ }
73
+ normalizeSelf()
74
+ {
75
+
76
+ let len = this.length()
77
+ if(len==0)
78
+ {
79
+ return
80
+ }
81
+ this.x/=len
82
+ this.y/=len
83
+ }
84
+ }
@@ -0,0 +1,280 @@
1
+ import { Point } from './Point';
2
+ import { Entity } from './Entity';
3
+ import { AiObject } from './AiObject';
4
+ import { GLog } from './../Logic/Log';
5
+ import { core } from "../Core/Core";
6
+ import { Rect } from './Astar';
7
+
8
+ export enum ETriggerType{
9
+ Region=0,
10
+ Condition
11
+ }
12
+ export enum EConditionType{
13
+ Die=0,
14
+ Hit,
15
+ HP,
16
+ MP,
17
+ }
18
+ export class Trigger
19
+ {
20
+ region:Rect=null
21
+ }
22
+ let _GTriggerCode = 0
23
+
24
+ export let GTriggerMgr:TriggerManager = null
25
+ class TriggerManager
26
+ {
27
+ protected _regionTriggers:{ triggerInfos: Array<{trigger:Trigger}>, objInfos: Array<{obj:Entity,prePos:Point}>, aiObj: AiObject }=null
28
+ protected _conditionTriggers={}
29
+ //触发器的单个个体必须包含x,y,width,height,其他参数为各自需要添加
30
+ init()
31
+ {
32
+ this.clearAll();
33
+ }
34
+ clearAll()
35
+ {
36
+ this.clearRegionTrigger();
37
+ this.clearConditionTrigger();
38
+ }
39
+ clear(triggertype)
40
+ {
41
+ if (triggertype===undefined)
42
+ {
43
+ this.clearAll();
44
+ }
45
+ else if (triggertype == ETriggerType.Region)
46
+ {
47
+ this.clearRegionTrigger();
48
+ }
49
+ else
50
+ {
51
+ this.clearConditionTrigger();
52
+ }
53
+ }
54
+
55
+
56
+
57
+
58
+ ////////////////////////////////////////////区域触发器//////////////////////////////////////////////////////
59
+ //objs 需要检查的对象,regions触发起区域,callBackObj回调的对象
60
+ initRegionTrigger(objs, triggers, callBackObj?:AiObject)
61
+ {
62
+ this.clearRegionTrigger();
63
+ if (!triggers || triggers.length <= 0)
64
+ {
65
+ return;
66
+ }
67
+ for (let i = 0, length = triggers.length; i < length; ++i)
68
+ {
69
+ this._regionTriggers.triggerInfos[i] = { trigger: triggers[i] };
70
+ }
71
+ if (core.isArray(objs))
72
+ {
73
+ for (let i = 0, length = objs.length; i < length; ++i)
74
+ {
75
+ this._regionTriggers.objInfos[i] = { obj: objs[i],prePos:null };
76
+ }
77
+ }
78
+ else
79
+ {
80
+ this._regionTriggers.objInfos[0] = { obj: objs,prePos:null };
81
+ }
82
+ if (typeof callBackObj !== "undefined")
83
+ {
84
+ this._regionTriggers.aiObj = callBackObj;
85
+ }
86
+ this._checkRegion();//初始化check
87
+ }
88
+ clearRegionTrigger()
89
+ {
90
+ this._regionTriggers = { triggerInfos: [], objInfos: [], aiObj: null };
91
+ }
92
+
93
+ addObjToRegionTrigger(obj)
94
+ {
95
+ this._regionTriggers.objInfos[this._regionTriggers.objInfos.length] = { obj: obj,prePos:null };
96
+ }
97
+
98
+ removeObjInRegionTrigger(obj)
99
+ {
100
+ for (let i = 0; i < this._regionTriggers.objInfos.length; ++i)
101
+ {
102
+ let o = this._regionTriggers.objInfos[i].obj;
103
+ if (o === obj)
104
+ {
105
+ this._regionTriggers.objInfos=this._regionTriggers.objInfos.splice(i,1);
106
+ return;
107
+ }
108
+ }
109
+ }
110
+
111
+ //是否在触发器内
112
+ protected _isInTrigger(pos, region)
113
+ {
114
+ if (!pos || typeof region === "undefined")
115
+ {
116
+ return false;
117
+ }
118
+ GLog.info("pos.x" + pos.x + " pos.y=" + pos.y);
119
+ GLog.info("region.x" + region.x + " region.y=" + region.y);
120
+ if (pos.x < (region.x - region.width / 2))
121
+ {
122
+ return false;
123
+ }
124
+ if (pos.x > (region.x + region.width / 2))
125
+ {
126
+ return false;
127
+ }
128
+ if (pos.y < (region.y - region.height / 2))
129
+ {
130
+ return false;
131
+ }
132
+ if (pos.y > (region.y + region.height / 2))
133
+ {
134
+ return false;
135
+ }
136
+ return true;
137
+ }
138
+ //外部需要调用改接口
139
+ check()
140
+ {
141
+ this._checkRegion();
142
+ }
143
+ _checkRegion()
144
+ {
145
+ for (let i = 0, length = this._regionTriggers.objInfos.length; i < length; ++i)
146
+ {
147
+ let info = this._regionTriggers.objInfos[i];
148
+ if (!info)
149
+ {
150
+ continue;
151
+ }
152
+ let obj = info.obj;
153
+ if (!obj)
154
+ {
155
+ this.removeObjInRegionTrigger(obj);//改对象已经无效
156
+ continue;
157
+ }
158
+ let pos = obj.cellPos;
159
+
160
+ if (!info.prePos)
161
+ {
162
+ info.prePos = pos;
163
+ for (let i = 0, length = this._regionTriggers.triggerInfos.length; i < length; ++i)
164
+ {
165
+ let triggerInfo = this._regionTriggers.triggerInfos[i];
166
+ if (this._isInTrigger(pos, triggerInfo.trigger.region))
167
+ {
168
+ //原本在外面或首次检测,触发进入事件
169
+ if (triggerInfo[obj.id] && triggerInfo[obj.id] == -1)
170
+ {
171
+ this._triggerIn(obj, triggerInfo.trigger);
172
+ triggerInfo[obj.id] = 1;
173
+ }
174
+ }
175
+ else
176
+ {
177
+ //原本在里面或者首次检测,现在不在了,触发走出触发器事件
178
+ if (triggerInfo[obj.id] && triggerInfo[obj.id] == 1)
179
+ {
180
+ this._triggerOut(obj, triggerInfo.trigger);
181
+ }
182
+ triggerInfo[obj.id] = -1;
183
+ }
184
+ }
185
+ }
186
+ }
187
+ }
188
+
189
+
190
+ //从外面进入时触发
191
+ _triggerIn(obj, trigger)
192
+ {
193
+ if (!this._regionTriggers.aiObj || !this._regionTriggers.aiObj.onTriggerIn)
194
+ {
195
+ return
196
+ }
197
+ GLog.info("some one triggered in")
198
+ this._regionTriggers.aiObj.onTriggerIn(obj, trigger)
199
+ }
200
+
201
+ //从里面走出去的时候触发
202
+ _triggerOut(obj, trigger)
203
+ {
204
+ if (!this._regionTriggers.aiObj || !this._regionTriggers.aiObj.onTriggerOut)
205
+ {
206
+ return
207
+ }
208
+ GLog.info("some one triggered out")
209
+ this._regionTriggers.aiObj.onTriggerOut(obj, trigger)
210
+ }
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+ //////////////////////////////////////条件触发器//////////////////////////////////////////////////
226
+ initConditionTrigger()
227
+ {
228
+ this._conditionTriggers = {}
229
+ for (let conditiontype in EConditionType)
230
+ {
231
+ this._conditionTriggers[conditiontype] = {}
232
+ }
233
+ }
234
+ clearConditionTrigger()
235
+ {
236
+ this._conditionTriggers = []
237
+ for (let conditiontype in EConditionType)
238
+ {
239
+ this._conditionTriggers[EConditionType[conditiontype]] = {}
240
+ }
241
+ }
242
+ triggerCondition(conditiontype, params, conditions)
243
+ {
244
+ params = params || {};
245
+ conditions = conditions || {};
246
+ for (let code in this._conditionTriggers[conditiontype])
247
+ {
248
+ let info = this._conditionTriggers[conditiontype][code]
249
+ for (let key in info.conditions)
250
+ {
251
+ if (info.conditions[key] !== conditions[key])
252
+ {
253
+ return false
254
+ }
255
+ }
256
+ info.callback(params)
257
+ }
258
+ return true
259
+ }
260
+ addConditionTriggerEvent(conditiontype, callback, conditions)
261
+ {
262
+ conditions = conditions || {}
263
+ _GTriggerCode += 1
264
+ this._conditionTriggers[conditiontype][_GTriggerCode] = { callback: callback, conditions: conditions }
265
+ return { type: conditiontype, code: _GTriggerCode }
266
+ }
267
+ removeConditionTriggerEvent(conditiontype, code)
268
+ {
269
+ if (code === undefined)
270
+ {
271
+ this._conditionTriggers[conditiontype] = {}
272
+ }
273
+ else
274
+ {
275
+ delete this._conditionTriggers[conditiontype][code]
276
+ }
277
+
278
+ }
279
+ }
280
+ GTriggerMgr=new TriggerManager()
@@ -0,0 +1,61 @@
1
+ import * as fs from "fs";
2
+ import { jsonc } from "jsonc";
3
+
4
+ export class Config
5
+ {
6
+ protected _suffix:string=""
7
+ protected _is_init:boolean=false
8
+ protected _file_name=""
9
+ /**
10
+ * 是否是debug调试模式,主要区别于读取数据档,debug默认读取file_d文件,release默认读取file_r文件,如果不存在都会读取file文件
11
+ */
12
+ static debug=false
13
+ static rootDataDir="data/"
14
+ constructor(filename)
15
+ {
16
+ this._file_name = filename
17
+ }
18
+ init()
19
+ {
20
+ if(this._is_init)
21
+ {
22
+ return false
23
+ }
24
+ let suffix2="_r"
25
+ if(Config.debug)
26
+ {
27
+ suffix2="_d"
28
+ }
29
+ let path = Config.rootDataDir+this._file_name+"_"+this._suffix+suffix2+".json"
30
+ path=path.toLowerCase()
31
+ if(!fs.existsSync(path))
32
+ {
33
+ path = Config.rootDataDir+this._file_name+"_"+this._suffix+".json"
34
+ path=path.toLowerCase()
35
+ if(!fs.existsSync(path))
36
+ {
37
+ path = Config.rootDataDir+this._file_name+suffix2+".json"
38
+ path=path.toLowerCase()
39
+ if(!fs.existsSync(path))
40
+ {
41
+ path = Config.rootDataDir+this._file_name+".json"
42
+ path=path.toLowerCase()
43
+ if(!fs.existsSync(path))
44
+ {
45
+ console.error(path+" not exist!")
46
+ return true
47
+ }
48
+ }
49
+ }
50
+ }
51
+
52
+ let content = fs.readFileSync(path).toString()
53
+ let jsonData = jsonc.parse(content)
54
+ for(let key in jsonData)
55
+ {
56
+ this[key] = jsonData[key]
57
+ }
58
+ console.log("loaded cfg="+path)
59
+ return true
60
+ }
61
+ }
@@ -0,0 +1,286 @@
1
+ import { MongoConfig } from "../Database/MongoManager";
2
+ import { GLog } from "../Logic/Log";
3
+ import { RpcConfig } from "../ThirdParty/Rpc";
4
+ import { Config } from "./Config";
5
+ export enum ESessionType
6
+ {
7
+ Cache,
8
+ Redis,
9
+ Mongo
10
+ }
11
+ export class WebServerConfig
12
+ {
13
+ cache={}
14
+ session_type=ESessionType.Cache
15
+ debug=false
16
+ web_name="web"
17
+ port=0
18
+ cookie=
19
+ {
20
+ prefix:"tiny_cookie_",
21
+ expires:
22
+ {
23
+ account_remember: 7 * 24 * 60 * 60,
24
+ account: 10 * 60
25
+ }
26
+ }
27
+ routs=
28
+ {
29
+ /**
30
+ * 如果设置了这一项,那网址里面就不用带模块名称,是不回解析的
31
+ */
32
+ onlyModule:"Web",
33
+ defaults: { module:"Web",controller : "Index", action : "Index"}
34
+ }
35
+ ssl:
36
+ {
37
+ key:string,
38
+ crt:string
39
+ }=null
40
+ //默认不跨域
41
+ cors:
42
+ {
43
+ origin:string|string[], //指定接收的地址,将localhost改成前端IP地址
44
+ methods:string|string[], //指定接收的请求类型
45
+ allowedHeaders:string|string[],
46
+ credentials:boolean
47
+ }=null
48
+ }
49
+ export class FrameworkConfig extends Config
50
+ {
51
+ /*
52
+ *-1不输出到console,0,仅错误信息输出到console,1,都输出到console
53
+ */
54
+ console_level=0
55
+ log=
56
+ {
57
+ appenders:
58
+ {
59
+ console:
60
+ {
61
+ "type":"console",
62
+ "category":"console"
63
+ },
64
+ log_file:
65
+ {
66
+ category:"log_file",
67
+ type: "file",
68
+ filename: "./logs/log_file/file.log",
69
+ maxLogSize: 10*1024*1024,
70
+ backups: 100,
71
+ },
72
+ log_date:
73
+ {
74
+ category:"log_date",
75
+ type: "dateFile",
76
+ filename: "./logs/log_date/date",
77
+ alwaysIncludePattern: true,
78
+ pattern: "yyyy-MM-dd-hh.log",
79
+ },
80
+ client_log_file:
81
+ {
82
+ category:"log_file",
83
+ type: "file",
84
+ filename: "./logs/client_log_file/file.log",
85
+ maxLogSize: 10*1024*1024,
86
+ backups: 100,
87
+ },
88
+ client_log_date:
89
+ {
90
+ category:"log_date",
91
+ type: "dateFile",
92
+ filename: "./logs/client_log_date/date",
93
+ alwaysIncludePattern: true,
94
+ pattern: "yyyy-MM-dd.log"
95
+ },
96
+ error_log_file:
97
+ {
98
+ category:"error_log_file",
99
+ type: "file",
100
+ filename: "./logs/error_log_file/file.log",
101
+ maxLogSize: 5*1024*1024,
102
+ backups: 100,
103
+ }
104
+ },
105
+ categories:
106
+ {
107
+ default:
108
+ {
109
+ appenders: ['log_date'],
110
+ level:'ALL'
111
+ },
112
+ console:
113
+ {
114
+ appenders: ['console'],
115
+ level:'ALL'
116
+ },
117
+ log_file:
118
+ {
119
+ appenders: ['log_file'],
120
+ level:'ALL'
121
+ },
122
+ log_date:
123
+ {
124
+ appenders: ['log_date'],
125
+ level:'ALL'
126
+ },
127
+ client_log_file:
128
+ {
129
+ appenders: ['client_log_file'],
130
+ level:'ALL'
131
+ },
132
+ client_log_date:
133
+ {
134
+ appenders: ['client_log_date'],
135
+ level:'ALL'
136
+ },
137
+ error_log_file:
138
+ {
139
+ appenders: ['error_log_file'],
140
+ level:'ALL'
141
+ },
142
+ }
143
+ }
144
+ /**
145
+ * 控制网络消息的
146
+ */
147
+ debug_msg=false
148
+ local_host="127.0.0.1"
149
+ internet_host="127.0.0.1"
150
+ db=
151
+ {
152
+ redis:
153
+ {
154
+ open:false,
155
+ host:"127.0.0.1",
156
+ port:6379,
157
+ database:0,
158
+ password:null
159
+ },
160
+ mongo:
161
+ <MongoConfig>{
162
+ open:false,
163
+ host:"www.eryinet.com",
164
+ port:27017,
165
+ options:null,
166
+ database : 'achat'
167
+ },
168
+ mysql:
169
+ {
170
+ open : false,
171
+ auto : false,
172
+ host : '127.0.0.1',
173
+ port : 3306,
174
+ user : 'root',
175
+ password : 'root',
176
+ database : 'gameall',
177
+ charset : 'utf8mb4'
178
+ },
179
+ mssql:
180
+ {
181
+ open : false,
182
+ auto : false,
183
+ domain : '127.0.0.1',
184
+ port : 3306,
185
+ user : 'root',
186
+ password : 'root',
187
+ database : 'gameall',
188
+ charset : 'utf8mb4'
189
+ }
190
+ }
191
+ third_cfg=
192
+ {
193
+ open_social:
194
+ {
195
+ app_id:"appid_42313131",
196
+ app_secret:"apps_FDS4342J34JL432",
197
+ auth_url:"http://47.99.195.103:6666/auth/account/",
198
+ user_url:"http://47.99.195.103:6666/auth/userinfo/",
199
+ update_pwd_url:"http://47.99.195.103:6666/auth/updatepwd/"
200
+ },
201
+ aliSms:
202
+ {
203
+ signName:"而已网络",
204
+ accessKeyId:"LTAIeqjiZ5OCev0B",
205
+ secretAccessKey:"0w1fmDEORshI94QqtampBaAPQDqUAj",
206
+ templateCode:"SMS_154589473"
207
+ },
208
+ qiniu:
209
+ {
210
+ host : "p0bj0dycx.bkt.clouddn.com",
211
+ bucket : "eryiniuniu",
212
+ accessKey : "OETxflxP9V5ZzPcjE30asCv-YxWBvDpmMPJegtI4",
213
+ secretKey : "kZWsom120P0-cfQt_9_1-wR_X8RwuLeMXKbU_uc4"
214
+ },
215
+ email:
216
+ {
217
+ host: "smtp.live.com",
218
+ port: 587,
219
+ secure: false, // true for 465, false for other ports
220
+ auth:
221
+ {
222
+ user: "chengang01@live.com", // generated ethereal user
223
+ pass: "cg123!@#" // generated ethereal password
224
+ },
225
+ from:"OpenSocial <chengang01@live.com>"
226
+ },
227
+ qq:
228
+ {
229
+ app_id:"101775753",
230
+ app_key:"753d0f02f3c4093062e7b2f56c7fcb0c",
231
+ redirect_uri:"http://www.eryinet.com/qq/callback"
232
+ },
233
+ wechat:
234
+ {
235
+ app_id:"wx80f0f10fe1304e9d",
236
+ app_key:"a76fc337c49b309886a6538d31c344e2",
237
+ redirect_uri:"http://www.eryinet.com/wechat/callback"
238
+ },
239
+ alipay:
240
+ {
241
+ open:false,
242
+ dev:false,
243
+ app_id: "",
244
+ app_key:"",
245
+ gateway:"",
246
+ //RSA1 RSA2
247
+ signType: <'RSA2'|'RSA'>'RSA2',
248
+ /** 指定private key类型, 默认: PKCS1, PKCS8: PRIVATE KEY, PKCS1: RSA PRIVATE KEY */
249
+ keyType: <'PKCS1'|'PKCS8'>'PKCS1',
250
+ alipay_root_cert_sn:"",
251
+ alipay_cert_sn:"",
252
+ app_cert_sn:"",
253
+ notify_url:"",
254
+
255
+ app_id_dev: "",
256
+ app_key_dev:"",
257
+ gateway_dev:"",
258
+ //RSA1 RSA2
259
+ signType_dev: <'RSA2'|'RSA'>'RSA2',
260
+ /** 指定private key类型, 默认: PKCS1, PKCS8: PRIVATE KEY, PKCS1: RSA PRIVATE KEY */
261
+ keyType_dev: <'PKCS1'|'PKCS8'>'PKCS1',
262
+ alipay_root_cert_sn_dev:"",
263
+ alipay_cert_sn_dev:"",
264
+ app_cert_sn_dev:"",
265
+ notify_url_dev:""
266
+ },
267
+ apple:
268
+ {
269
+ keyIds:{}
270
+ },
271
+ cgmq:<RpcConfig>null
272
+ }
273
+ //key是ip,value是domain
274
+ ip_to_domain={}
275
+ root_path=process.cwd()
276
+ constructor()
277
+ {
278
+ super("FrameworkConfig")
279
+ }
280
+ init()
281
+ {
282
+ let ret = super.init()
283
+ GLog.init(this.log,this.console_level||0)
284
+ return ret
285
+ }
286
+ }