天津23维预案
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.
 
 
 
 
 
 

128 lines
4.2 KiB

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using AX.MessageSystem;
using UnityEngine.UI;
using AX.TrackRecord;
public class JianTouEditor : MonoBehaviour {
// Use this for initialization
Transform jiantouParent;
private Button CloseBtn;
Slider slider;
void Start ()
{
MessageDispatcher.AddListener("SHOW_JIANTOUEDITOR", open);
CloseBtn=this.transform.Find("closeButton").GetComponent<Button>();
CloseBtn.onClick.AddListener(CloseThis);
slider = GetComponentInChildren<Slider>();
gameObject.SetActive(false);
}
public void CloseThis()
{
RecordPanel();
this.gameObject.SetActive(false);
}
/// <summary>
/// 记录Panel面板的值,用于回放
/// </summary>
void RecordPanel()
{
if (RecordManager.Instance.IsRecording)
{
Debug.Log(GetComponentInChildren<Text>().text);
if (GetComponentInChildren<Text>().text == "烟雾浓度调整")
{
TrackRecordHelpClass.RecordSmogAlphaEvent(particleSmog.gameObject);
}
else
{
//箭头大小调整
TrackRecordHelpClass.RecordLineSizeEvent(jiantouParent.gameObject);
}
}
}
Transform transSmog;
// private Button CloseBtn;
ParticleSystem particleSmog;
// Slider slider;
void open(IMessage message)
{
slider.onValueChanged.RemoveAllListeners();
if (gameObject.activeInHierarchy)
{//如果调用Panel面板之前,这个panel就激活了,那么要先记录以下这个panel的值
RecordPanel();
}
if (message.Data.ToString().Contains("jingong") || message.Data.ToString().Contains("chetui")|| message.Data.ToString().Contains("fengexian")
||message.Data.ToString().Contains("dujiexian"))
{
slider.minValue = 35;
slider.maxValue = 70;
if (message.Data.ToString().Contains("fengexian"))
{
transform.Find("title").GetComponent<Text>().text = "分割线大小调整";
}
else if (message.Data.ToString().Contains("dujiexian"))
{
transform.Find("title").GetComponent<Text>().text = "堵截线大小调整";
slider.minValue = 1;
slider.maxValue = 2;
}
else
{
transform.Find("title").GetComponent<Text>().text = "箭头大小调整";
}
GameObject jiantou = (GameObject)message.Data;
jiantouParent = jiantou.transform.parent;
slider.onValueChanged.AddListener(s => {
jiantouParent.GetComponent<lineParentMessage>().size = s;
foreach (Transform child in jiantouParent)
{
child.localScale = new Vector3(s, child.localScale.y, s);
}
});
var lineparentMessage = jiantou.transform.parent.GetComponent<lineParentMessage>();
if (lineparentMessage == null)
{
lineparentMessage = jiantou.transform.GetComponent<lineParentMessage>();
jiantouParent = jiantou.transform;
}
float size = lineparentMessage.size;
gameObject.SetActive(true);
slider.value = size;
}
else if (message.Data.ToString().Contains("smog"))
{
transform.Find("title").GetComponent<Text>().text = "烟雾浓度调整";
slider.minValue = 25;
slider.maxValue = 255 * 0.6f;
particleSmog = ((GameObject)message.Data).transform.GetComponent<ParticleSystem>();
slider.onValueChanged.AddListener(s => {
particleSmog.startColor = new Color(particleSmog.startColor.r, particleSmog.startColor.g, particleSmog.startColor.b, s / 255f);
});
float alpha = particleSmog.main.startColor.color.a;
slider.value = alpha;
gameObject.SetActive(true);
}
}
void OnDestroy()
{
MessageDispatcher.RemoveListener("SHOW_JIANTOUEDITOR", open);
}
}