读书人

一个漂亮的任务元件(内存分配的自解方

发布时间: 2013-03-25 15:43:04 作者: rapoo

一个漂亮的任务部件(内存分配的自解方式)

--[[文件名: 任务部件.lua作者  :  陈泽丹创建时间:  2013-1-22描述:--]]-- -------------------------------------- 创建任务部件-- ------------------------------------G_ROLE_TASK_PART = {}function Lua_GetTaskPart(_role)local function do_Lua_GetTaskPart()local task_context = nillocal public = {}--初始化任务function public.InitTaskPart()task_context = Lua_GetTaskContext(_role)for i, v in pairs(task_context.OBJ) dov = Lua_Task_Deserialize(i, v)endend--反初始化任务function public.UninitTaskPart()for i, v in pairs(task_context.OBJ) doLua_Task_Serialize(i, v)endLua_SetTaskContext(_role, task_context)end--接受任务function public.addTask( _obj )end--删除任务function public.delTask( _obj )end--获得任务function public.getTask( _pos )end--获得任务缓存区function public.getTaskData()return task_context.DATAend--删除自身function public.Delete()if nil ~= G_ROLE_TASK_PART[_role] thenG_ROLE_TASK_PART[_role].UninitTaskPart()G_ROLE_TASK_PART[_role] = nilendendreturn publicend--单例模式获得玩家任务部件if nil == G_ROLE_TASK_PART[_role] thenG_ROLE_TASK_PART[_role] = do_Lua_GetTaskPart()G_ROLE_TASK_PART[_role].InitTaskPart()end--返回相关对象return G_ROLE_TASK_PART[_role]end

读书人网 >编程

热点推荐