首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

2013-03-25 
一个漂亮的任务部件(内存分配的自解方式)--[[文件名: 任务部件.lua作者:陈泽丹创建时间:2013-1-22描述:--]

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

--[[文件名: 任务部件.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

热点排行