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.
123 lines
4.0 KiB
123 lines
4.0 KiB
1 year ago
|
using UnityEngine;
|
||
|
using UnityEngine.UI;
|
||
|
using UniRx;
|
||
|
|
||
|
public class CreationPanel : UIView
|
||
|
{
|
||
|
public Text TitleText;
|
||
|
public Toggle CreateToggle;
|
||
|
public Button SaveButton;
|
||
|
public Button ClearButton;
|
||
|
|
||
|
public override void Awake()
|
||
|
{
|
||
|
base.Awake();
|
||
|
//创建
|
||
|
CreateToggle.OnValueChangedAsObservable()
|
||
|
.Subscribe(value => CloneObject(value)).AddTo(gameObject);
|
||
|
|
||
|
ClearButton.OnClickAsObservable()
|
||
|
.Subscribe(_ => EquipmentManager.Instance.OnCleraButtonClicked());
|
||
|
|
||
|
SaveButton.OnClickAsObservable()
|
||
|
.Subscribe(_ => EquipmentManager.Instance.SaveData());
|
||
|
|
||
|
transform.Find("TitleBar/CloseButton").GetComponent<Button>().OnClickAsObservable()
|
||
|
.Subscribe(_ => Hide());
|
||
|
|
||
|
Observable.EveryLateUpdate()
|
||
|
.Where(_ => Input.GetMouseButtonDown(1))
|
||
|
.Subscribe(_ => CreateToggle.isOn = false);
|
||
|
}
|
||
|
|
||
|
|
||
|
public override void Show()
|
||
|
{
|
||
|
base.Show();
|
||
|
switch (EquipmentManager.Instance.CreationType)
|
||
|
{
|
||
|
case EquipmentType.NoParking:
|
||
|
TitleText.text = "禁停区";
|
||
|
break;
|
||
|
case EquipmentType.KeyArea:
|
||
|
TitleText.text = "重点区域";
|
||
|
break;
|
||
|
case EquipmentType.ImageMarked:
|
||
|
TitleText.text = "图片标注";
|
||
|
break;
|
||
|
case EquipmentType.FireClimbingSite:
|
||
|
TitleText.text = "登高作业面";
|
||
|
break;
|
||
|
case EquipmentType.HazardSource:
|
||
|
TitleText.text = "危险源";
|
||
|
break;
|
||
|
case EquipmentType.ForcedDraftFan:
|
||
|
TitleText.text = "送风机";
|
||
|
break;
|
||
|
case EquipmentType.AirVent:
|
||
|
TitleText.text = "送风口";
|
||
|
break;
|
||
|
case EquipmentType.SmokeExtractionFan:
|
||
|
TitleText.text = "排烟风机";
|
||
|
break;
|
||
|
case EquipmentType.SmokeVent:
|
||
|
TitleText.text = "排烟口";
|
||
|
break;
|
||
|
case EquipmentType.EscapeWin:
|
||
|
TitleText.text = "逃生窗";
|
||
|
break;
|
||
|
case EquipmentType.BreakPoint:
|
||
|
TitleText.text = "破拆点";
|
||
|
break;
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public override void Hide()
|
||
|
{
|
||
|
base.Hide();
|
||
|
CreateToggle.isOn = false;
|
||
|
}
|
||
|
|
||
|
private void CloneObject(bool isOn)
|
||
|
{
|
||
|
switch (EquipmentManager.Instance.CreationType)
|
||
|
{
|
||
|
case EquipmentType.NoParking:
|
||
|
EquipmentManager.Instance.Clone("NoParking", isOn, 0.01f);
|
||
|
break;
|
||
|
case EquipmentType.KeyArea:
|
||
|
EquipmentManager.Instance.Clone("KeyArea", isOn, 0);
|
||
|
break;
|
||
|
case EquipmentType.ImageMarked:
|
||
|
EquipmentManager.Instance.Clone("ImageMarked", isOn, 0);
|
||
|
break;
|
||
|
case EquipmentType.FireClimbingSite:
|
||
|
EquipmentManager.Instance.Clone( "FireClimbingSurface", isOn, 0.01f);
|
||
|
break;
|
||
|
case EquipmentType.HazardSource:
|
||
|
EquipmentManager.Instance.Clone( "HazardSource", isOn, 0);
|
||
|
break;
|
||
|
case EquipmentType.ForcedDraftFan:
|
||
|
EquipmentManager.Instance.Clone("ForcedDraftFan", isOn, 0);
|
||
|
break;
|
||
|
case EquipmentType.AirVent:
|
||
|
EquipmentManager.Instance.Clone("AirVent", isOn, 0);
|
||
|
break;
|
||
|
case EquipmentType.SmokeExtractionFan:
|
||
|
EquipmentManager.Instance.Clone("SmokeExtractionFan", isOn, 0);
|
||
|
break;
|
||
|
case EquipmentType.SmokeVent:
|
||
|
EquipmentManager.Instance.Clone( "SmokeVent", isOn, 5);
|
||
|
break;
|
||
|
case EquipmentType.EscapeWin:
|
||
|
EquipmentManager.Instance.Clone("EscapeWindow", isOn, 0);
|
||
|
break;
|
||
|
case EquipmentType.BreakPoint:
|
||
|
EquipmentManager.Instance.Clone("BreakPoint", isOn, 0);
|
||
|
break;
|
||
|
|
||
|
}
|
||
|
}
|
||
|
}
|