コード例 #1
0
    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;
        }
    }
コード例 #2
0
 public void SetMappingName(EquipmentSlotType t, EquipmentAnimationControllerName name)
 {
     foreach (EquipmentAnimatorMapping map in animators)
     {
         if (map.type == t)
         {
             map.current = name;
             break;
         }
     }
 }
コード例 #3
0
    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);
    }
コード例 #4
0
    /// <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();
    }
コード例 #5
0
    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);
    }
コード例 #6
0
 public void ChangeOutAnimation(EquipmentSlotType slot, EquipmentAnimationControllerName name)
 {
     StartCoroutine(EquipmentSwap(slot, name));
 }
コード例 #7
0
 public AnimatorOverrideController GetAnimationControllerByEquipmentSubtype(EquipmentAnimationControllerName name)
 {
     return(GetAnimationControllerByName(name));
 }