曹衍涛
4 years ago
18 changed files with 693 additions and 23 deletions
@ -0,0 +1,101 @@
|
||||
using AX.Network.Protocols; |
||||
using AX.Serialization; |
||||
using System.Collections; |
||||
using System.Collections.Generic; |
||||
using UnityEngine; |
||||
|
||||
public class COMMANDCENTER_FIREMANNUM_SYNC : NetworkMessageBehaviour |
||||
{ |
||||
static CommandFiremanNumSyncData thisinfo; |
||||
protected override void Execute(BinaryMessage message) |
||||
{ |
||||
if(GameSettings.othersSettings.mode==Mode.manoeuvre) |
||||
{ |
||||
var info = message.Body.Deserialize<CommandFiremanNumSyncData>(); |
||||
thisinfo = info; |
||||
//当前客户端是调派客户端 |
||||
if (CurrentUserInfo.mySelf.Id==info.selectUserData.UserInfo.Id) |
||||
{ |
||||
GameSettings.othersSettings.nowperson = info.num; |
||||
GameSettings.othersSettings.personNum += info.num; |
||||
} |
||||
if (!GameSettings.othersSettings.DisplayName_Num_Dic.ContainsKey(info.selectUserData.Org.DisplayName)) |
||||
{ |
||||
GameSettings.othersSettings.DisplayName_Num_Dic.Add(info.selectUserData.Org.DisplayName, info.num); |
||||
} |
||||
else |
||||
{ |
||||
GameSettings.othersSettings.DisplayName_Num_Dic[info.selectUserData.Org.DisplayName] += info.num; |
||||
} |
||||
|
||||
|
||||
Debug.Log( GameSettings.othersSettings.DisplayName_Num_Dic[info.selectUserData.Org.DisplayName]); |
||||
|
||||
|
||||
} |
||||
} |
||||
public static void SetCar() |
||||
{ |
||||
|
||||
//给新派遣的车辆分配人数 |
||||
int nowperson = thisinfo.num; |
||||
List<KeyValuePair<FireCarEngine, bool>> carlistpire = new List<KeyValuePair<FireCarEngine, bool>>(); |
||||
//查找该中队还未分配人数的车辆,也就是本次调派的车辆 |
||||
if (GameSettings.othersSettings.DisCarList_Dic.ContainsKey(thisinfo.selectUserData.Org.DisplayName)) |
||||
{ |
||||
carlistpire = GameSettings.othersSettings.DisCarList_Dic[thisinfo.selectUserData.Org.DisplayName]; |
||||
} |
||||
List<FireCarEngine> carlist = new List<FireCarEngine>(); |
||||
List<FireCarEngine> carlistready = new List<FireCarEngine>(); |
||||
if (carlistpire.Count > 0) |
||||
{ |
||||
for (int i = 0; i < carlistpire.Count; i++) |
||||
{ |
||||
if (carlistpire[i].Value == false) |
||||
{ |
||||
carlist.Add(carlistpire[i].Key); |
||||
// carlistpire.Remove(carlistpire[i]); |
||||
} |
||||
else |
||||
{ |
||||
carlistready.Add(carlistpire[i].Key); |
||||
} |
||||
} |
||||
} |
||||
|
||||
if (nowperson > 0) |
||||
{ |
||||
int[] PersonNum = new int[carlist.Count]; |
||||
|
||||
while (nowperson > 0) |
||||
{ |
||||
for (int i = 0; i < carlist.Count; i++) |
||||
{ |
||||
if (nowperson > 0 && PersonNum[i] < carlist[i].PassengerCapacity) |
||||
{ |
||||
PersonNum[i] += 1; |
||||
nowperson--; |
||||
} |
||||
} |
||||
} |
||||
carlistpire.Clear(); |
||||
for (int i = 0; i < carlistready.Count; i++) |
||||
{ |
||||
KeyValuePair<FireCarEngine, bool> carpire = new KeyValuePair<FireCarEngine, bool>(carlistready[i], true); |
||||
carlistpire.Add(carpire); |
||||
} |
||||
for (int i = 0; i < carlist.Count; i++) |
||||
{ |
||||
carlist[i].PassengerCapacity = PersonNum[i]; |
||||
KeyValuePair<FireCarEngine, bool> carpire = new KeyValuePair<FireCarEngine, bool>(carlist[i], true); |
||||
carlistpire.Add(carpire); |
||||
} |
||||
GameSettings.othersSettings.DisCarList_Dic[thisinfo.selectUserData.Org.DisplayName] = carlistpire; |
||||
} |
||||
} |
||||
protected override void OnDestroy() |
||||
{ |
||||
base.OnDestroy(); |
||||
thisinfo = null; |
||||
} |
||||
} |
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2 |
||||
guid: 2206610ba23068244a480991e6309920 |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
Loading…
Reference in new issue