Skip to content

Commit 73229d8

Browse files
committed
归置函数位置
1 parent b700c39 commit 73229d8

File tree

3 files changed

+52
-48
lines changed

3 files changed

+52
-48
lines changed

CrazyCar/Assets/Scripts/System/DataParseSystem.cs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
public interface IDataParseSystem : ISystem {
99
void ParseAvatarRes(JsonData jsonData, Action success = null);
1010
void ParseSelfUserInfo(JsonData jsonData);
11+
UserInfo ParseUserInfo(JsonData jsonData);
1112
void ParseTimeTrialClassData(JsonData jsonData, Action success = null);
1213
void ParseTimeTrialRank(JsonData jsonData, Action success = null);
1314
void ParseTimeTrialResult(JsonData jsonData, Action success = null);
@@ -58,6 +59,34 @@ public void ParseSelfUserInfo(JsonData jsonData) {
5859
userModel.EquipInfo.Value = info;
5960
}
6061

62+
public UserInfo ParseUserInfo(JsonData jsonData)
63+
{
64+
UserInfo userInfo = new UserInfo();
65+
userInfo.name = (string)jsonData["user_info"]["name"];
66+
userInfo.uid = (int)jsonData["user_info"]["uid"];
67+
userInfo.aid = (int)jsonData["user_info"]["aid"];
68+
userInfo.star = (int)jsonData["user_info"]["star"];
69+
userInfo.isVIP = (bool)jsonData["user_info"]["is_vip"];
70+
userInfo.isSuperuser = (bool)jsonData["user_info"]["is_superuser"];
71+
userInfo.avatarNum = (int)jsonData["user_info"]["avatar_num"];
72+
userInfo.travelTimes = (int)jsonData["user_info"]["travel_times"];
73+
userInfo.mapNum = (int)jsonData["user_info"]["map_num"];
74+
75+
JsonData equipData = jsonData["user_info"]["equip_info"];
76+
EquipInfo info = new EquipInfo();
77+
info.eid = (int)equipData["eid"];
78+
info.rid = (string)equipData["rid"];
79+
info.equipName = (string)equipData["equip_name"];
80+
info.star = (int)equipData["star"];
81+
info.mass = (int)equipData["mass"];
82+
info.speed = (int)equipData["speed"];
83+
info.maxSpeed = (int)equipData["max_speed"];
84+
info.isHas = (bool)equipData["is_has"];
85+
info.isShow = (bool)equipData["is_show"];
86+
userInfo.equipInfo = info;
87+
return userInfo;
88+
}
89+
6190
public void ParseTimeTrialClassData(JsonData jsonData, Action success = null) {
6291
var timeTrialModel = this.GetModel<ITimeTrialModel>();
6392
timeTrialModel.TimeTrialDic.Clear();

CrazyCar/Assets/Scripts/System/NetworkSystem.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public interface INetworkSystem : ISystem {
2020
Queue<PlayerStateMsg> PlayerStateMsgs { get; set; }
2121
System.Object MsgLock { get; set; }
2222
void EnterRoom(GameType gameType, int cid, Action succ = null);
23+
void GetUserInfo(int uid, Action<UserInfo> succ);
2324
}
2425

2526
public class NetworkSystem : AbstractSystem, INetworkSystem {
@@ -191,6 +192,27 @@ public void EnterRoom(GameType gameType, int cid, Action succ = null) {
191192
}));
192193
}
193194

195+
public void GetUserInfo(int uid, Action<UserInfo> succ)
196+
{
197+
StringBuilder sb = new StringBuilder();
198+
JsonWriter w = new JsonWriter(sb);
199+
w.WriteObjectStart();
200+
w.WritePropertyName("uid");
201+
w.Write(uid);
202+
w.WriteObjectEnd();
203+
Debug.Log("++++++ " + sb.ToString());
204+
byte[] bytes = Encoding.UTF8.GetBytes(sb.ToString());
205+
CoroutineController.manager.StartCoroutine(this.GetSystem<INetworkSystem>().POSTHTTP(url: this.GetSystem<INetworkSystem>().HttpBaseUrl + RequestUrl.getUserInfo,
206+
data: bytes, token: this.GetModel<IGameControllerModel>().Token.Value, succData: (data) => {
207+
succ.Invoke(this.GetSystem<IDataParseSystem>().ParseUserInfo(data));
208+
}, code: (code) => {
209+
if (code != 200)
210+
{
211+
Debug.Log("get user info error code = " + code);
212+
}
213+
}));
214+
}
215+
194216
protected override void OnInit() {
195217

196218
}

CrazyCar/Assets/Scripts/System/PlayerManagerSystem.cs

Lines changed: 1 addition & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,7 @@ public void RespondAction(PlayerStateMsg playerStateMsg) {
7171
private void AdjustPeerPlayer(PlayerStateMsg playerStateMsg) {
7272
MPlayer peer = null;
7373
if (!this.GetSystem<IPlayerManagerSystem>().peers.TryGetValue(playerStateMsg.uid, out peer)) {
74-
Debug.Log("[PlayerManagerSystem] AdjustPeerPlayer: peer not found");
75-
GetUserInfo(playerStateMsg.uid, (userInfo) => {
74+
this.GetSystem<INetworkSystem>().GetUserInfo(playerStateMsg.uid, (userInfo) => {
7675
if (!this.GetSystem<IPlayerManagerSystem>().peers.TryGetValue(playerStateMsg.uid, out peer))
7776
{
7877
PlayerCreateMsg playerCreateMsg = new PlayerCreateMsg(playerStateMsg, userInfo);
@@ -86,52 +85,6 @@ private void AdjustPeerPlayer(PlayerStateMsg playerStateMsg) {
8685
}
8786
}
8887

89-
private void GetUserInfo(int uid, Action<UserInfo> succ)
90-
{
91-
StringBuilder sb = new StringBuilder();
92-
JsonWriter w = new JsonWriter(sb);
93-
w.WriteObjectStart();
94-
w.WritePropertyName("uid");
95-
w.Write(uid);
96-
w.WriteObjectEnd();
97-
Debug.Log("++++++ " + sb.ToString());
98-
byte[] bytes = Encoding.UTF8.GetBytes(sb.ToString());
99-
CoroutineController.manager.StartCoroutine(this.GetSystem<INetworkSystem>().POSTHTTP(url: this.GetSystem<INetworkSystem>().HttpBaseUrl + RequestUrl.getUserInfo,
100-
data: bytes, token: this.GetModel<IGameControllerModel>().Token.Value, succData: (data) => {
101-
succ.Invoke(ParseUserInfo(data));
102-
}, code: (code) => {
103-
Debug.Log("get user info error code = " + code);
104-
}));
105-
}
106-
107-
private UserInfo ParseUserInfo(JsonData jsonData)
108-
{
109-
UserInfo userInfo = new UserInfo();
110-
userInfo.name = (string)jsonData["user_info"]["name"];
111-
userInfo.uid = (int)jsonData["user_info"]["uid"];
112-
userInfo.aid = (int)jsonData["user_info"]["aid"];
113-
userInfo.star = (int)jsonData["user_info"]["star"];
114-
userInfo.isVIP = (bool)jsonData["user_info"]["is_vip"];
115-
userInfo.isSuperuser = (bool)jsonData["user_info"]["is_superuser"];
116-
userInfo.avatarNum = (int)jsonData["user_info"]["avatar_num"];
117-
userInfo.travelTimes = (int)jsonData["user_info"]["travel_times"];
118-
userInfo.mapNum = (int)jsonData["user_info"]["map_num"];
119-
120-
JsonData equipData = jsonData["user_info"]["equip_info"];
121-
EquipInfo info = new EquipInfo();
122-
info.eid = (int)equipData["eid"];
123-
info.rid = (string)equipData["rid"];
124-
info.equipName = (string)equipData["equip_name"];
125-
info.star = (int)equipData["star"];
126-
info.mass = (int)equipData["mass"];
127-
info.speed = (int)equipData["speed"];
128-
info.maxSpeed = (int)equipData["max_speed"];
129-
info.isHas = (bool)equipData["is_has"];
130-
info.isShow = (bool)equipData["is_show"];
131-
userInfo.equipInfo = info;
132-
return userInfo;
133-
}
134-
13588
public void RemovePlayer(int uid) {
13689
if (uid == SelfPlayer.userInfo.uid) {
13790
return;

0 commit comments

Comments
 (0)