-- 主界面 local CreateRoomItemBase = class("CreateRoomItemBase", cc.UIView) --[[ 一、构造函数传什么参数 defaultValus :默认值,如果为空则从本地文件读取 fileName :本地文件名 二、子游戏需要做什么 1、继承并重写 getRuleResult(),供外部获取最终数据 2、可以通过父类的 getDefaultValue() 方法获取默认值 3、在调用 getRuleResult()的时候要调用 saveDefaultValues() 保存最终数据 --]] function CreateRoomItemBase:ctor(defaultValus, fileName) CreateRoomItemBase.super.ctor(self); self.fileName = fileName; self.defaultValus = defaultValus -- 如果没有传默认值,则从本地读取默认值 if not self.defaultValus then self:loadDefaultValues(); self.isCreateRoom = true end end function CreateRoomItemBase:getRuleResult() return {} end function CreateRoomItemBase:getDefaultValue(key) if self.defaultValus then return self.defaultValus[key] else return nil end end function CreateRoomItemBase:loadDefaultValues() local jsonString = loadStringFromFile(self.fileName) if jsonString then self.defaultValus = json.decode(jsonString) or {} else self.defaultValus = {} end end function CreateRoomItemBase:saveDefaultValues() if not self.isCreateRoom then return end local jsonString = json.encode(self.defaultValus or {}) saveStringToFile(jsonString, self.fileName) end function CreateRoomItemBase:getLayoutContentSize() if self.ui then return self.ui:getContentSize() else return nil end end return CreateRoomItemBase