|
- -- 主界面
- 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
|