14#ifndef SPRITESTUDIO6SDK_NOUSE_ARGUMENT
15 #define SPRITESTUDIO6SDK_NOUSE_ARGUMENT(_name_) ( void )( &_name_ );
24 static unsigned long m_tree_item_uid;
28 static unsigned long getuid(){
return ++m_tree_item_uid; }
32template<
class __my
class>
51 : sibling_next(0) , sibling_prev(0) , child(0) , childnum(0) , parent(0) ,_child_destroy(true),_my_destroy(true)
72 size_t l = strlen(_ident);
75 for (
size_t i = 0 ; i < l ; i++ ) m_ident[i] = _ident[i];
83 _child_destroy = flag;
102 child->appendsibling(item);
110 if ( sibling_next == 0)
113 item->sibling_prev =
this;
115 sibling_next->appendsibling(item);
121 if ( item->_my_destroy ==
false ) return ;
131 item->sibling_next = 0;
145 if ( _child_destroy )
157 sibling_next->sibling_prev = sibling_prev;
162 sibling_prev->sibling_next = sibling_next;
170 if ( root->sibling_next == sub )
172 root->sibling_next = sub->sibling_next;
173 if ( sub->sibling_next )
175 sub->sibling_next->sibling_prev = root;
179 if ( root->child == sub )
184 if ( temp->sibling_next )
186 temp->sibling_next->sibling_prev = 0;
187 temp->sibling_next->parent = root;
190 root->child = root->child->sibling_next;
194 if ( root->sibling_next )
228 m_pause(false),m_drawpause(false)
255 std::unique_ptr<task_base> m_root;
257 void exec_resist_tasks_sub(
task_base* task ,
double delta_time);
258 void draw_resist_tasks_sub(
task_base* task );
virtual void init()
Definition sshTask.h:241
void setdrawpause(bool sw)
Definition sshTask.h:234
bool isdrawpause()
Definition sshTask.h:235
virtual void draw()
Definition sshTask.h:238
~task_imp()
Definition sshTask.h:230
void setpause(bool sw)
Definition sshTask.h:232
bool ispause()
Definition sshTask.h:233
task_imp()
Definition sshTask.h:227
virtual void update(double delta)
Definition sshTask.h:240
task_manager_singleton()
Definition sshTask.h:283
static task_manager_singleton * getinst()
Definition sshTask.h:292
~task_manager_singleton()
Definition sshTask.h:287
task_manager()
Definition sshTask.cpp:13
void exec_resist_tasks(double delta_time)
Definition sshTask.cpp:102
void destroy_tasks()
Definition sshTask.cpp:26
void draw_resist_tasks()
Definition sshTask.cpp:76
void resist_task(task_base *parent, task_base *reg_task)
Definition sshTask.cpp:39
~task_manager()
Definition sshTask.cpp:21
task_base * get_root()
Definition sshTask.h:270
void unresist_task(task_base *parent, task_base *unreg_task)
Definition sshTask.cpp:33
static unsigned long getuid()
Definition sshTask.h:28
treeitem_uid()
Definition sshTask.h:26
~treeitem_uid()
Definition sshTask.h:27
void destroysub(treeitem *item)
Definition sshTask.h:119
treeitem * get_parent()
Definition sshTask.h:91
virtual ~treeitem()
Definition sshTask.h:58
void set_child_auto_destroy(bool flag)
Definition sshTask.h:81
treeitem * get_child()
Definition sshTask.h:92
int get_childnum()
Definition sshTask.h:94
const char * getIdentify()
Definition sshTask.h:63
void prependsibling_sub(treeitem *root, treeitem *sub)
Definition sshTask.h:166
void destroy()
Definition sshTask.h:137
treeitem()
Definition sshTask.h:50
treeitem * get_sibling()
Definition sshTask.h:93
void prependtask(treeitem *item)
Definition sshTask.h:209
void setIdentify(const char *_ident)
Definition sshTask.h:69
void set_my_auto_destroy(bool flag)
Definition sshTask.h:86
void appendsibling(treeitem *item)
Definition sshTask.h:108
void appendchild(treeitem *item)
Definition sshTask.h:96
Definition ISsEffectRender.h:5
treeitem< task_imp > task_base
Definition sshTask.h:246
task_base * task_getroot()
Definition sshTask.h:305
void task_manager_draw()
Definition sshTask.h:324
void task_manager_destroy()
Definition sshTask.h:329
void task_manager_exec(double delta_time)
Definition sshTask.h:319
void task_unresist_task(task_base *parent, task_base *reg_task)
Definition sshTask.h:301
task_manager_singleton * get_rstaskmanager()
Definition sshTask.h:295
void task_resist_task(task_base *parent, task_base *reg_task)
Definition sshTask.h:310
#define SPRITESTUDIO6SDK_NOUSE_ARGUMENT(_name_)
Definition sshTask.h:15