void ActuallySyncUiToCharacter(Sheet character) { for (int i = 0; i < paperDollUi.paperDollElements.Length; i++) { PaperDollUi.PaperDollUiElement elem = paperDollUi.paperDollElements [i]; elem.uiSlot.SetInventoryItem(character.PaperDoll.EquippedOn(elem.slotType)); SetDollPreviewSprite(elem.preview, character.PaperDoll.EquippedOn(elem.slotType), elem.slotType); } if (character.race != null) { EquipmentAnimationControllerName rn = Race.BodyOverrideController(character.race.name); // Debug.Log ("race names: " + rn); bodyOverrideImage.sprite = EquipmentAnimationDispenser.instance.GetPaperDollSpriteByName(rn); if (bodyOverrideImage.sprite == null) { bodyOverrideImage.sprite = defaultBodySprite; } } else { bodyOverrideImage.sprite = defaultBodySprite; } }
public void SetMappingName(EquipmentSlotType t, EquipmentAnimationControllerName name) { foreach (EquipmentAnimatorMapping map in animators) { if (map.type == t) { map.current = name; break; } } }
public AnimatorOverrideController GetAnimationControllerByName(EquipmentAnimationControllerName name) { AnimatorOverrideController con = null; // con.clips[0].overrideClip.SampleAnimation foreach (NamedAnimationController mapping in animationStore) { if (mapping.name == name) { con = mapping.controller; break; } } return(con); }
/// <summary> /// Swaps equipment out, and syncs it with whatever is currently playing by setting the normalized time. /// </summary> private IEnumerator EquipmentSwap(EquipmentSlotType slot, EquipmentAnimationControllerName name) { rootAnimationTransform.Pause(); AnimatorStateInfo info = root.GetCurrentAnimatorStateInfo(0); Animator anim = AnimatorFromEquipmentType(slot); SetMappingName(slot, name); RuntimeAnimatorController rt = EquipmentAnimationDispenser.instance.GetAnimationControllerByName(name); // Debug.Log ("swapping "+slot+" animation to this : " + rt.name); anim.runtimeAnimatorController = rt; anim.Play(rootAnimationTransform.LastPlay, 0, info.normalizedTime); yield return(new WaitForEndOfFrame()); rootAnimationTransform.Unpause(); }
public Sprite GetPaperDollSpriteByName(EquipmentAnimationControllerName name) { Sprite ret = null; // con.clips[0].overrideClip.SampleAnimation foreach (NamedAnimationController mapping in animationStore) { if (mapping.name == name) { // Debug.LogError ("name returning one : " + name); ret = mapping.paperDollSprite; break; } } return(ret); }
public void ChangeOutAnimation(EquipmentSlotType slot, EquipmentAnimationControllerName name) { StartCoroutine(EquipmentSwap(slot, name)); }
public AnimatorOverrideController GetAnimationControllerByEquipmentSubtype(EquipmentAnimationControllerName name) { return(GetAnimationControllerByName(name)); }