Ejemplo n.º 1
0
    public virtual void Init(GameObject owner, Animation animation, Resource.AniInfo[] _animDatas)
    {
        if (null == animation)
        {
            Debug.LogError("Null 객체로 생성자를 호출할 수 없습니다!");
            return;
        }

        Owner     = owner;
        Animation = animation;
        AnimDatas = _animDatas;

        parent = Owner.GetComponent <Unit>();

        if (null != OnChangedAnimator)
        {
            OnChangedAnimator(Animation);
        }

        IsReady = true;

        //< 애니메이션 속도를 저장시킨다
        foreach (eAnimName eEnum in eAnimName.GetValues(typeof(eAnimName)))
        {
            if (eEnum == eAnimName.Anim_none || eEnum == eAnimName.Anim_Max)
            {
                continue;
            }

            string aniname = GetAnimName(eEnum);
            if (aniname == "0")
            {
                continue;
            }

            if (Animation.GetClip(aniname) == null)
            {
                continue;
            }

            if (!AnimLength.ContainsKey(aniname))
            {
                AnimLength.Add(aniname, AnimationUtil.GetAnimLength(Animation, aniname));
            }

            if (!eAnimNameDic.ContainsKey(aniname))
            {
                eAnimNameDic.Add(aniname, eEnum);
            }
        }
    }