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.
52 lines
1.5 KiB
52 lines
1.5 KiB
using AX.MessageSystem; |
|
using AX.TrackRecord; |
|
using System.Collections; |
|
using System.Collections.Generic; |
|
using UnityEngine; |
|
using UnityEngine.UI; |
|
|
|
public class SmogEditor : MonoBehaviour { |
|
|
|
// Use this for initialization |
|
Transform transSmog; |
|
private Button CloseBtn; |
|
ParticleSystem particleSmog; |
|
Slider slider; |
|
void Start() |
|
{ |
|
MessageDispatcher.AddListener("SHOW_JIANTOUEDITOR", open); |
|
CloseBtn = this.transform.Find("closeButton").GetComponent<Button>(); |
|
slider = GetComponentInChildren<Slider>(); |
|
gameObject.SetActive(false); |
|
} |
|
|
|
|
|
|
|
void open(IMessage message) |
|
{ |
|
if (!message.Data.ToString().Contains("smog")) return; |
|
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 => { |
|
string sAlpha =(s / 255f).ToString("f2") ; |
|
Debug.Log("string:" + sAlpha + " float:" + s /255f); |
|
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); |
|
} |
|
}
|
|
|