ruanjian3 Finish
parent
0a3300e5c7
commit
0fa4043d1b
File diff suppressed because it is too large
Load Diff
|
@ -9,20 +9,29 @@ using ZXL.ID;
|
|||
public class ExcelManager : SingleManager<ExcelManager>
|
||||
{
|
||||
private Player_Data _playerData;
|
||||
private GroupData_Data _groupData;
|
||||
private TeamData_Data _teamData;
|
||||
private CultrueData_Data _cultrueData;
|
||||
|
||||
public List<string> GetAllPlayerID => _playerData.GetAllID();
|
||||
public Player_DataInfo GetPlayerInfo => _playerData.GetAndRemove();
|
||||
public GroupData_DataInfo GetGroupInfoA => _groupData.GetA();
|
||||
public GroupData_DataInfo GetGroupInfoB => _groupData.GetB();
|
||||
|
||||
// public Player_DataInfo GetPlayerInfo => _playerData.GetAndRemove();
|
||||
|
||||
public TeamData_DataInfo GetTeamInfo => _teamData.RandomGet();
|
||||
public int GetTeamInfoCount => _teamData.data.Count;
|
||||
|
||||
public CultrueData_DataInfo GetCultrueInfo => _cultrueData.RandomGet();
|
||||
public int GetCultureInfoCount => _cultrueData.data.Count;
|
||||
|
||||
public ExcelManager()
|
||||
{
|
||||
var payerData = ReadExcel.SelectPlayerTable("PlayerData");
|
||||
_playerData = new Player_Data(payerData);
|
||||
|
||||
var groupDataData = ReadExcel.SelectGroupTable("GroupData");
|
||||
_groupData = new GroupData_Data(groupDataData);
|
||||
var teamDataDataInfos = ReadExcel.SelectTeamTable("TeamData");
|
||||
_teamData = new TeamData_Data(teamDataDataInfos);
|
||||
|
||||
var cultrueDataDataInfos = ReadExcel.SelectCultrueTable("CultureData");
|
||||
_cultrueData = new CultrueData_Data(cultrueDataDataInfos);
|
||||
|
||||
Debug.Log("excel data load finish !!");
|
||||
}
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Serialization;
|
||||
|
||||
namespace ZXL.Excel
|
||||
{
|
||||
[System.Serializable]
|
||||
public class CultrueData_Data
|
||||
{
|
||||
private List<CultrueData_DataInfo> _list;
|
||||
|
||||
public List<CultrueData_DataInfo> data => _list;
|
||||
|
||||
public CultrueData_Data(List<CultrueData_DataInfo> list)
|
||||
{
|
||||
_list = list;
|
||||
}
|
||||
|
||||
public CultrueData_DataInfo RandomGet(bool isAutoRemove = false)
|
||||
{
|
||||
CultrueData_DataInfo info = null;
|
||||
var range = Random.Range(0, _list.Count);
|
||||
info = _list[range];
|
||||
if (isAutoRemove)
|
||||
_list.RemoveAt(range);
|
||||
return info;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class CultrueData_DataInfo
|
||||
{
|
||||
public string id;
|
||||
public string cultureName;
|
||||
|
||||
public CultrueData_DataInfo(string id, string cultureName)
|
||||
{
|
||||
this.id = id;
|
||||
this.cultureName = cultureName;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a28e771b76cd41bcab6513398baa9d74
|
||||
timeCreated: 1702301329
|
|
@ -1,55 +0,0 @@
|
|||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace ZXL.Excel
|
||||
{
|
||||
[System.Serializable]
|
||||
public class GroupData_Data
|
||||
{
|
||||
private List<GroupData_DataInfo> _list;
|
||||
|
||||
public List<GroupData_DataInfo> data => _list;
|
||||
|
||||
public GroupData_Data(List<GroupData_DataInfo> list)
|
||||
{
|
||||
_list = list;
|
||||
}
|
||||
|
||||
public GroupData_DataInfo RandomGet(bool isAutoRemove = false)
|
||||
{
|
||||
GroupData_DataInfo info = null;
|
||||
var range = Random.Range(0, _list.Count);
|
||||
info = _list[range];
|
||||
if (isAutoRemove)
|
||||
_list.RemoveAt(range);
|
||||
return info;
|
||||
}
|
||||
|
||||
public GroupData_DataInfo GetA()
|
||||
{
|
||||
GroupData_DataInfo info = null;
|
||||
info = _list[0];
|
||||
return info;
|
||||
}
|
||||
|
||||
public GroupData_DataInfo GetB()
|
||||
{
|
||||
GroupData_DataInfo info = null;
|
||||
info = _list[1];
|
||||
return info;
|
||||
}
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class GroupData_DataInfo
|
||||
{
|
||||
public string id;
|
||||
public string groupName;
|
||||
|
||||
public GroupData_DataInfo(string id, string groupName)
|
||||
{
|
||||
this.id = id;
|
||||
this.groupName = groupName;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -39,11 +39,11 @@ namespace ZXL.Excel
|
|||
return array;
|
||||
}
|
||||
|
||||
public static List<GroupData_DataInfo> SelectGroupTable(string name, string sheetName = "Sheet1")
|
||||
public static List<TeamData_DataInfo> SelectTeamTable(string name, string sheetName = "Sheet1")
|
||||
{
|
||||
string excelName = name + ".xlsx";
|
||||
|
||||
List<GroupData_DataInfo> array = new List<GroupData_DataInfo>();
|
||||
List<TeamData_DataInfo> array = new List<TeamData_DataInfo>();
|
||||
|
||||
var objs = ReadExcel.Read(excelName, sheetName);
|
||||
|
||||
|
@ -53,10 +53,35 @@ namespace ZXL.Excel
|
|||
for (var i = 2; i < yLeng; i++) //ÁÐ
|
||||
{
|
||||
string id = objs[i, 1].ToString();
|
||||
string groupName = objs[i, 2].ToString();
|
||||
GroupData_DataInfo info = new GroupData_DataInfo(
|
||||
string teamName = objs[i, 2].ToString();
|
||||
TeamData_DataInfo info = new TeamData_DataInfo(
|
||||
id,
|
||||
groupName
|
||||
teamName
|
||||
);
|
||||
array.Add(info);
|
||||
}
|
||||
|
||||
return array;
|
||||
}
|
||||
|
||||
public static List<CultrueData_DataInfo> SelectCultrueTable(string name, string sheetName = "Sheet1")
|
||||
{
|
||||
string excelName = name + ".xlsx";
|
||||
|
||||
List<CultrueData_DataInfo> array = new List<CultrueData_DataInfo>();
|
||||
|
||||
var objs = ReadExcel.Read(excelName, sheetName);
|
||||
|
||||
var xLeng = objs.GetLength(1);
|
||||
var yLeng = objs.GetLength(0);
|
||||
|
||||
for (var i = 2; i < yLeng; i++) //ÁÐ
|
||||
{
|
||||
string id = objs[i, 1].ToString();
|
||||
string cultrueName = objs[i, 2].ToString();
|
||||
CultrueData_DataInfo info = new CultrueData_DataInfo(
|
||||
id,
|
||||
cultrueName
|
||||
);
|
||||
array.Add(info);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Serialization;
|
||||
|
||||
namespace ZXL.Excel
|
||||
{
|
||||
[System.Serializable]
|
||||
public class TeamData_Data
|
||||
{
|
||||
private List<TeamData_DataInfo> _list;
|
||||
|
||||
public List<TeamData_DataInfo> data => _list;
|
||||
|
||||
public TeamData_Data(List<TeamData_DataInfo> list)
|
||||
{
|
||||
_list = list;
|
||||
}
|
||||
|
||||
public TeamData_DataInfo RandomGet(bool isAutoRemove = false)
|
||||
{
|
||||
TeamData_DataInfo info = null;
|
||||
var range = Random.Range(0, _list.Count);
|
||||
info = _list[range];
|
||||
if (isAutoRemove)
|
||||
_list.RemoveAt(range);
|
||||
return info;
|
||||
}
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class TeamData_DataInfo
|
||||
{
|
||||
public string id;
|
||||
public string teamName;
|
||||
|
||||
public TeamData_DataInfo(string id, string teamName)
|
||||
{
|
||||
this.id = id;
|
||||
this.teamName = teamName;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -14,7 +14,8 @@ namespace Script
|
|||
|
||||
public class FileManager : SingleManager<FileManager>
|
||||
{
|
||||
private string dataPath;
|
||||
private string dataTeamPath;
|
||||
private string dataCulturePath;
|
||||
private string titlePath;
|
||||
|
||||
private TitleInfo titleInfo;
|
||||
|
@ -22,10 +23,17 @@ namespace Script
|
|||
|
||||
public FileManager()
|
||||
{
|
||||
dataPath = Application.streamingAssetsPath + $"/data{GenerateGlobalID.GenerateIntID()}.txt";
|
||||
if (!File.Exists(dataPath))
|
||||
dataTeamPath = Application.streamingAssetsPath + $"/TeamData.txt";
|
||||
if (!File.Exists(dataTeamPath))
|
||||
{
|
||||
var fileStream = File.Create(dataPath);
|
||||
var fileStream = File.Create(dataTeamPath);
|
||||
fileStream.Dispose();
|
||||
}
|
||||
|
||||
dataCulturePath = Application.streamingAssetsPath + $"/CultureData.txt";
|
||||
if (!File.Exists(dataCulturePath))
|
||||
{
|
||||
var fileStream = File.Create(dataCulturePath);
|
||||
fileStream.Dispose();
|
||||
}
|
||||
|
||||
|
@ -34,10 +42,16 @@ namespace Script
|
|||
titleInfo = new TitleInfo() { title = text[0], subject = text[1] };
|
||||
}
|
||||
|
||||
public void SavePlayerData(string content)
|
||||
public void SavePlayerTeamData(string content)
|
||||
{
|
||||
var text = File.ReadAllText(dataPath);
|
||||
File.WriteAllText(dataPath, text + "\n" + content);
|
||||
var text = File.ReadAllText(dataTeamPath);
|
||||
File.WriteAllText(dataTeamPath, "\n" + content);
|
||||
}
|
||||
|
||||
public void SavePlayerCultureData(string content)
|
||||
{
|
||||
var text = File.ReadAllText(dataCulturePath);
|
||||
File.WriteAllText(dataCulturePath, "\n" + content);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -7,5 +7,14 @@ namespace Script
|
|||
{
|
||||
private List<SummaryInfo> _list = new List<SummaryInfo>();
|
||||
public List<SummaryInfo> list => _list;
|
||||
|
||||
public void SetListID(List<int> ids)
|
||||
{
|
||||
_list = new List<SummaryInfo>();
|
||||
foreach (var id in ids)
|
||||
{
|
||||
_list.Add(new SummaryInfo() { id = id });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Script.UI
|
||||
{
|
||||
public class CultureItem : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private Button btn_One;
|
||||
[SerializeField] private Button btn_Two;
|
||||
[SerializeField] private Button btn_AllTeam;
|
||||
|
||||
public bool IsFinish;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
btn_One.onClick.AddListener(ClickOne);
|
||||
btn_Two.onClick.AddListener(ClickTwo);
|
||||
btn_AllTeam.onClick.AddListener(ClickAll);
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
btn_One.onClick.RemoveListener(ClickOne);
|
||||
btn_Two.onClick.RemoveListener(ClickTwo);
|
||||
btn_AllTeam.onClick.RemoveListener(ClickAll);
|
||||
}
|
||||
|
||||
private void ClickAll()
|
||||
{
|
||||
UIManager.Instance.ClosePanel(PanelType.Home);
|
||||
UIManager.Instance.OpenPanel(PanelType.Cultrue);
|
||||
btn_AllTeam.interactable = false;
|
||||
IsFinish = true;
|
||||
}
|
||||
|
||||
private void ClickTwo()
|
||||
{
|
||||
}
|
||||
|
||||
private void ClickOne()
|
||||
{
|
||||
}
|
||||
|
||||
public void ShowAndHide(bool isShow)
|
||||
{
|
||||
gameObject.SetActive(isShow);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: fd5ac7de9054410b84b688349200feab
|
||||
timeCreated: 1702306883
|
|
@ -1,24 +0,0 @@
|
|||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using ZXL.Excel;
|
||||
|
||||
namespace Script.UI
|
||||
{
|
||||
public class ResultItem : MonoBehaviour
|
||||
{
|
||||
public Text txtNum;
|
||||
private Player_DataInfo _playerDataInfo;
|
||||
|
||||
public void SetPlayerData(Player_DataInfo playerDataInfo)
|
||||
{
|
||||
_playerDataInfo = playerDataInfo;
|
||||
txtNum.text = playerDataInfo.id;
|
||||
}
|
||||
|
||||
public void ShowAndHide(bool isShow)
|
||||
{
|
||||
gameObject.SetActive(isShow);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,55 +0,0 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using Random = UnityEngine.Random;
|
||||
|
||||
namespace Script.UI
|
||||
{
|
||||
public class ScrollItem : MonoBehaviour
|
||||
{
|
||||
public Text txtNum;
|
||||
|
||||
private List<string> _list = new List<string>();
|
||||
|
||||
private int index = 0;
|
||||
|
||||
public float time;
|
||||
private WaitForSeconds _waitForSeconds;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
_list = ExcelManager.Instance.GetAllPlayerID;
|
||||
_waitForSeconds = new WaitForSeconds(time);
|
||||
|
||||
StartCoroutine(Upd());
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
StopCoroutine(Upd());
|
||||
}
|
||||
|
||||
IEnumerator Upd()
|
||||
{
|
||||
yield return null;
|
||||
while (true)
|
||||
{
|
||||
yield return _waitForSeconds;
|
||||
++index;
|
||||
if (index >= _list.Count - 1)
|
||||
{
|
||||
index = 0;
|
||||
}
|
||||
|
||||
txtNum.text = _list[index];
|
||||
}
|
||||
}
|
||||
|
||||
public void ShowOrHide(bool isShow)
|
||||
{
|
||||
gameObject.SetActive(isShow);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a7de7425e08a4527bf0e08930d0b65f9
|
||||
timeCreated: 1702209929
|
|
@ -0,0 +1,57 @@
|
|||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Serialization;
|
||||
using UnityEngine.UI;
|
||||
using ZXL.Excel;
|
||||
|
||||
namespace Script.UI
|
||||
{
|
||||
public class TeamItem : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private Button btn_Team_One;
|
||||
[SerializeField] private Button btn_Team_Two;
|
||||
[SerializeField] private Button btn_AllTeam;
|
||||
|
||||
public bool IsFinish;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
btn_Team_One.onClick.AddListener(ClickOne);
|
||||
btn_Team_Two.onClick.AddListener(ClickTwo);
|
||||
btn_AllTeam.onClick.AddListener(ClickAll);
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
btn_Team_One.onClick.RemoveListener(ClickOne);
|
||||
btn_Team_Two.onClick.RemoveListener(ClickTwo);
|
||||
btn_AllTeam.onClick.RemoveListener(ClickAll);
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
IsFinish = false;
|
||||
}
|
||||
|
||||
private void ClickAll()
|
||||
{
|
||||
UIManager.Instance.ClosePanel(PanelType.Home);
|
||||
UIManager.Instance.OpenPanel(PanelType.Team);
|
||||
btn_AllTeam.interactable = false;
|
||||
IsFinish = true;
|
||||
}
|
||||
|
||||
private void ClickTwo()
|
||||
{
|
||||
}
|
||||
|
||||
private void ClickOne()
|
||||
{
|
||||
}
|
||||
|
||||
public void ShowAndHide(bool isShow)
|
||||
{
|
||||
gameObject.SetActive(isShow);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,83 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Script.UI
|
||||
{
|
||||
public class CulturePanel : PanelBase
|
||||
{
|
||||
public GameObject item;
|
||||
public Button btn_Close;
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
base.Init();
|
||||
btn_Close.onClick.AddListener(ClickClose);
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
base.Dispose();
|
||||
btn_Close.onClick.RemoveListener(ClickClose);
|
||||
}
|
||||
|
||||
public override void Open()
|
||||
{
|
||||
base.Open();
|
||||
InitItem();
|
||||
}
|
||||
|
||||
private void ClickClose()
|
||||
{
|
||||
UIManager.Instance.OpenPanel(PanelType.Home);
|
||||
Close();
|
||||
}
|
||||
|
||||
void InitItem()
|
||||
{
|
||||
List<SummaryInfo> cache = new List<SummaryInfo>(GlobalManager.Instance.list);
|
||||
|
||||
foreach (var summaryInfo in cache)
|
||||
{
|
||||
var cultrueDataInfo = ExcelManager.Instance.GetCultrueInfo;
|
||||
summaryInfo.culture = cultrueDataInfo.cultureName;
|
||||
}
|
||||
|
||||
// 排个序
|
||||
// var list = cache.OrderBy(t => t.id).ToList();
|
||||
var list = cache.OrderBy(t => t.id).ToList();
|
||||
// cache.Sort((a, b) => a.id.CompareTo(b.id));
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
foreach (var summaryInfo in cache)
|
||||
{
|
||||
item.SetActive(false);
|
||||
GenItem(summaryInfo.id.ToString(), summaryInfo.culture);
|
||||
sb.AppendLine($"选手ID:{summaryInfo.id}");
|
||||
sb.AppendLine($"选手文化元素:{summaryInfo.culture}");
|
||||
sb.AppendLine($"\n");
|
||||
}
|
||||
|
||||
FileManager.Instance.SavePlayerTeamData(sb.ToString());
|
||||
}
|
||||
|
||||
// void Mao(ref List<string>)
|
||||
// {
|
||||
//
|
||||
// }
|
||||
|
||||
private void GenItem(string id, string culture)
|
||||
{
|
||||
var go = GameObject.Instantiate(item, item.transform.parent);
|
||||
go.name = id;
|
||||
var txt_ID = go.transform.Find("txt_ID").GetComponent<Text>();
|
||||
var txt_Culture = go.transform.Find("txt_Culture").GetComponent<Text>();
|
||||
txt_ID.text = id;
|
||||
txt_Culture.text = culture;
|
||||
go.SetActive(true);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 62f12218867844beae32dc745e0533f9
|
||||
timeCreated: 1702302255
|
|
@ -1,96 +0,0 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Script.UI
|
||||
{
|
||||
public class GroupPanel : PanelBase
|
||||
{
|
||||
public GameObject item;
|
||||
public Button btn_Close;
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
base.Init();
|
||||
btn_Close.onClick.AddListener(ClickClose);
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
base.Dispose();
|
||||
btn_Close.onClick.RemoveListener(ClickClose);
|
||||
}
|
||||
|
||||
public override void Open()
|
||||
{
|
||||
base.Open();
|
||||
InitItem();
|
||||
}
|
||||
|
||||
private void ClickClose()
|
||||
{
|
||||
UIManager.Instance.OpenPanel(PanelType.Finish);
|
||||
}
|
||||
|
||||
void InitItem()
|
||||
{
|
||||
List<SummaryInfo> cache = new List<SummaryInfo>(GlobalManager.Instance.list);
|
||||
List<SummaryInfo> end = new List<SummaryInfo>();
|
||||
|
||||
var num = cache.Count % 2; // 平均后多出来的
|
||||
var listNum = cache.Count / 2; //
|
||||
var groupAName = ExcelManager.Instance.GetGroupInfoA.groupName;
|
||||
var groupBName = ExcelManager.Instance.GetGroupInfoB.groupName;
|
||||
|
||||
// A
|
||||
var count = listNum + num;
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
var range = Random.Range(0, cache.Count - 1);
|
||||
var summaryInfo = cache[range];
|
||||
summaryInfo.group = groupAName;
|
||||
end.Add(summaryInfo);
|
||||
cache.Remove(summaryInfo);
|
||||
}
|
||||
|
||||
// B
|
||||
for (int i = 0; i < listNum; i++)
|
||||
{
|
||||
var range = Random.Range(0, cache.Count - 1);
|
||||
var summaryInfo = cache[range];
|
||||
summaryInfo.group = groupBName;
|
||||
end.Add(summaryInfo);
|
||||
cache.Remove(summaryInfo);
|
||||
}
|
||||
|
||||
// 排个序
|
||||
var list = end.OrderBy(t=>t.id).ToList();
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
foreach (var summaryInfo in list)
|
||||
{
|
||||
item.SetActive(false);
|
||||
GenItem(summaryInfo.id, summaryInfo.group);
|
||||
sb.AppendLine($"选手ID:{summaryInfo.id}");
|
||||
sb.AppendLine($"选手分组:{summaryInfo.group}");
|
||||
sb.AppendLine($"\n");
|
||||
}
|
||||
|
||||
FileManager.Instance.SavePlayerData(sb.ToString());
|
||||
}
|
||||
|
||||
private void GenItem(string id, string group)
|
||||
{
|
||||
var go = GameObject.Instantiate(item, item.transform.parent);
|
||||
go.name = id;
|
||||
var txt_ID = go.transform.Find("txt_ID").GetComponent<Text>();
|
||||
var txt_Group = go.transform.Find("txt_Group").GetComponent<Text>();
|
||||
txt_ID.text = id;
|
||||
txt_Group.text = group;
|
||||
go.SetActive(true);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Serialization;
|
||||
using UnityEngine.UI;
|
||||
|
@ -8,44 +9,18 @@ namespace Script.UI
|
|||
public class HomePanel : PanelBase
|
||||
{
|
||||
[SerializeField] private Text txt_Title;
|
||||
[SerializeField] private Button btn_One;
|
||||
[SerializeField] private Button btn_Two;
|
||||
[SerializeField] private Button btn_Group;
|
||||
|
||||
public TeamItem teamItem;
|
||||
public CultureItem cultureItem;
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
base.Init();
|
||||
btn_One.onClick.AddListener(ClickOne);
|
||||
btn_Two.onClick.AddListener(ClickTwo);
|
||||
btn_Group.onClick.AddListener(ClickGroup);
|
||||
}
|
||||
|
||||
private void ClickGroup()
|
||||
{
|
||||
UIManager.Instance.OpenPanel(PanelType.Group);
|
||||
Close();
|
||||
}
|
||||
|
||||
private void ClickTwo()
|
||||
{
|
||||
var scrollPanel = UIManager.Instance.OpenPanel<ScrollPanel>(PanelType.Scroll);
|
||||
scrollPanel.SetRollCount(2);
|
||||
Close();
|
||||
}
|
||||
|
||||
private void ClickOne()
|
||||
{
|
||||
var scrollPanel = UIManager.Instance.OpenPanel<ScrollPanel>(PanelType.Scroll);
|
||||
scrollPanel.SetRollCount(1);
|
||||
Close();
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
base.Dispose();
|
||||
btn_One.onClick.RemoveListener(ClickOne);
|
||||
btn_Two.onClick.RemoveListener(ClickTwo);
|
||||
btn_Group.onClick.RemoveListener(ClickGroup);
|
||||
}
|
||||
|
||||
public override void ResetPanelData()
|
||||
|
@ -53,15 +28,18 @@ namespace Script.UI
|
|||
base.ResetPanelData();
|
||||
txt_Title.text = FileManager.Instance.GetTitle.title;
|
||||
|
||||
var count = ExcelManager.Instance.GetAllPlayerID.Count;
|
||||
if (count == 1)
|
||||
List<int> ids = new List<int>();
|
||||
foreach (var s in ExcelManager.Instance.GetAllPlayerID)
|
||||
{
|
||||
btn_Two.interactable = false;
|
||||
ids.Add(int.Parse(s));
|
||||
}
|
||||
else if (count == 0)
|
||||
|
||||
GlobalManager.Instance.SetListID(ids);
|
||||
|
||||
if (teamItem.IsFinish && cultureItem.IsFinish)
|
||||
{
|
||||
btn_One.interactable = false;
|
||||
btn_Two.interactable = false;
|
||||
UIManager.Instance.OpenPanel(PanelType.Finish);
|
||||
Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
{
|
||||
None,
|
||||
Home,
|
||||
Scroll,
|
||||
Group,
|
||||
Team,
|
||||
Cultrue,
|
||||
Finish
|
||||
}
|
||||
}
|
|
@ -1,112 +0,0 @@
|
|||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using ZXL.Excel;
|
||||
|
||||
namespace Script.UI
|
||||
{
|
||||
public class ScrollPanel : PanelBase
|
||||
{
|
||||
private int count;
|
||||
public GameObject roll;
|
||||
public GameObject result;
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
base.Init();
|
||||
// roll
|
||||
btn_Stop.onClick.AddListener(ClickStop);
|
||||
|
||||
// result
|
||||
btn_Close.onClick.AddListener(ClickClose);
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
base.Dispose();
|
||||
// roll
|
||||
btn_Stop.onClick.RemoveListener(ClickStop);
|
||||
|
||||
// result
|
||||
btn_Close.onClick.RemoveListener(ClickClose);
|
||||
}
|
||||
|
||||
#region Roll
|
||||
|
||||
public ScrollItem leftScrollItem;
|
||||
public ScrollItem rightScrollItem;
|
||||
public Button btn_Stop;
|
||||
|
||||
private void ClickStop()
|
||||
{
|
||||
SetResultCount();
|
||||
}
|
||||
|
||||
public void SetRollCount(int count)
|
||||
{
|
||||
roll.SetActive(true);
|
||||
result.SetActive(false);
|
||||
this.count = count;
|
||||
if (count == 1)
|
||||
{
|
||||
leftScrollItem.ShowOrHide(true);
|
||||
rightScrollItem.ShowOrHide(false);
|
||||
}
|
||||
else if (count == 2)
|
||||
{
|
||||
leftScrollItem.ShowOrHide(true);
|
||||
rightScrollItem.ShowOrHide(true);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Result
|
||||
|
||||
public ResultItem leftResultItem;
|
||||
public ResultItem rightResultItem;
|
||||
|
||||
private Player_DataInfo leftPlayerDataInfo;
|
||||
private Player_DataInfo rightPlayerDataInfo;
|
||||
|
||||
public Button btn_Close;
|
||||
|
||||
private void ClickClose()
|
||||
{
|
||||
var count = ExcelManager.Instance.GetAllPlayerID.Count;
|
||||
|
||||
UIManager.Instance.OpenPanel<HomePanel>(PanelType.Home);
|
||||
Close();
|
||||
}
|
||||
|
||||
private void SetResultCount()
|
||||
{
|
||||
roll.SetActive(false);
|
||||
result.SetActive(true);
|
||||
if (count == 1)
|
||||
{
|
||||
leftResultItem.ShowAndHide(true);
|
||||
rightResultItem.ShowAndHide(false);
|
||||
|
||||
leftPlayerDataInfo = ExcelManager.Instance.GetPlayerInfo;
|
||||
leftResultItem.SetPlayerData(leftPlayerDataInfo);
|
||||
|
||||
GlobalManager.Instance.list.Add(new SummaryInfo() { id = leftPlayerDataInfo.id });
|
||||
}
|
||||
else if (count == 2)
|
||||
{
|
||||
leftResultItem.ShowAndHide(true);
|
||||
rightResultItem.ShowAndHide(true);
|
||||
|
||||
leftPlayerDataInfo = ExcelManager.Instance.GetPlayerInfo;
|
||||
rightPlayerDataInfo = ExcelManager.Instance.GetPlayerInfo;
|
||||
leftResultItem.SetPlayerData(leftPlayerDataInfo);
|
||||
rightResultItem.SetPlayerData(rightPlayerDataInfo);
|
||||
|
||||
GlobalManager.Instance.list.Add(new SummaryInfo() { id = leftPlayerDataInfo.id });
|
||||
GlobalManager.Instance.list.Add(new SummaryInfo() { id = rightPlayerDataInfo.id });
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: fd8f5063fc1e4e08aa3aceab1c61cc36
|
||||
timeCreated: 1702209766
|
|
@ -5,9 +5,12 @@ namespace Script.UI
|
|||
public class SummaryInfo
|
||||
{
|
||||
//ID
|
||||
public string id;
|
||||
public int id;
|
||||
|
||||
// 项目
|
||||
public string group;
|
||||
public string team;
|
||||
|
||||
// 项目
|
||||
public string culture;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,76 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Script.UI
|
||||
{
|
||||
public class TeamPanel : PanelBase
|
||||
{
|
||||
public GameObject item;
|
||||
public Button btn_Close;
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
base.Init();
|
||||
btn_Close.onClick.AddListener(ClickClose);
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
base.Dispose();
|
||||
btn_Close.onClick.RemoveListener(ClickClose);
|
||||
}
|
||||
|
||||
public override void Open()
|
||||
{
|
||||
base.Open();
|
||||
InitItem();
|
||||
}
|
||||
|
||||
private void ClickClose()
|
||||
{
|
||||
UIManager.Instance.OpenPanel(PanelType.Home);
|
||||
Close();
|
||||
}
|
||||
|
||||
void InitItem()
|
||||
{
|
||||
List<SummaryInfo> cache = new List<SummaryInfo>(GlobalManager.Instance.list);
|
||||
|
||||
foreach (var summaryInfo in cache)
|
||||
{
|
||||
var teamDataDataInfo = ExcelManager.Instance.GetTeamInfo;
|
||||
summaryInfo.team = teamDataDataInfo.teamName;
|
||||
}
|
||||
|
||||
// 排个序
|
||||
var list = cache.OrderBy(t => t.id).ToList();
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
foreach (var summaryInfo in list)
|
||||
{
|
||||
item.SetActive(false);
|
||||
GenItem(summaryInfo.id.ToString(), summaryInfo.team);
|
||||
sb.AppendLine($"选手ID:{summaryInfo.id}");
|
||||
sb.AppendLine($"选手团型:{summaryInfo.team}");
|
||||
sb.AppendLine($"\n");
|
||||
}
|
||||
|
||||
FileManager.Instance.SavePlayerTeamData(sb.ToString());
|
||||
}
|
||||
|
||||
private void GenItem(string id, string team)
|
||||
{
|
||||
var go = GameObject.Instantiate(item, item.transform.parent);
|
||||
go.name = id;
|
||||
var txt_ID = go.transform.Find("txt_ID").GetComponent<Text>();
|
||||
var txt_Team = go.transform.Find("txt_Team").GetComponent<Text>();
|
||||
txt_ID.text = id;
|
||||
txt_Team.text = team;
|
||||
go.SetActive(true);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9f07e35e28c0a6c4388ce36936d38ecd
|
||||
guid: 9fbea354f1d33a74187000cad9c8d8ec
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
Binary file not shown.
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 837215d7031790a42bb6830a88546ccd
|
||||
guid: b212872f7dbca6e4ba7e37cb4646710a
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
Binary file not shown.
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: b212872f7dbca6e4ba7e37cb4646710a
|
||||
guid: d63137826cd07324daaca2cd6a2547c5
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
|
Binary file not shown.
|
@ -0,0 +1,53 @@
|
|||
|
||||
选手ID:1
|
||||
选手文化元素:测试文化元素3
|
||||
|
||||
|
||||
选手ID:2
|
||||
选手文化元素:测试文化元素5
|
||||
|
||||
|
||||
选手ID:3
|
||||
选手文化元素:测试文化元素6
|
||||
|
||||
|
||||
选手ID:4
|
||||
选手文化元素:测试文化元素3
|
||||
|
||||
|
||||
选手ID:5
|
||||
选手文化元素:测试文化元素11
|
||||
|
||||
|
||||
选手ID:6
|
||||
选手文化元素:测试文化元素6
|
||||
|
||||
|
||||
选手ID:7
|
||||
选手文化元素:测试文化元素1
|
||||
|
||||
|
||||
选手ID:8
|
||||
选手文化元素:测试文化元素3
|
||||
|
||||
|
||||
选手ID:9
|
||||
选手文化元素:测试文化元素10
|
||||
|
||||
|
||||
选手ID:10
|
||||
选手文化元素:测试文化元素2
|
||||
|
||||
|
||||
选手ID:11
|
||||
选手文化元素:测试文化元素4
|
||||
|
||||
|
||||
选手ID:12
|
||||
选手文化元素:测试文化元素4
|
||||
|
||||
|
||||
选手ID:13
|
||||
选手文化元素:测试文化元素4
|
||||
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 12dc9ac2beec49c40a52d833c7e02ef2
|
||||
guid: d56b9790bf8470f458d22b15617d5de2
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
|
@ -1,25 +0,0 @@
|
|||
|
||||
选手ID:01
|
||||
选手分组:B组
|
||||
|
||||
|
||||
选手ID:04
|
||||
选手分组:A组
|
||||
|
||||
|
||||
选手ID:05
|
||||
选手分组:B组
|
||||
|
||||
|
||||
选手ID:07
|
||||
选手分组:B组
|
||||
|
||||
|
||||
选手ID:08
|
||||
选手分组:A组
|
||||
|
||||
|
||||
选手ID:09
|
||||
选手分组:A组
|
||||
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
|
||||
选手ID:09
|
||||
选手分组:B组
|
||||
|
||||
|
||||
选手ID:08
|
||||
选手分组:A组
|
||||
|
||||
|
||||
选手ID:07
|
||||
选手分组:A组
|
||||
|
||||
|
||||
选手ID:06
|
||||
选手分组:B组
|
||||
|
||||
|
||||
选手ID:05
|
||||
选手分组:A组
|
||||
|
||||
|
||||
选手ID:04
|
||||
选手分组:B组
|
||||
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
|
||||
选手ID:03
|
||||
选手分组:A组
|
||||
选手ID:06
|
||||
选手分组:A组
|
||||
选手ID:05
|
||||
选手分组:A组
|
||||
选手ID:01
|
||||
选手分组:A组
|
||||
选手ID:09
|
||||
选手分组:A组
|
||||
选手ID:08
|
||||
选手分组:A组
|
||||
选手ID:04
|
||||
选手分组:B组
|
||||
选手ID:11
|
||||
选手分组:B组
|
||||
选手ID:02
|
||||
选手分组:B组
|
||||
选手ID:10
|
||||
选手分组:B组
|
||||
选手ID:07
|
||||
选手分组:B组
|
||||
选手ID:12
|
||||
选手分组:B组
|
Loading…
Reference in New Issue