public void foreachDust(TezEventExtension.Action <TezGalaxyBody> function)
 {
     for (int i = 0; i < this.dustCount; i++)
     {
         function(m_Dust[i]);
     }
 }
 public void foreachStar(TezEventExtension.Action <TezGalaxyBody> function)
 {
     for (int i = 0; i < this.starCount; i++)
     {
         function(m_Stars[i]);
     }
 }
 public static void foreachName(TezEventExtension.Action <ITezValueDescriptor> action)
 {
     foreach (var pair in m_NameDic)
     {
         action(pair.Value);
     }
 }
Example #4
0
 public void close()
 {
     this.definition.close();
     this.definition            = null;
     m_OnAddDefinitionObject    = null;
     m_OnRemoveDefinitionObject = null;
 }
 public void debug(TezEventExtension.Action <int, T> action)
 {
     for (int i = 0; i < m_Count; i++)
     {
         action(i, m_Items[i]);
     }
 }
Example #6
0
 public void foreachTag(TezEventExtension.Action <TezTag> action)
 {
     foreach (var tag in m_Set)
     {
         action(TezTag.get(tag));
     }
 }
Example #7
0
 /// <summary>
 /// 创建一个多线程任务
 /// <para>只有on_run方法执行于线程中</para>
 /// <para>其他方法都在主线程中执行</para>
 /// </summary>
 public Task add(
     TezEventExtension.Action <Task> on_start,
     TezEventExtension.Action <Task> on_run,
     TezEventExtension.Action <Task> on_complete,
     TezEventExtension.Action <Task> on_terminate)
 {
     return(this.add("Default_Thread", on_start, on_run, on_complete, on_terminate));
 }
        public void foreachH2(TezEventExtension.Action <TezGalaxyBody> function)
        {
            var count = this.h2Count * 2;

            for (int i = 0; i < count; i++)
            {
                function(m_H2[i]);
            }
        }
            public void register(int event_id, TezEventExtension.Action <object> action)
            {
                while (m_OnEvent.Count <= event_id)
                {
                    m_OnEvent.Add(this.defaultFunction);
                }

                m_OnEvent[event_id] = action;
            }
Example #10
0
        public void subscribe <EventData>(object listener, TezEventExtension.Action <ITezEventData> function) where EventData : ITezEventData
        {
            if (EventID <EventData> .ID == TezTypeInfo.ErrorID)
            {
                this.register <EventData>();
            }

            m_Listeners[EventID <EventData> .ID].Add(listener, function);
        }
Example #11
0
 public void foreachBlock(TezEventExtension.Action <Block> action)
 {
     foreach (var block in m_BlockArray)
     {
         if (block != null)
         {
             action(block);
         }
     }
 }
        /// <summary>
        /// 关闭此Pool
        /// 此Pool将永远无法再次使用
        /// </summary>
        public void close()
        {
            this.destroyObjects();

            m_Pool = null;

            m_CloseFunction  = null;
            m_ClearFunction  = null;
            m_CreateFunction = null;
            m_Instance       = null;
        }
Example #13
0
        public void draw(TezEventExtension.Action <TezRectangle> draw_function)
        {
            if (m_IsSubdivided)
            {
                m_Nodes[Quadrant_1].draw(draw_function);
                m_Nodes[Quadrant_2].draw(draw_function);
                m_Nodes[Quadrant_3].draw(draw_function);
                m_Nodes[Quadrant_4].draw(draw_function);
            }

            draw_function(bounds);
        }
Example #14
0
        /// <summary>
        /// 创建一个多线程任务
        /// <para>只有on_run方法执行于线程中</para>
        /// <para>其他方法都在主线程中执行</para>
        /// </summary>
        public Task add(
            string name,
            TezEventExtension.Action <Task> on_start,
            TezEventExtension.Action <Task> on_run,
            TezEventExtension.Action <Task> on_complete,
            TezEventExtension.Action <Task> on_terminate)
        {
            var task = new Task(name, on_start, on_run, on_complete, on_terminate);

            m_Task.Add(task);
            return(task);
        }
Example #15
0
 public Task(
     string name,
     TezEventExtension.Action <Task> on_start,
     TezEventExtension.Action <Task> on_run,
     TezEventExtension.Action <Task> on_complete,
     TezEventExtension.Action <Task> on_terminate)
 {
     m_OnStart     = on_start == null ? defaultFunction : on_start;
     m_OnRun       = on_run == null ? defaultFunction : on_run;
     m_OnComplete  = on_complete == null ? defaultFunction : on_complete;
     m_OnTerminate = on_terminate == null ? defaultFunction : on_terminate;
     this.name     = name;
 }
Example #16
0
        public void foreachChunk(TezEventExtension.Action <Chunk> action)
        {
            var x_length = m_ChunkArray.GetLength(0);
            var y_length = m_ChunkArray.GetLength(1);

            for (int y = 0; y < y_length; y++)
            {
                for (int x = 0; x < x_length; x++)
                {
                    action(m_ChunkArray[x, y]);
                }
            }
        }
Example #17
0
            public void close()
            {
                m_Thread?.Abort();
                m_AutoEvent.Close();

                this.name     = null;
                m_LockObject  = null;
                m_AutoEvent   = null;
                m_Thread      = null;
                m_OnStart     = null;
                m_OnRun       = null;
                m_OnComplete  = null;
                m_OnTerminate = null;
            }
Example #18
0
            public void reset(
                TezEventExtension.Action <Task> on_start     = null,
                TezEventExtension.Action <Task> on_progress  = null,
                TezEventExtension.Action <Task> on_complete  = null,
                TezEventExtension.Action <Task> on_terminate = null)
            {
                lock (m_LockObject)
                {
                    m_OnStart     = on_start == null ? defaultFunction : on_start;
                    m_OnRun       = on_progress == null ? defaultFunction : on_progress;
                    m_OnComplete  = on_complete == null ? defaultFunction : on_complete;
                    m_OnTerminate = on_terminate == null ? defaultFunction : on_terminate;

                    state = State.ResetToRun;
                }
            }
Example #19
0
 public void foreachRoom(TezEventExtension.Action <int, int> in_room, TezEventExtension.Action <int, int> in_wall)
 {
     for (int y = -1; y < height + 1; y++)
     {
         for (int x = -1; x < width + 1; x++)
         {
             if ((x == -1 || x == width) || (y == -1 || y == height))
             {
                 in_wall(x + ox, y + oy);
             }
             else
             {
                 in_room(x + ox, y + oy);
             }
         }
     }
 }
        /// <summary>
        /// 把要删除的Item和最后的Item交换后再删除
        /// </summary>
        /// <param name="remove_id">要移除的item的ID</param>
        /// <param name="on_swap">非最后一个Item的删除前处理(remove, last)</param>
        /// <param name="on_not_swap">最后一个Item的删除前处理(remove)</param>
        public static void Remove <T>(this List <T> list, int remove_id, TezEventExtension.Action <T, T> on_swap, TezEventExtension.Action <T> on_not_swap)
        {
            int last_id = list.Count - 1;

            if (remove_id != last_id)
            {
                var last_item   = list[last_id];
                var remove_item = list[remove_id];
                on_swap(remove_item, last_item);
                list[remove_id] = last_item;
            }
            else
            {
                on_not_swap(list[remove_id]);
            }

            list.RemoveAt(last_id);
        }
Example #21
0
 public void setListener(TezEventExtension.Action <ITezAttributeDefObject> onAddDefinitionObject, TezEventExtension.Action <ITezAttributeDefObject> onRemoveDefinitionObject)
 {
     m_OnAddDefinitionObject    = onAddDefinitionObject;
     m_OnRemoveDefinitionObject = onRemoveDefinitionObject;
 }
Example #22
0
 /// <summary>
 /// 当页面变化时
 /// on_page_changed(页面开始位置,页面容量)
 /// </summary>
 /// <param name="on_page_changed"></param>
 /// <param name="on_page_empty"></param>
 public void setListener(TezEventExtension.Action <int, int> on_page_changed, TezEventExtension.Action on_page_empty)
 {
     m_OnPageChanged = on_page_changed;
     m_OnPageEmpty   = on_page_empty;
 }
Example #23
0
 public void close()
 {
     m_OnPageChanged = null;
     m_OnPageEmpty   = null;
 }
Example #24
0
 public Switcher register(T item, TezEventExtension.Action call_back)
 {
     m_CallBack[item.ID] = call_back;
     return(this);
 }