You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.3 KiB
81 lines
2.3 KiB
using AX.MessageSystem; |
|
using AX.Network.Protocols; |
|
using AX.NetworkSystem; |
|
using System.Collections; |
|
using System.Collections.Generic; |
|
using UnityEngine; |
|
using UnityEngine.UI; |
|
|
|
public class OwnerScroll : MonoBehaviour { |
|
public GameObject itemPre; |
|
public Transform content; |
|
private List<UserData> users = new List<UserData>(); |
|
public ToggleGroup toggleGroup; |
|
|
|
// Use this for initialization |
|
void Awake () { |
|
if (itemPre == null) |
|
{ |
|
itemPre = Resources.Load("HandOver/OwnerItem") as GameObject; |
|
} |
|
if (content == null) |
|
{ |
|
content = transform.Find("Viewport/Content"); |
|
} |
|
toggleGroup = GetComponent<ToggleGroup>(); |
|
} |
|
void OnEnable() |
|
{ |
|
getMyUsers(); |
|
CreateItems(); |
|
NetworkMessageDispatcher.AddListener("HAND_OVER_SYNC", Reset); |
|
} |
|
void OnDisable() |
|
{ |
|
NetworkMessageDispatcher.RemoveListener("HAND_OVER_SYNC", Reset); |
|
} |
|
void Reset(BinaryMessage message) |
|
{ |
|
StartCoroutine(UpdateUsers()); |
|
} |
|
IEnumerator UpdateUsers() |
|
{ |
|
yield return new WaitForSeconds(0.1f); |
|
getMyUsers(); |
|
CreateItems(); |
|
} |
|
void getMyUsers() |
|
{ |
|
users = new List<UserData>(); |
|
foreach(UserData user in CurrentUserInfo.room.UserList) |
|
{ |
|
//演习模式下 |
|
if(GameSettings.othersSettings.mode == Mode.manoeuvre && user.Org.ParentId == CurrentUserInfo.mySelf.OrganizationId) |
|
{ |
|
users.Add(user); |
|
} |
|
//练习模式下 |
|
else if(GameSettings.othersSettings.mode == Mode.Practice && user.Org.ParentId == CurrentUserInfo.organization.Id) |
|
{ |
|
users.Add(user); |
|
} |
|
} |
|
} |
|
void CreateItems() |
|
{ |
|
for (int i = 0; i <content.childCount; i++) |
|
{ |
|
Destroy(content.GetChild(i).gameObject); |
|
} |
|
foreach(UserData user in users) |
|
{ |
|
GameObject userItem = Instantiate(itemPre, content); |
|
userItem.transform.Find("OwnerToggle").GetComponent<OwnerToggle>().Set(user,toggleGroup); |
|
userItem.transform.Find("OwnerPanel").GetComponent<OwnerPanel>().GetOwnersPower(user); |
|
} |
|
} |
|
// Update is called once per frame |
|
void Update () { |
|
|
|
} |
|
}
|
|
|