Inheritance: UnityEngine.ScriptableObject
示例#1
0
        /// <summary>Add and prepare a Spine component that derives from SkeletonRenderer to a GameObject at runtime.</summary>
        /// <typeparam name="T">T should be SkeletonRenderer or any of its derived classes.</typeparam>
        public static T AddSpineComponent <T> (GameObject gameObject, SkeletonDataAsset skeletonDataAsset, bool quiet = false) where T : SkeletonRenderer
        {
            var c = gameObject.AddComponent <T>();

            if (skeletonDataAsset != null)
            {
                c.skeletonDataAsset = skeletonDataAsset;
                c.Initialize(false, quiet);
            }
            return(c);
        }
示例#2
0
    static int CreateRuntimeInstance(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 3 && TypeChecker.CheckTypes <Spine.Unity.AtlasAsset[], bool>(L, 2))
            {
                UnityEngine.TextAsset    arg0 = (UnityEngine.TextAsset)ToLua.CheckObject <UnityEngine.TextAsset>(L, 1);
                Spine.Unity.AtlasAsset[] arg1 = ToLua.ToObjectArray <Spine.Unity.AtlasAsset>(L, 2);
                bool arg2 = LuaDLL.lua_toboolean(L, 3);
                Spine.Unity.SkeletonDataAsset o = Spine.Unity.SkeletonDataAsset.CreateRuntimeInstance(arg0, arg1, arg2);
                ToLua.Push(L, o);
                return(1);
            }
            else if (count == 3 && TypeChecker.CheckTypes <Spine.Unity.AtlasAsset, bool>(L, 2))
            {
                UnityEngine.TextAsset  arg0 = (UnityEngine.TextAsset)ToLua.CheckObject <UnityEngine.TextAsset>(L, 1);
                Spine.Unity.AtlasAsset arg1 = (Spine.Unity.AtlasAsset)ToLua.ToObject(L, 2);
                bool arg2 = LuaDLL.lua_toboolean(L, 3);
                Spine.Unity.SkeletonDataAsset o = Spine.Unity.SkeletonDataAsset.CreateRuntimeInstance(arg0, arg1, arg2);
                ToLua.Push(L, o);
                return(1);
            }
            else if (count == 4 && TypeChecker.CheckTypes <Spine.Unity.AtlasAsset, bool, float>(L, 2))
            {
                UnityEngine.TextAsset  arg0 = (UnityEngine.TextAsset)ToLua.CheckObject <UnityEngine.TextAsset>(L, 1);
                Spine.Unity.AtlasAsset arg1 = (Spine.Unity.AtlasAsset)ToLua.ToObject(L, 2);
                bool  arg2 = LuaDLL.lua_toboolean(L, 3);
                float arg3 = (float)LuaDLL.lua_tonumber(L, 4);
                Spine.Unity.SkeletonDataAsset o = Spine.Unity.SkeletonDataAsset.CreateRuntimeInstance(arg0, arg1, arg2, arg3);
                ToLua.Push(L, o);
                return(1);
            }
            else if (count == 4 && TypeChecker.CheckTypes <Spine.Unity.AtlasAsset[], bool, float>(L, 2))
            {
                UnityEngine.TextAsset    arg0 = (UnityEngine.TextAsset)ToLua.CheckObject <UnityEngine.TextAsset>(L, 1);
                Spine.Unity.AtlasAsset[] arg1 = ToLua.ToObjectArray <Spine.Unity.AtlasAsset>(L, 2);
                bool  arg2 = LuaDLL.lua_toboolean(L, 3);
                float arg3 = (float)LuaDLL.lua_tonumber(L, 4);
                Spine.Unity.SkeletonDataAsset o = Spine.Unity.SkeletonDataAsset.CreateRuntimeInstance(arg0, arg1, arg2, arg3);
                ToLua.Push(L, o);
                return(1);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to method: Spine.Unity.SkeletonDataAsset.CreateRuntimeInstance"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
示例#3
0
        public static T AddSpineComponent <T>(GameObject gameObject, SkeletonDataAsset skeletonDataAsset) where T : SkeletonRenderer
        {
            T val = gameObject.AddComponent <T>();

            if (skeletonDataAsset != null)
            {
                val.skeletonDataAsset = skeletonDataAsset;
                val.Initialize(overwrite: false);
            }
            return(val);
        }
示例#4
0
            public void Initialize(Animator animator, SkeletonDataAsset skeletonDataAsset)
            {
                this.animator = animator;
                animationTable.Clear();
                clipNameHashCodeTable.Clear();
                var data = skeletonDataAsset.GetSkeletonData(true);

                foreach (var a in data.Animations)
                {
                    animationTable.Add(a.Name.GetHashCode(), a);
                }
            }
示例#5
0
            public void Initialize(Animator animator, SkeletonDataAsset skeletonDataAsset)
            {
                this.animator = animator;
                animationTable.Clear();
                clipNameHashCodeTable.Clear();
                SkeletonData skeletonData = skeletonDataAsset.GetSkeletonData(quiet: true);

                foreach (Animation animation in skeletonData.Animations)
                {
                    animationTable.Add(animation.Name.GetHashCode(), animation);
                }
            }
示例#6
0
 public void Clear()
 {
     ClearState();
     meshRenderer = GetComponent <MeshRenderer>();
     if (meshRenderer != null)
     {
         meshRenderer.sharedMaterial = null;
     }
     rendererBuffers.Clear();
     skeleton          = null;
     skeletonDataAsset = null;
     valid             = false;
 }
 public void Initialize(UnityEngine.Animator animator, SkeletonDataAsset skeletonDataAsset)
 {
     this.animator = animator;
     this.previousAnimations.Clear();
     this.animationTable.Clear();
     foreach (Spine.Animation animation in skeletonDataAsset.GetSkeletonData(true).Animations)
     {
         this.animationTable.Add(animation.Name.GetHashCode(), animation);
     }
     this.clipNameHashCodeTable.Clear();
     this.clipInfoCache.Clear();
     this.nextClipInfoCache.Clear();
 }
示例#8
0
 static int FillStateData(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         Spine.Unity.SkeletonDataAsset obj = (Spine.Unity.SkeletonDataAsset)ToLua.CheckObject <Spine.Unity.SkeletonDataAsset>(L, 1);
         obj.FillStateData();
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
        public static SkeletonDataAsset CreateRuntimeInstance(TextAsset skeletonDataFile, AtlasAsset[] atlasAssets, bool initialize, float scale = 0.01f)
        {
            SkeletonDataAsset asset = ScriptableObject.CreateInstance <SkeletonDataAsset>();

            asset.Clear();
            asset.skeletonJSON = skeletonDataFile;
            asset.atlasAssets  = atlasAssets;
            asset.scale        = scale;
            if (initialize)
            {
                asset.GetSkeletonData(true);
            }
            return(asset);
        }
示例#10
0
 static int GetAnimationStateData(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         Spine.Unity.SkeletonDataAsset obj = (Spine.Unity.SkeletonDataAsset)ToLua.CheckObject <Spine.Unity.SkeletonDataAsset>(L, 1);
         Spine.AnimationStateData      o   = obj.GetAnimationStateData();
         ToLua.PushObject(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
示例#11
0
 static int NewSkeletonAnimationGameObject(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         Spine.Unity.SkeletonDataAsset arg0 = (Spine.Unity.SkeletonDataAsset)ToLua.CheckUnityObject(L, 1, typeof(Spine.Unity.SkeletonDataAsset));
         Spine.Unity.SkeletonAnimation o    = Spine.Unity.SkeletonAnimation.NewSkeletonAnimationGameObject(arg0);
         ToLua.Push(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
示例#12
0
 static int AddSkeletonGraphicComponent(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         UnityEngine.GameObject        arg0 = (UnityEngine.GameObject)ToLua.CheckObject(L, 1, typeof(UnityEngine.GameObject));
         Spine.Unity.SkeletonDataAsset arg1 = (Spine.Unity.SkeletonDataAsset)ToLua.CheckObject <Spine.Unity.SkeletonDataAsset>(L, 2);
         Spine.Unity.SkeletonGraphic   o    = Spine.Unity.SkeletonGraphic.AddSkeletonGraphicComponent(arg0, arg1);
         ToLua.Push(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
示例#13
0
 static int AddToGameObject(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         UnityEngine.GameObject        arg0 = (UnityEngine.GameObject)ToLua.CheckUnityObject(L, 1, typeof(UnityEngine.GameObject));
         Spine.Unity.SkeletonDataAsset arg1 = (Spine.Unity.SkeletonDataAsset)ToLua.CheckUnityObject(L, 2, typeof(Spine.Unity.SkeletonDataAsset));
         Spine.Unity.SkeletonAnimation o    = Spine.Unity.SkeletonAnimation.AddToGameObject(arg0, arg1);
         ToLua.Push(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
示例#14
0
 static int NewSkeletonGraphicGameObject(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         Spine.Unity.SkeletonDataAsset arg0 = (Spine.Unity.SkeletonDataAsset)ToLua.CheckObject <Spine.Unity.SkeletonDataAsset>(L, 1);
         UnityEngine.Transform         arg1 = (UnityEngine.Transform)ToLua.CheckObject <UnityEngine.Transform>(L, 2);
         Spine.Unity.SkeletonGraphic   o    = Spine.Unity.SkeletonGraphic.NewSkeletonGraphicGameObject(arg0, arg1);
         ToLua.Push(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
示例#15
0
 static int GetSkeletonData(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         Spine.Unity.SkeletonDataAsset obj = (Spine.Unity.SkeletonDataAsset)ToLua.CheckObject <Spine.Unity.SkeletonDataAsset>(L, 1);
         bool arg0            = LuaDLL.luaL_checkboolean(L, 2);
         Spine.SkeletonData o = obj.GetSkeletonData(arg0);
         ToLua.PushObject(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
示例#16
0
    static int set_skeletonJSON(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Spine.Unity.SkeletonDataAsset obj  = (Spine.Unity.SkeletonDataAsset)o;
            UnityEngine.TextAsset         arg0 = (UnityEngine.TextAsset)ToLua.CheckObject <UnityEngine.TextAsset>(L, 2);
            obj.skeletonJSON = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index skeletonJSON on a nil value"));
        }
    }
示例#17
0
    static int set_atlasAssets(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Spine.Unity.SkeletonDataAsset obj  = (Spine.Unity.SkeletonDataAsset)o;
            Spine.Unity.AtlasAsset[]      arg0 = ToLua.CheckObjectArray <Spine.Unity.AtlasAsset>(L, 2);
            obj.atlasAssets = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index atlasAssets on a nil value"));
        }
    }
示例#18
0
    static int get_controller(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Spine.Unity.SkeletonDataAsset         obj = (Spine.Unity.SkeletonDataAsset)o;
            UnityEngine.RuntimeAnimatorController ret = obj.controller;
            ToLua.Push(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index controller on a nil value"));
        }
    }
    static int get_SkeletonDataAsset(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Spine.Unity.SkeletonRenderer  obj = (Spine.Unity.SkeletonRenderer)o;
            Spine.Unity.SkeletonDataAsset ret = obj.SkeletonDataAsset;
            ToLua.Push(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index SkeletonDataAsset on a nil value" : e.Message));
        }
    }
示例#20
0
    static int set_defaultMix(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Spine.Unity.SkeletonDataAsset obj = (Spine.Unity.SkeletonDataAsset)o;
            float arg0 = (float)LuaDLL.luaL_checknumber(L, 2);
            obj.defaultMix = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index defaultMix on a nil value"));
        }
    }
示例#21
0
    static int set_toAnimation(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Spine.Unity.SkeletonDataAsset obj = (Spine.Unity.SkeletonDataAsset)o;
            string[] arg0 = ToLua.CheckStringArray(L, 2);
            obj.toAnimation = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index toAnimation on a nil value"));
        }
    }
    static int set_skeletonDataAsset(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Spine.Unity.SkeletonRenderer  obj  = (Spine.Unity.SkeletonRenderer)o;
            Spine.Unity.SkeletonDataAsset arg0 = (Spine.Unity.SkeletonDataAsset)ToLua.CheckUnityObject(L, 2, typeof(Spine.Unity.SkeletonDataAsset));
            obj.skeletonDataAsset = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index skeletonDataAsset on a nil value" : e.Message));
        }
    }
示例#23
0
    static int set_duration(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Spine.Unity.SkeletonDataAsset obj = (Spine.Unity.SkeletonDataAsset)o;
            float[] arg0 = ToLua.CheckNumberArray <float>(L, 2);
            obj.duration = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index duration on a nil value"));
        }
    }
示例#24
0
    static int get_skeletonJSON(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Spine.Unity.SkeletonDataAsset obj = (Spine.Unity.SkeletonDataAsset)o;
            UnityEngine.TextAsset         ret = obj.skeletonJSON;
            ToLua.Push(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index skeletonJSON on a nil value"));
        }
    }
示例#25
0
    static int set_controller(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Spine.Unity.SkeletonDataAsset         obj  = (Spine.Unity.SkeletonDataAsset)o;
            UnityEngine.RuntimeAnimatorController arg0 = (UnityEngine.RuntimeAnimatorController)ToLua.CheckObject <UnityEngine.RuntimeAnimatorController>(L, 2);
            obj.controller = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index controller on a nil value"));
        }
    }
示例#26
0
    static int get_duration(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Spine.Unity.SkeletonDataAsset obj = (Spine.Unity.SkeletonDataAsset)o;
            float[] ret = obj.duration;
            ToLua.Push(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index duration on a nil value"));
        }
    }
示例#27
0
    static int get_defaultMix(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Spine.Unity.SkeletonDataAsset obj = (Spine.Unity.SkeletonDataAsset)o;
            float ret = obj.defaultMix;
            LuaDLL.lua_pushnumber(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index defaultMix on a nil value"));
        }
    }
示例#28
0
    static int get_IsLoaded(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Spine.Unity.SkeletonDataAsset obj = (Spine.Unity.SkeletonDataAsset)o;
            bool ret = obj.IsLoaded;
            LuaDLL.lua_pushboolean(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index IsLoaded on a nil value"));
        }
    }
示例#29
0
            public void Initialize(Animator animator, SkeletonDataAsset skeletonDataAsset)
            {
                this.animator = animator;

                previousAnimations.Clear();

                animationTable.Clear();
                var data = skeletonDataAsset.GetSkeletonData(true);

                foreach (var a in data.Animations)
                {
                    animationTable.Add(a.Name.GetHashCode(), a);
                }

                clipNameHashCodeTable.Clear();
                                #if UNITY_CLIPINFOCACHE
                clipInfoCache.Clear();
                nextClipInfoCache.Clear();
                                #endif
            }
示例#30
0
    static int _CreateSpine_Unity_SkeletonDataAsset(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 0)
            {
                Spine.Unity.SkeletonDataAsset obj = new Spine.Unity.SkeletonDataAsset();
                ToLua.Push(L, obj);
                return(1);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to ctor method: Spine.Unity.SkeletonDataAsset.New"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
		/// <summary>Instantiates a new UnityEngine.GameObject and adds a prepared SkeletonAnimation component to it.</summary>
		/// <returns>The newly instantiated SkeletonAnimation component.</returns>
		public static SkeletonAnimation NewSkeletonAnimationGameObject (SkeletonDataAsset skeletonDataAsset) {
			return SkeletonRenderer.NewSpineGameObject<SkeletonAnimation>(skeletonDataAsset);
		}
		/// <summary>Adds and prepares a SkeletonAnimation component to a GameObject at runtime.</summary>
		/// <returns>The newly instantiated SkeletonAnimation</returns>
		public static SkeletonAnimation AddToGameObject (GameObject gameObject, SkeletonDataAsset skeletonDataAsset) {
			return SkeletonRenderer.AddSpineComponent<SkeletonAnimation>(gameObject, skeletonDataAsset);
		}
示例#33
0
		public static Spine.BoneData GetBoneData(string boneName, SkeletonDataAsset skeletonDataAsset) {
			var data = skeletonDataAsset.GetSkeletonData(true);
			return data.FindBone(boneName);
		}
示例#34
0
		public static Spine.Attachment GetAttachment (string attachmentPath, SkeletonDataAsset skeletonDataAsset) {
			return GetAttachment(attachmentPath, skeletonDataAsset.GetSkeletonData(true));
		}