Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions client/src/README
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,12 @@ packages.utils,及其子集lfs, logger等。
packages.mvc, 及其子集uibox, layoutbase等。


2、引用外部库函数,采用"库名_函数名"形式。
2、引用外部库函数,采用"库名_函数名"形式,
对packages的引用,采用"库名"形式

如:
引用 cc.Layer -> local cc_layer = cc.Layer
引用 cc.Layer -> local cc_layer = cc.Layer
引用 utils.logger -> local logger = g.logger

3、成员变量,采用"_驼峰"形式,
局部变量,采用驼峰形式。
Expand Down
14 changes: 13 additions & 1 deletion client/src/app/MyApp.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,19 @@ end

function MyApp:run()
cc.FileUtils:getInstance():addSearchPath("res/")
self:enterScene("MainScene")

-- self:enterScene("LoginScene")

local loginScene = require("app.Login.LoginScene")
-- local loginScene = g.mvc.SceneBase
local scene = loginScene.new()
display.replaceScene(scene)

-- local scenebase = g.mvc.SceneBase

-- local scene = scenebase.new()


end

return MyApp
19 changes: 0 additions & 19 deletions client/src/app/scenes/MainScene.lua

This file was deleted.

2 changes: 1 addition & 1 deletion client/src/config.lua
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

-- 0 - disable debug info, 1 - less debug info, 2 - verbose debug info
DEBUG = 1
DEBUG = 2

-- display FPS stats on screen
DEBUG_FPS = true
Expand Down
1 change: 1 addition & 0 deletions client/src/framework/cc/mvc/AppBase.lua
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ function AppBase:enterScene(sceneName, args, transitionType, time, more)
local sceneClass = require(scenePackageName)
local scene = sceneClass.new(unpack(checktable(args)))
display.replaceScene(scene, transitionType, time, more)
return scene
end

function AppBase:createView(viewName, ...)
Expand Down
7 changes: 6 additions & 1 deletion client/src/framework/functions.lua
Original file line number Diff line number Diff line change
Expand Up @@ -282,9 +282,10 @@ end

]]
function class(classname, super)

local superType = type(super)
local cls

-- print(superType)
if superType ~= "function" and superType ~= "table" then
superType = nil
super = nil
Expand Down Expand Up @@ -336,6 +337,10 @@ function class(classname, super)
instance:ctor(...)
return instance
end

function cls.create(...)
return cls.new(...)
end
end

return cls
Expand Down
23 changes: 5 additions & 18 deletions client/src/packages/global.lua
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@

--1、extand lua

-- require('packages.extands.functions')
-- require('packages.extands.string')
require('packages.extands.functions')
require('packages.extands.string')
require('packages.extands.table')

--2、extand cc
-- require('packages.extands.ListenerEx')
-- require('packages.extands.ListViewEx')
require('packages.extands.ListenerEx')
require('packages.extands.ListViewEx')
-- require('packages.extands.TableViewEx')

--3、global
Expand All @@ -17,21 +17,8 @@ cc.exports.g = g

table.merge(g, cc.load("utils"))

--[[
-- test logger
local t = {a=1, b=2}
g.logger.n("11")
g.logger.i("22")

g.logger.f("%d", 33)
g.logger.w("44")
-- g.logger.e("55")
]]

g.eventcenter = cc.load("eventcenter")

g.mvc = cc.load("mvc")

-- g.logger.d(g.mvc)
g.logger.d(g.mvc)


8 changes: 3 additions & 5 deletions client/src/packages/mvc/controlbase.lua
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
local controlbase = class("controlbase")

function controlbase:ctor( )

if self.onCreate then
self:onCreate()
self:load()
end

if self.onCreate then self:onCreate() end

end

function controlbase:load()
Expand Down
131 changes: 11 additions & 120 deletions client/src/packages/mvc/layoutbase.lua
Original file line number Diff line number Diff line change
@@ -1,13 +1,6 @@
--[[
@author : jc
@log :
@todo :
1、LayoutBase的enableNodeEvents,resetWidgetText,onLocateClickCallback等方法,extend widget后重写。

]]
local ccui_layout = ccui.layout
local lang_text = nil--g.mgr.tablemgr.getTextByKey
local layoutbase = class("layoutbase", ccui.Layout)
local layoutbase = class("layoutbase", function ()
return display.newLayer()
end)

function layoutbase:ctor(...)
if self.onCreate then self:onCreate(...) end
Expand All @@ -29,13 +22,8 @@ function layoutbase:createCSBNode(filename)
assert(self._csbNode, string.format("layoutbase:createCSBNode load resouce node from file \"%s\" failed", filename))
self:addChild(self._csbNode)

self:enableNodeEvents()

-- 重定向点击事件
self:registerLayoutHandlers()

--重设控件的文本
self:resetWidgetText()
return self._csbNode
end

Expand All @@ -45,81 +33,6 @@ function layoutbase:createCSBNode(filename)
end
end

function layoutbase:enableNodeEvents()
if self.enableNodeEvent then
return self
end

self:registerScriptHandler( function(state)
if state == "enter" and self.onEnter then
self:onEnter()
elseif state == "exit" then
if self.onExit then
self:onExit()
end
if self.onEnxitUnifiedCallBack then
self:onEnxitUnifiedCallBack()
end
elseif state == "enterTransitionFinish" then
if self.onEnterTransitionFinish then
self:onEnterTransitionFinish()
end
if self.onEnterFinishUnifiedCallBack then
self:onEnterFinishUnifiedCallBack()
end
elseif state == "exitTransitionStart" and self.onExitTransitionStart then
self:onExitTransitionStart()
elseif state == "cleanup" and self.onCleanup then
self:onCleanup()
end
end )
self.enableNodeEvent = true

return self
end

function layoutbase:disableNodeEvents()
self:unregisterScriptHandler()
self.enableNodeEvent = false
return self
end

function layoutbase:resetWidgetText()

local widgetType = {
WIDGET_BUTTON = 1,
WIDGET_LABLE = 2,
WIDGET_TEXTFIELD = 3,
}

local textReflect
textReflect = function(node)

local children = node:getChildren()
for _, v in ipairs(children) do
if v.getCustomProperty then
local key = v:getCustomProperty()
if key ~= '' then
local langtext = lang_text(key)

local Type = v:getWidgetType()
if widgetType.WIDGET_BUTTON == Type then
v:setTitleText(langtext)
elseif widgetType.WIDGET_LABLE == Type then
v:setString(langtext)
elseif widgetType.WIDGET_TEXTFIELD == Type then
v:setString(langtext)
end
end
end

textReflect(v)
end
end

textReflect(self._csbNode)
end

function layoutbase:registerLayoutHandlers()

if not self.option then
Expand All @@ -131,17 +44,13 @@ function layoutbase:registerLayoutHandlers()
end

local handlers = self.option.handlerMap
self.onDispatch = function(_func, _sender)
self.onDispatch = function(cb, _sender)

local callback = handlers[_func]
if not callback then
logf("layoutbase registerLayout find no handler,evtName:%s!", evtName)
else
local callback = handlers[cb]
if callback then
local f =function()
if self[callback] then
self[callback](self, _sender, _func)
else
logf("layoutbase registerLayout find no handler,callback:%s!", callback)
self[callback](self, _sender, cb)
end
end

Expand All @@ -158,20 +67,13 @@ function layoutbase:registerLayoutHandlers()
if v.getCallbackName then
tolua.cast(v, "ccui.Widget")

local _func = v:getCallbackName()
if _func and _func ~= "" then
handlers[_func] = _func
local cb = v:getCallbackName()
if cb and cb ~= "" then
handlers[cb] = cb

v:addClickEventListener(function (_sender)
-- 分发触摸事件

--[[ if _func == "onBack" then
g.mgr.soundMgr:playEffectSound("commonBack")
else
g.mgr.soundMgr:playEffectSound("commonClick")
end
]] --
self.onDispatch(_func, _sender)
self.onDispatch(cb, _sender)
end)
end
end
Expand All @@ -189,13 +91,6 @@ function layoutbase:getCsbName()
return self._csbName or ""
end

function layoutbase:getLayoutTag()
local arr = string.split(self._csbName, '/')
local panel = string.split(arr[3], '.')[1]
local tag = string.format("app.%s.%s.%s", arr[1], arr[2], panel)
return tag
end

function layoutbase:getChildByName(name)
return self._csbNode:getChildByName(name)
end
Expand All @@ -204,8 +99,4 @@ function layoutbase:getChildByTag(tag)
return self._csbNode:getChildByTag(tag)
end

function layoutbase:seekWidgetByName(name)
return uihelper.seekWidgetByName(self._csbNode, name)
end

return layoutbase
38 changes: 29 additions & 9 deletions client/src/packages/mvc/mvc.lua
Original file line number Diff line number Diff line change
@@ -1,12 +1,32 @@
local mvc = cc.mvc

local _M = {}
--TODO: 扩展viewBase
-- local ViewBase = import("")

_M.layoutbase = import(".layoutbase")
_M.panelbase = import(".panelbase")
_M.scenebase = import(".scenebase")
_M.proxybase = import(".proxybase")
_M.controlbase = import(".controlbase")
-- _M.BaseTips = import(".BaseTips")
-- _M.BaseCache = import(".BaseCache")
--TODO: 扩展ViewMgr
-- local ViewMgr = import("")

return _M
--TODO: 扩展SceneBase
local SceneBase = import(".scenebase")

--TODO: 扩展SceneMgr
-- local SceneMgr = import("")

mvc.ViewBase = ViewBase
mvc.SceneBase = SceneBase

return mvc, SceneMgr
--[[
scenemgr
| \
| \
| \
scene1 scene2
|
|
|
viewmgr
| \
| \
view1 view2
]]
Loading