public class GlobalInit : MonoBehaviour {
public static GlobalInit instance;
public AnimationCurve animationCurve = new AnimationCurve(new Keyframe(0f, 0f, 0f, 1f), new Keyframe(1f, 1f, 1f, 0f));
void Start () {
instance = this;
DontDestroyOnLoad(gameObject);
}
}
/// <summary>
/// 打开关闭窗口
/// </summary>
/// <param name="go"></param>
/// <param name="isOpen"></param>
void OpenWindow(GameObject go, bool isOpen)
{
if (isOpen)
{
NGUITools.SetActive(go, true);
ShowToBig(go, true);
}
else
{
DestoryWindow(go);
}
}
/// <summary>
/// 销毁窗口
/// </summary>
/// <param name="go"></param>
void DestoryWindow(GameObject go)
{
GameObject.Destroy(go);
}
/// <summary>
/// 窗口由小变大
/// </summary>
/// <param name="go"></param>
/// <param name="isOpen"></param>
void ShowToBig(GameObject go, bool isOpen)
{
TweenScale ts = go.GetComponent<TweenScale>();
if (ts == null)
{
ts=go.AddComponent<TweenScale>();
ts.animationCurve = GlobalInit.instance.animationCurve;
}
ts.from = Vector3.zero;
ts.to = Vector3.one;
ts.duration = 5f;
ts.SetOnFinished(() =>
{
if (!isOpen)
{
DestoryWindow(go);
}
});
NGUITools.SetActive(go, true);
if (!isOpen)
{
ts.Play(isOpen);
}
}