Skip to content

Commit 817c08b

Browse files
author
magiclu550
committed
[proxy] finish Generator
1 parent 5ecefc0 commit 817c08b

File tree

2 files changed

+125
-3
lines changed

2 files changed

+125
-3
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,13 @@ ProxyHandler作为一个Smod2插件运行在multiAdmin,并确保在启动jsmod
1515

1616
!!!!ProxyHandler目前已经实现!!!!
1717

18-
`总体[|||||||||||| ]` %50
18+
`总体[|||||||||||| ]` %52
1919

2020
1. 响应Jsmod2的事件监听器(%30)
2121

2222
2.已经实现解析实体的协议:
2323
```
2424
Event(%3)
25-
Generator (%0)
2625
Map (%0)
2726
PocketDimensionExit (%0)
2827
Room (%0)
@@ -40,6 +39,7 @@ ProxyHandler作为一个Smod2插件运行在multiAdmin,并确保在启动jsmod
4039
Door (%100)
4140
(Smod2)Server (%100)
4241
Elevator (%100)
42+
Generator (%100)
4343
4444
```
4545

jsmod2/NetworkHandler.cs

Lines changed: 123 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,17 @@ static NetworkHandler()
6868
handlers.Add(122,new HandleSetElevatorLocked());
6969
handlers.Add(126,new HandleSetElevatorMovingSpeed());
7070
handlers.Add(130,new HandleUseElevator());
71-
71+
handlers.Add(134,new HandleGeneratorGetEngaged());
72+
handlers.Add(135,new HandleGeneratorGetHasTablet());
73+
handlers.Add(136,new HandleGeneratorGetLocked());
74+
handlers.Add(132,new HandleGetDoorOpen());
75+
handlers.Add(137,new HandleGeneratorGetPosition());
76+
handlers.Add(139,new HandleGeneratorGetStartTime());
77+
handlers.Add(140,new HandleGeneratorTimeLeft());
78+
handlers.Add(141,new HandleGeneratorSetHasTablet());
79+
handlers.Add(133,new HandleDoorSetOpen());
80+
handlers.Add(143,new HandleGeneratorSetTimeLeft());
81+
handlers.Add(131,new HandleGeneratorUnlock());
7282
}
7383
public static void handleJsmod2(int id, String json,Dictionary<string,string> mapper,TcpClient client)
7484
{
@@ -131,11 +141,123 @@ public static void handleJsmod2(int id, String json,Dictionary<string,string> ma
131141
}
132142
}
133143

144+
public class Utils
145+
{
146+
public static JsonSetting[] getOne(string id,object val,IdMapping mapping)
147+
{
148+
return new[] {new JsonSetting(Lib.getInt(id), val, mapping)};
149+
}
150+
}
151+
134152
public interface Handler
135153
{
136154
JsonSetting[] handle(object api,Dictionary<string,string> mapper);
137155
}
138156

157+
public class HandleGeneratorGetEngaged : Handler
158+
{
159+
public JsonSetting[] handle(object api, Dictionary<string, string> mapper)
160+
{
161+
Generator generator = api as Generator;
162+
return new[] {new JsonSetting(Lib.getInt(mapper["id"]), generator.Engaged, null)};
163+
}
164+
}
165+
166+
public class HandleGeneratorGetHasTablet : Handler
167+
{
168+
public JsonSetting[] handle(object api, Dictionary<string, string> mapper)
169+
{
170+
Generator generator = api as Generator;
171+
return new[] {new JsonSetting(Lib.getInt(mapper["id"]),generator.HasTablet,null)};
172+
}
173+
}
174+
175+
public class HandleGeneratorGetLocked : Handler
176+
{
177+
public JsonSetting[] handle(object api, Dictionary<string, string> mapper)
178+
{
179+
Generator generator = api as Generator;
180+
return Utils.getOne(mapper["id"], generator.Locked, null);
181+
}
182+
}
183+
184+
public class HandleGeneratorGetOpen : Handler
185+
{
186+
public JsonSetting[] handle(object api, Dictionary<string, string> mapper)
187+
{
188+
Generator generator = api as Generator;
189+
return Utils.getOne(mapper["id"], generator.Open, null);
190+
}
191+
}
192+
193+
public class HandleGeneratorGetPosition : Handler
194+
{
195+
public JsonSetting[] handle(object api, Dictionary<string, string> mapper)
196+
{
197+
Generator generator = api as Generator;
198+
return Utils.getOne(mapper["id"], generator.Position, null);
199+
}
200+
}
201+
202+
public class HandleGeneratorGetStartTime : Handler
203+
{
204+
public JsonSetting[] handle(object api, Dictionary<string, string> mapper)
205+
{
206+
Generator generator = api as Generator;
207+
return Utils.getOne(mapper["id"], generator.StartTime, null);
208+
}
209+
}
210+
211+
public class HandleGeneratorTimeLeft : Handler
212+
{
213+
public JsonSetting[] handle(object api, Dictionary<string, string> mapper)
214+
{
215+
Generator generator = api as Generator;
216+
return Utils.getOne(mapper["id"], generator.TimeLeft, null);
217+
}
218+
}
219+
220+
public class HandleGeneratorSetHasTablet : Handler
221+
{
222+
public JsonSetting[] handle(object api, Dictionary<string, string> mapper)
223+
{
224+
Generator generator = api as Generator;
225+
generator.HasTablet = Lib.getBool(mapper["hasTablet"]);
226+
return null;
227+
}
228+
}
229+
230+
public class HandleGeneratorSetOpen : Handler
231+
{
232+
JsonSetting[] Handler.handle(object api, Dictionary<string, string> mapper)
233+
{
234+
Generator generator = api as Generator;
235+
generator.Open = Lib.getBool(mapper["open"]);
236+
return null;
237+
}
238+
}
239+
240+
public class HandleGeneratorSetTimeLeft : Handler
241+
{
242+
public JsonSetting[] handle(object api, Dictionary<string, string> mapper)
243+
{
244+
Generator generator = api as Generator;
245+
generator.TimeLeft = Lib.getDouble(mapper["timeLeft"]);
246+
return null;
247+
}
248+
}
249+
250+
public class HandleGeneratorUnlock : Handler
251+
{
252+
public JsonSetting[] handle(object api, Dictionary<string, string> mapper)
253+
{
254+
Generator generator = api as Generator;
255+
generator.Unlock();
256+
return null;
257+
}
258+
}
259+
260+
139261
public class HandleGetElevatorLockable : Handler
140262
{
141263
public JsonSetting[] handle(object api, Dictionary<string, string> mapper)

0 commit comments

Comments
 (0)