private void CreateAndPlayBadgeSpawnAnimation(BadgeFacade badge) { var animation = badge.gameObject.AddComponent <Animation>(); var keys = new Keyframe[3]; keys[0] = new Keyframe(0.0f, 0.0f); keys[1] = new Keyframe(0.2f, badge.transform.localScale.x + badge.transform.localScale.x / 100 * 40); keys[2] = new Keyframe(0.4f, badge.transform.localScale.x); var curveX = new AnimationCurve(keys); keys[0] = new Keyframe(0.0f, 0.0f); keys[1] = new Keyframe(0.2f, badge.transform.localScale.y + badge.transform.localScale.y / 100 * 40); keys[2] = new Keyframe(0.4f, badge.transform.localScale.y); var curveY = new AnimationCurve(keys); keys[0] = new Keyframe(0.0f, 0.0f); keys[1] = new Keyframe(0.2f, badge.transform.localScale.z + badge.transform.localScale.z / 100 * 40); keys[2] = new Keyframe(0.4f, badge.transform.localScale.z); var curveZ = new AnimationCurve(keys); var clip = new AnimationClip { legacy = true }; clip.SetCurve("", typeof(Transform), "localScale.x", curveX); clip.SetCurve("", typeof(Transform), "localScale.y", curveY); clip.SetCurve("", typeof(Transform), "localScale.z", curveZ); animation.AddClip(clip, "BadgeSpawnAnim"); animation.Play("BadgeSpawnAnim"); badge.StartCoroutine(DestroyAnimation(animation)); }
public void SetFacade(BadgeFacade facade) { Facade = facade; }