예제 #1
0
        public static ent Create(string prefabID, Vector3 position, bool pooled = false)
        {
            int  id;
            byte age = 0;

            if (ent.entityStackLength > 0)
            {
                var  pop    = ent.entityStack.Dequeue();
                byte ageOld = pop.age;
                id = pop.id;
                unchecked
                {
                    age = (byte)(ageOld + 1);
                }

                ent.entityStackLength--;
            }
            else
            {
                id = ent.lastID++;
            }

            Initialize(id, age, pooled);
            transforms[id] = pooled ? HelperFramework.SpawnInternal(Pool.Entities, prefabID, position) : HelperFramework.SpawnInternal(prefabID, position);
            return(new ent(id, age));
        }
예제 #2
0
        public static ent Create(GameObject prefab, ModelComposer model, bool pooled = false)
        {
            int  id;
            byte age = 0;

            if (ent.entityStackLength > 0)
            {
                var  pop    = ent.entityStack.Dequeue();
                byte ageOld = pop.age;
                id = pop.id;
                unchecked
                {
                    age = (byte)(ageOld + 1);
                }

                ent.entityStackLength--;
            }
            else
            {
                id = ent.lastID++;
            }

            var entity = new ent(id, age);

            Initialize(id, age, pooled);
            transforms[id] = pooled ? HelperFramework.SpawnInternal(Pool.Entities, prefab) : HelperFramework.SpawnInternal(prefab);
            model(entity, null);
            Delayed.Set(entity, 0, Delayed.Action.Activate);

            return(entity);
        }
예제 #3
0
        public static ent Create(GameObject prefab, BlueprintEntity bpAsset, bool pooled = false)
        {
            int  id;
            byte age = 0;

            if (ent.entityStackLength > 0)
            {
                var  pop    = ent.entityStack.Dequeue();
                byte ageOld = pop.age;
                id = pop.id;
                unchecked
                {
                    age = (byte)(ageOld + 1);
                }

                ent.entityStackLength--;
            }
            else
            {
                id = ent.lastID++;
            }

            var entity = new ent(id, age);

            Initialize(id, age, pooled);
            transforms[id] = pooled ? HelperFramework.SpawnInternal(Pool.Entities, prefab) : HelperFramework.SpawnInternal(prefab);
            bpAsset.Execute(entity);
            return(entity);
        }
예제 #4
0
        public static Actor Create(GameObject prefab, bool pooled = false)
        {
            var tr    = pooled ? HelperFramework.SpawnInternal(Pool.Entities, prefab) : HelperFramework.SpawnInternal(prefab);
            var actor = tr.AddGetActor();

            actor.isPooled = pooled;
            actor.Launch();
            return(actor);
        }
예제 #5
0
        public static Actor Create(GameObject prefab, ModelComposer model, Vector3 position, bool pooled = false)
        {
            var tr    = pooled ? HelperFramework.SpawnInternal(Pool.Entities, prefab, position) : HelperFramework.SpawnInternal(prefab, position);
            var actor = tr.AddGetActor();

            actor.isPooled = pooled;
            actor.Launch(model);
            return(actor);
        }
예제 #6
0
        public static Actor Create(string prefabID, ModelComposer model, bool pooled = false)
        {
            var tr    = pooled ? HelperFramework.SpawnInternal(Pool.Entities, prefabID) : HelperFramework.SpawnInternal(prefabID);
            var actor = tr.AddGetActor();

            actor.isPooled = pooled;
            actor.Launch(model);
            return(actor);
        }
예제 #7
0
        public static Actor Create(string prefabID, BlueprintEntity bp, bool pooled = false)
        {
            var tr    = pooled ? HelperFramework.SpawnInternal(Pool.Entities, prefabID) : HelperFramework.SpawnInternal(prefabID);
            var actor = tr.AddGetActor();

            actor.buildFrom = bp;
            actor.isPooled  = pooled;
            actor.Launch();
            return(actor);
        }
예제 #8
0
        public static Actor Create(string prefabID, Vector3 position, bool pooled = false)
        {
            var tr    = pooled ? HelperFramework.SpawnInternal(Pool.Entities, prefabID, position) : HelperFramework.SpawnInternal(prefabID, position);
            var actor = tr.AddGetActor();

            actor.isPooled = pooled;
            actor.Launch();

            return(actor);
        }
예제 #9
0
        public static void CreateSample()
        {
            var path = HelperFramework.GetPathLibrary();

            if (path == string.Empty)
            {
                path = PATH_TO_TEMPLATE;
            }
                        #if !ACTORS_COMPONENTS_STRUCTS
            else
            {
                path = string.Format($"{path}/Editor/Templates/TmpComponent.txt");
            }
예제 #10
0
        public static void CreateSample()
        {
            var path = HelperFramework.GetPathLibrary();

            if (path == string.Empty)
            {
                path = PATH_TO_TEMPLATE;
            }
            else
            {
                path = string.Format($"{path}/Editor/Templates/TmpComponent.txt");
            }

            CreateFromTemplate("ComponentDefault.cs", path);
        }
예제 #11
0
        public static void Generate()
        {
            var path = HelperFramework.GetPathLibrary();

            if (path == string.Empty)
            {
                path = PATH_TO_TEMPLATE;
            }
            else
            {
                path = string.Format($"{path}/Editor/Templates/TmpBlueprintTags.txt");
            }


            var o = CreateScript(string.Format($"{Application.dataPath}/Source/Runtime/Tags/bp.cs"), path);

            ProjectWindowUtil.ShowCreatedAsset((Object)o);
            AssetDatabase.Refresh();
        }