public void AnimateInNewHeroSkin(Actor actor) { GameObject gameObject = actor.gameObject; AnimatedHeroSkin skin = new AnimatedHeroSkin { Actor = actor, GameObject = gameObject, OriginalScale = gameObject.transform.localScale, OriginalPosition = gameObject.transform.position }; this.m_animData = skin; gameObject.transform.position = new Vector3(gameObject.transform.position.x, gameObject.transform.position.y + 0.5f, gameObject.transform.position.z); gameObject.transform.localScale = this.m_heroSkinContainer.transform.lossyScale; object[] args = new object[] { "from", 0f, "to", 1f, "time", 0.6f, "easetype", iTween.EaseType.easeOutCubic, "onupdate", "AnimateNewHeroSkinUpdate", "onupdatetarget", base.gameObject, "oncomplete", "AnimateNewHeroSkinFinished", "oncompleteparams", skin, "oncompletetarget", base.gameObject }; Hashtable hashtable = iTween.Hash(args); iTween.ValueTo(gameObject, hashtable); CollectionHeroSkin component = actor.gameObject.GetComponent <CollectionHeroSkin>(); if (component != null) { component.ShowSocketFX(); } }
private void AnimateNewHeroSkinFinished() { this.m_heroSkinObject.gameObject.SetActive(true); Actor baseActor = this.m_animData.Actor; this.UpdateHeroSkin(baseActor.GetEntityDef().GetCardId(), baseActor.GetCardFlair(), true, baseActor); UnityEngine.Object.Destroy(this.m_animData.GameObject); this.m_animData = null; }