|
|
|
using AX.MessageSystem;
|
|
|
|
using AX.NetworkSystem;
|
|
|
|
using System;
|
|
|
|
using System.Collections;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using UnityEngine;
|
|
|
|
using UnityEngine.UI;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public class SetLiquipdata
|
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// 全液面火Id
|
|
|
|
/// </summary>
|
|
|
|
public long LiquipId;
|
|
|
|
/// <summary>
|
|
|
|
/// 时间
|
|
|
|
/// </summary>
|
|
|
|
public string time;
|
|
|
|
}
|
|
|
|
public class FireLiquipPanel : BaseAttributeSet
|
|
|
|
{
|
|
|
|
|
|
|
|
private InputFieldRecordByAC Minput;
|
|
|
|
private InputFieldRecordByAC Sinput;
|
|
|
|
private ButtonRecordByAC Sure;
|
|
|
|
private ButtonRecordByAC Cancel;
|
|
|
|
private Text Error;
|
|
|
|
private int Mtime;
|
|
|
|
private int Stime;
|
|
|
|
private int SetTime;
|
|
|
|
|
|
|
|
|
|
|
|
private static FireLiquipPanel instance;
|
|
|
|
|
|
|
|
public static FireLiquipPanel Instance
|
|
|
|
{
|
|
|
|
get
|
|
|
|
{
|
|
|
|
if (instance == null)
|
|
|
|
{
|
|
|
|
GameObject obj = Resources.Load<GameObject>("Common/FireLiquipPanel");
|
|
|
|
GameObject clone = Instantiate(obj, GameObject.Find("Canvas").transform);
|
|
|
|
clone.transform.SetAsLastSibling();
|
|
|
|
clone.name = "FireLiquipPanel";
|
|
|
|
clone.transform.position = Vector3.zero;
|
|
|
|
instance = clone.GetComponent<FireLiquipPanel>();
|
|
|
|
instance.Init();
|
|
|
|
}
|
|
|
|
return instance;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void Init()
|
|
|
|
{
|
|
|
|
Minput = transform.Find("MInputField").GetComponent<InputFieldRecordByAC>();
|
|
|
|
Sinput = transform.Find("SInputField").GetComponent<InputFieldRecordByAC>();
|
|
|
|
Sure = transform.Find("SureButton").GetComponent<ButtonRecordByAC>();
|
|
|
|
Cancel = transform.Find("CancelButton").GetComponent<ButtonRecordByAC>();
|
|
|
|
Minput.OutInterFaceInPutField = MinputChange;
|
|
|
|
Sinput.OutInterFaceInPutField = SinputChange;
|
|
|
|
Sure.OutInterFaceButton = SureClick;
|
|
|
|
Cancel.OutInterFaceButton = CancelClick;
|
|
|
|
}
|
|
|
|
|
|
|
|
public override void OnDisable()
|
|
|
|
{
|
|
|
|
base.OnDisable();
|
|
|
|
Close();
|
|
|
|
}
|
|
|
|
|
|
|
|
public override void OpenPanel()
|
|
|
|
{
|
|
|
|
base.OpenPanel();
|
|
|
|
LoadUIDisaster();
|
|
|
|
gameObject.SetActive(true);
|
|
|
|
}
|
|
|
|
|
|
|
|
private void LoadUIDisaster()
|
|
|
|
{
|
|
|
|
if (GameSettings.othersSettings.isSelectedDisaster)
|
|
|
|
{
|
|
|
|
if (GameSettings.othersSettings.mode != Mode.DisasterManagement)
|
|
|
|
{//若是练习或演习模式进入导调组界面,则不可以修改
|
|
|
|
//Minput.GetComponent<InputField>().interactable = false;
|
|
|
|
//Sinput.GetComponent<InputField>().interactable = false;
|
|
|
|
//Sure.GetComponent<Button>().interactable = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Cancel.GetComponent<Button>().interactable = false;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
if (!GameSettings.disasterSetting.isEdit)
|
|
|
|
{//若是灾情库设置模式的查看,则不可以修改
|
|
|
|
Minput.GetComponent<InputField>().interactable = false;
|
|
|
|
Sinput.GetComponent<InputField>().interactable = false;
|
|
|
|
Sure.GetComponent<Button>().interactable = false;
|
|
|
|
//Cancel.GetComponent<Button>().interactable = false;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
//若是灾情库设置模式的编辑,则可以修改
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void CancelClick()
|
|
|
|
{
|
|
|
|
MessageDispatcher.SendMessage("CANCEL_OBJ_SELECTED");
|
|
|
|
Close();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void SureClick()
|
|
|
|
{
|
|
|
|
if (chooseObj&&chooseObj.GetComponent<FireLiquidLevelCtrl>())
|
|
|
|
{
|
|
|
|
SetTime = Mtime * 60 + Stime;
|
|
|
|
string settimestring = SecondToHMS(SetTime);
|
|
|
|
chooseObj.GetComponent<FireLiquidLevelCtrl>().showTime = settimestring;
|
|
|
|
|
|
|
|
//发送设置时间
|
|
|
|
MessageDispatcher.SendMessage("SetTime", new SetLiquipdata()
|
|
|
|
{
|
|
|
|
LiquipId = chooseObj.GetComponent<BaseGameObjInfo>().gameObjID,
|
|
|
|
time = settimestring,
|
|
|
|
});
|
|
|
|
MessageDispatcher.SendMessage("CANCEL_OBJ_SELECTED");
|
|
|
|
|
|
|
|
if (GameSettings.othersSettings.mode != Mode.DisasterManagement)
|
|
|
|
{
|
|
|
|
NetworkManager.Default.SendAsync("SET_LIQUIP_HIDE_SYNC", chooseObj.GetComponent<BaseGameObjInfo>().gameObjID);
|
|
|
|
}
|
|
|
|
|
|
|
|
LoadPromptWin.Instance.LoadTextPromptWindow("设置成功", 1f);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
public void Close()
|
|
|
|
{
|
|
|
|
gameObject.SetActive(false);
|
|
|
|
}
|
|
|
|
|
|
|
|
private void SinputChange(string value)
|
|
|
|
{
|
|
|
|
if (string.IsNullOrEmpty(value))
|
|
|
|
{
|
|
|
|
Sinput.GetComponent<InputField>().text = "0";
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Sinput.GetComponent<InputField>().text=Mathf.Clamp(int.Parse(value),0,59).ToString();
|
|
|
|
}
|
|
|
|
Stime = int.Parse(Sinput.GetComponent<InputField>().text);
|
|
|
|
}
|
|
|
|
|
|
|
|
private void MinputChange(string value)
|
|
|
|
{
|
|
|
|
if (string.IsNullOrEmpty(value))
|
|
|
|
{
|
|
|
|
Minput.GetComponent<InputField>().text = "0";
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Minput.GetComponent<InputField>().text = Mathf.Clamp(int.Parse(value), 0, 999).ToString();
|
|
|
|
}
|
|
|
|
Mtime = int.Parse(Minput.GetComponent<InputField>().text);
|
|
|
|
}
|
|
|
|
|
|
|
|
public override void LoadObjData()
|
|
|
|
{
|
|
|
|
var fireSpreadCtrl = chooseObj.GetComponent<FireLiquidLevelCtrl>();
|
|
|
|
|
|
|
|
string[] str = fireSpreadCtrl.showTime.Split(':');
|
|
|
|
|
|
|
|
int min = int.Parse(str[0]) * 60 + int.Parse(str[1]);
|
|
|
|
int second = int.Parse(str[2]);
|
|
|
|
|
|
|
|
Minput.GetComponent<InputField>().text = min.ToString();
|
|
|
|
Sinput.GetComponent<InputField>().text = second.ToString();
|
|
|
|
}
|
|
|
|
|
|
|
|
public string SecondToHMS(int second)
|
|
|
|
{
|
|
|
|
int h = (int)(second / 3600);
|
|
|
|
int m = (int)(second - h * 3600) / 60;
|
|
|
|
int s = (int)(second - h * 3600 - m * 60);
|
|
|
|
return string.Format("{0:D2}:{1:D2}:{2:D2}", h, m, s);
|
|
|
|
}
|
|
|
|
}
|