网上演练贵港万达广场(人员密集)
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.
 
 
 

161 lines
5.2 KiB

using AX.MessageSystem;
using AX.NetworkSystem;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ForciblePanel : BaseAttributeSet
{
private SliderRecordByAC SliderHight;
private SliderRecordByAC SliderWidth;
private ButtonRecordByAC Sure;
private ButtonRecordByAC Cancel;
private GameObject selectObjLast;
private static ForciblePanel instance;
public static ForciblePanel Instance
{
get
{
if (instance == null)
{
GameObject obj = Resources.Load<GameObject>("Common/ForciblePanel");
GameObject clone = Instantiate(obj, GameObject.Find("Canvas").transform);
clone.transform.SetAsLastSibling();
clone.name = "ForciblePanel";
clone.transform.position = Vector3.zero;
instance = clone.GetComponent<ForciblePanel>();
instance.Init();
}
return instance;
}
}
void Init()
{
SliderHight = transform.Find("SliderHight").GetComponent<SliderRecordByAC>();
SliderWidth = transform.Find("SliderWidth").GetComponent<SliderRecordByAC>();
Sure = transform.Find("SureButton").GetComponent<ButtonRecordByAC>();
Cancel = transform.Find("CancelButton").GetComponent<ButtonRecordByAC>();
SliderHight.OutInterFaceSlider = SliderHightChange;
SliderWidth.OutInterFaceSlider = SliderWidthChange;
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)
{//若是灾情库设置模式的查看,则不可以修改
SliderHight.GetComponent<Slider>().interactable = false;
SliderWidth.GetComponent<Slider>().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<ForcibleCtrl>())
{
chooseObj.GetComponent<ForcibleCtrl>().Set(SliderHight.GetComponent<Slider>().value, SliderWidth.GetComponent<Slider>().value);
// MessageDispatcher.SendMessage("CANCEL_OBJ_SELECTED");
if (GameSettings.othersSettings.mode != Mode.DisasterManagement)
{
ForcibleSyncData data = new ForcibleSyncData()
{
gameObjID = chooseObj.GetComponent<CloneGameObjInfo>().gameObjID,
Hight= SliderHight.GetComponent<Slider>().value,
Width= SliderWidth.GetComponent<Slider>().value
};
data.SendUserID = CurrentUserInfo.mySelf.Id;
NetworkManager.Default.SendAsync("FORCIBLE_SCALE_SYNC", data);
}
LoadPromptWin.Instance.LoadTextPromptWindow("设置成功", 1f);
gameObject.SetActive(false);
}
}
public void Close(bool IsNotSuerClose = true)
{
if (chooseObj&& chooseObj.GetComponent<ForcibleCtrl>())
{
chooseObj.GetComponent<ForcibleCtrl>().ResertAtOpenData();
gameObject.SetActive(false);
}
}
private void SliderHightChange( float value)
{
chooseObj.GetComponent<ForcibleCtrl>().Hight = value;
}
private void SliderWidthChange( float value)
{
chooseObj.GetComponent<ForcibleCtrl>().Width = value;
}
public override void LoadObjData()
{
if (chooseObj && chooseObj.GetComponent<ForcibleCtrl>())
{
chooseObj.GetComponent<ForcibleCtrl>().RecordOpenData();
}
SliderHight.GetComponent<Slider>().value = chooseObj.GetComponent<ForcibleCtrl>().hightOpen;
SliderWidth.GetComponent<Slider>().value = chooseObj.GetComponent<ForcibleCtrl>().widthOpen;
}
public override void ResetData(GameObject dataObj)
{
Close();
}
}