private IEnumerator UpdateAnimationFrame() { yield return(new WaitForSeconds(AnimationUpdateRate)); if (animationFrame == damageFrame) { DamageNearbyEntities(); } if (animationFrame < frames.Length) { thingController.SetTexture(TextureLoader.Instance.GetSpriteTexture(frames [animationFrame])); if (animationFrame < scales.Length) { thingController.SetWidth(scales [animationFrame].x); thingController.SetHeight(scales [animationFrame].y); } animationFrame++; StartCoroutine(UpdateAnimationFrame()); } else { Destroy(gameObject); } }