// *********************************************************************** // Assembly : Game // Author : Kimch // Created : 2020-09-02 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** using UnityEngine; namespace G { public class Ef_energy_gather : MonoBehaviour { public Texture[] eftex = new Texture[2]; private int fogalpha = 2; private float dt; private float finish_delay = 1.2f; private float show_delay = 0.1f; private float plustimescale; private Material mymaterial; private Transform mytransform; private bool anistart; private Vector3 growVector; private Vector3 smoothgrowVector; private Vector2 offset; private Color currentColor; private Color targetColor; private Color transColor; private Color whiteclear = new Color(0.5f, 0.5f, 0.5f, 0f); private void Awake() { mytransform = base.transform; mymaterial = base.GetComponent().sharedMaterial; } private void Start() { targetColor = Color.gray; base.gameObject.SetActive(false); offset = Vector2.zero; mymaterial.color = whiteclear; } public void SetTex(int _index, float _finishdelay) { mymaterial.mainTexture = eftex[_index]; finish_delay = _finishdelay; } private void Update() { if (dt > finish_delay) { mytransform.position = Vector3.one * 4f; base.gameObject.SetActive(false); dt = 0f; mymaterial.color = whiteclear; offset = Vector2.zero; targetColor = Color.gray; anistart = false; } else if (dt > finish_delay - 0.4f) { targetColor = Color.clear; } else if (dt > show_delay) { anistart = true; } dt += Time.deltaTime; if (anistart) { plustimescale = fogalpha / Time.timeScale; currentColor = mymaterial.color; transColor = Color.Lerp(currentColor, targetColor, Time.deltaTime * plustimescale); mymaterial.color = transColor; offset -= Vector2.up * Time.deltaTime * plustimescale * 0.5f; mymaterial.mainTextureOffset = offset; } } } }