using AX.InputSystem; using AX.MessageSystem; using AX.NetworkSystem; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class AllotButton : BaseButton { private Transform PowerScrollContent; private Transform OwnerContent; /// /// 所选择的力量列表 /// public static List SelectToAllot = new List(); /// /// 选择的要分配给的用户Id /// public static long SelectUserId = 0; /// /// 现在所拥有的力量,总力量抛去已经分配出去的。 /// public static List OwnerPowerNowList = new List(); /// /// 该中队所拥有的所有力量 /// public List AllPowerThisTeam = new List(); void Start() { PowerScrollContent = transform.parent.Find("PowerScrollView/Viewport/PowerScrollContent"); OwnerContent = transform.parent.Find("OwnerScrollView/Viewport/OwnerContent"); } public override void RespondFun() { if (SelectUserId != 0 && SelectToAllot.Count > 0 ) { List alloPowers = new List(); //保存所有被移交力量的gameObjID foreach (GameObject powerObj in SelectToAllot) { alloPowers.Add(powerObj.GetComponent().gameObjID); } HandOverPair pair = new HandOverPair() { powers = alloPowers, acceptedID = SelectUserId, senderID = CurrentUserInfo.mySelf.Id }; //取消所有物体的选中 MessageDispatcher.SendMessage("CANCEL_SELECTED_COMMAND", new CmdArgs()); //发给房间所有人 NetworkManager.Default.SendAsync("HAND_OVER_SYNC", pair); //MessageDispatcher.SendMessage("HandOverUpdate"); LoadPromptWin.Instance.LoadTextPromptWindow("已移交选中力量", 1); //取消移交对象选择 SelectUserId = 0; SelectToAllot.Clear(); MessageDispatcher.SendMessage("CancelAllocateSelectUserID"); } else if(SelectUserId==0) { LoadPromptWin.Instance.LoadTextPromptWindow("请选择移交对象", 1.5f); } else if (SelectToAllot.Count <= 0) { LoadPromptWin.Instance.LoadTextPromptWindow("请选择移交力量", 1.5f); } } } public class HandOverPair { /// /// 被移交的力量 /// public List powers; /// /// 被移交的人员ID /// public long acceptedID; /// /// 移交人员的ID /// public long senderID; }