// *********************************************************************** // Assembly : Game // Author : Kimch // Created : 2020-09-02 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** using UnityEngine; namespace G { public class Ef_rapidstab : MonoBehaviour { private int index; private int oldindex = -1; private float starttime; private Transform mytransform; private Renderer myrenderer; private Collider mycollider; private Vector2 size; private Vector2 offset; public float showtime = 0.15f; public int uvAnimationTileX = 4; public int uvAnimationTileY = 4; public int framesPerSecond = 18; public int damagerate = 2; public int loopcount; private int count; private int lastframe; private bool show; private void Awake() { mytransform = base.transform; myrenderer = base.GetComponent(); mycollider = base.GetComponent(); mycollider.enabled = false; } private void Start() { myrenderer.enabled = false; size = new Vector2(1f / uvAnimationTileX, 1f / uvAnimationTileY); lastframe = uvAnimationTileX * uvAnimationTileY; } private void Update() { if (!show) { if (starttime < showtime) { starttime += Time.deltaTime; return; } myrenderer.enabled = true; starttime = 0f; show = true; return; } mytransform.position += mytransform.forward * Time.deltaTime * 0.1f; starttime += Time.deltaTime; index = (int)(starttime * framesPerSecond); float num = index % uvAnimationTileX; int num2 = index / uvAnimationTileX; if (index == oldindex) { return; } if (index % damagerate == 1) { mycollider.enabled = true; } else { mycollider.enabled = false; } if (index >= lastframe) { if (count >= loopcount) { myrenderer.enabled = false; mycollider.enabled = false; base.gameObject.SetActive(false); mytransform.position = Vector3.one * 10f; oldindex = -1; starttime = 0f; count = 0; show = false; } else { count++; } index = 0; oldindex = -1; starttime = 0f; } offset = new Vector2(num * size.x, 1f - size.y - num2 * size.y); myrenderer.sharedMaterial.mainTextureOffset = offset; myrenderer.sharedMaterial.mainTextureScale = size; oldindex = index; } } }