HKMBFZ/Assets/Scripts/Szz_Scripts/UI/122/炮长/PaoZhangMainPage.cs

213 lines
5.3 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PaoZhangMainPage : UIPageBtnEventBase
{
public List<GameObject> pages=new List<GameObject>();
public Transform selectionsPar;
private void Awake()
{
for (int i = 0; i <= 40; i++)
{
SetOneState(i, 0);
}
}
public override void OnF1Click()
{
base.OnF1Click();
ShowPage(0);
}
private void OnEnable()
{
if (Shoot122Manager.Instance.isShoot)//打完就清空
{
ShootAll();
return;
}
if (Shoot122Manager.Instance.choosedValue.Count != 0)
{
//每次打开更新一下弹孔状态
foreach (KeyValuePair<string, int> kvp in Shoot122Manager.Instance.choosedValue)
{
int key = int.Parse(kvp.Key);
int value = kvp.Value;
SetOneState(key, value);
}
}
}
public void ShowSelectIcon(int index)
{
if (Shoot122Manager.Instance.isShoot == false)
{
if (Shoot122Manager.Instance.chooseShoot.Count == 0)
{
for (int i = 0; i < selectionsPar.childCount; i++)
{
for (int j = 0; j < 3; j++)
{
selectionsPar.GetChild(i).GetChild(j).gameObject.SetActive(false);
}
selectionsPar.GetChild(i).gameObject.SetActive(false);
}
return;
}
}
}
/// <summary>
/// 设置某个弹孔的状态
/// </summary>
/// <param name="index"></param>
/// <param name="state">3空直接关闭 0有弹 1选中 2留膛</param>
public void SetOneState(int index, int state)
{
string itemName = index.ToString();
if (state == 3)
{
selectionsPar.Find(itemName).gameObject.SetActive(false);
return;
}
for (int i = 0; i < selectionsPar.childCount; i++)
{
if (selectionsPar.GetChild(i).name == itemName)
{
Transform item = selectionsPar.GetChild(i);
item.gameObject.SetActive(true);
for (int j = 0; j < item.childCount-1; j++)
{
item.GetChild(j).gameObject.SetActive(false);
}
item.GetChild(state).gameObject.SetActive(true);
}
}
//switch (state)
//{
// case 0:
// break;
// case 1:
// break;
// case 2:
// break;
//}
}
/// <summary>
/// 所有弹都打空
/// </summary>
void ShootAll()
{
for (int i = 0; i < selectionsPar.childCount; i++)
{
for (int j = 0; j < 3; j++)
{
selectionsPar.GetChild(i).GetChild(j).gameObject.SetActive(false);
}
selectionsPar.GetChild(i).gameObject.SetActive(false);
}
}
//void FindPointAndShowState(string pointName, int state)
//{
// for (int i = 0; i < pointLayout.childCount; i++)
// {
// if (pointName == pointLayout.GetChild(i).name)
// {
// if (state != 3)
// {
// for (int j = 0; j < pointLayout.GetChild(i).childCount; j++)
// {
// pointLayout.GetChild(i).GetChild(j).gameObject.SetActive(false);
// }
// pointLayout.GetChild(i).GetChild(state).gameObject.SetActive(true);
// pointLayout.GetChild(i).gameObject.SetActive(true);
// Debug.Log(pointLayout.GetChild(i).GetChild(state).gameObject);
// }
// else
// {
// for (int j = 0; j < pointLayout.GetChild(i).childCount; j++)
// {
// pointLayout.GetChild(i).GetChild(j).gameObject.SetActive(false);
// }
// pointLayout.GetChild(i).gameObject.SetActive(false);
// }
// break;
// }
// }
//}
public override void OnF2Click() {
base.OnF2Click();
ShowPage(1);
}
public override void OnF3Click()
{
base.OnF3Click();
ShowPage(2);
}
public override void OnF4Click()
{
base.OnF4Click();
ShowPage(3);
}
public override void OnF5Click()
{
base.OnF5Click();
ShowPage(4);
}
public override void OnF6Click()
{
base.OnF6Click();
//目前不知道内容
ManagerPaoZhangBase.instance.ShowDownTip("提示瞄准手取消操作");
}
public override void OnF7Click()
{
base.OnF7Click();
ShowPage(6);
}
GameObject currectPage;
void ShowPage(int index)
{
//if (index == 0 || index == 2 || index == 4)
//{
// showPages[index].SetActive(true);
// return;
//}
currectPage = Instantiate(pages[index], transform.parent);
currectPage.SetActive(true);
gameObject.SetActive(false);
}
public void ShowMain()
{
gameObject.SetActive(true);
}
}