void ICmpUpdatable.OnUpdate() { this.lifetime += Time.SPFMult * Time.TimeMult; float progress = this.lifetime / this.totalLifetime; if (progress >= 1.0f) { this.GameObj.DisposeLater(); } Transform transform = this.GameObj.Transform; transform.MoveBy(Vector2.UnitY * -2.0f * (0.25f + 0.75f * (1.0f - progress)) * Time.TimeMult); TextRenderer renderer = this.GameObj.GetComponent <TextRenderer>(); renderer.Text.SourceText = this.text; renderer.ColorTint = this.color.WithAlpha(1.0f - progress); }