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
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); |
|
} |
|
}
|
|
|