From de2fa9c4e2379158d0ed250050516810b6b908e4 Mon Sep 17 00:00:00 2001 From: AGulev Date: Fri, 3 Nov 2017 09:50:28 +0300 Subject: [PATCH] replace hashes with constants --- .luacheckrc | 42 +++++++++++++++++++++++++++++++++ monarch/monarch.lua | 47 +++++++++++++++++++++++-------------- monarch/screen.script | 16 ++++++------- monarch/transitions/gui.lua | 38 ++++++++++++++++-------------- 4 files changed, 99 insertions(+), 44 deletions(-) create mode 100644 .luacheckrc diff --git a/.luacheckrc b/.luacheckrc new file mode 100644 index 0000000..4b1717c --- /dev/null +++ b/.luacheckrc @@ -0,0 +1,42 @@ +std = "max" +files['.luacheckrc'].global = false +unused_args = false + +globals = { + "sys", + "go", + "gui", + "label", + "render", + "crash", + "sprite", + "sound", + "tilemap", + "spine", + "particlefx", + "physics", + "factory", + "collectionfactory", + "iac", + "msg", + "vmath", + "url", + "http", + "image", + "json", + "zlib", + "iap", + "push", + "facebook", + "hash", + "hash_to_hex", + "pprint", + "init", + "final", + "update", + "on_input", + "on_message", + "on_reload", + "window", + "unityads" +} diff --git a/monarch/monarch.lua b/monarch/monarch.lua index fce3bb2..1e59904 100644 --- a/monarch/monarch.lua +++ b/monarch/monarch.lua @@ -8,13 +8,24 @@ local CONTEXT = hash("monarch_context") local PROXY_LOADED = hash("proxy_loaded") local PROXY_UNLOADED = hash("proxy_unloaded") -M.TRANSITION_DONE = hash("transition_done") +local RELEASE_INPUT_FOCUS = hash("release_input_focus") +local ACQUIRE_INPUT_FOCUS = hash("acquire_input_focus") +local ASYNC_LOAD = hash("async_load") +local ENABLE = hash("enable") + +M.TRANSITION = {} +M.TRANSITION.DONE = hash("transition_done") +M.TRANSITION.SHOW_IN = hash("transition_show_in") +M.TRANSITION.SHOW_OUT = hash("transition_show_out") +M.TRANSITION.BACK_IN = hash("transition_back_in") +M.TRANSITION.BACK_OUT = hash("transition_back_out") + M.FOCUS_GAINED = hash("monarch_focus_gained") M.FOCUS_LOST = hash("monarch_focus_lost") local function screen_from_proxy(proxy) - for _,screen in pairs(screens) do + for _, screen in pairs(screens) do if screen.proxy == proxy then return screen end @@ -23,7 +34,7 @@ end local function screen_from_script() local url = msg.url() - for _,screen in pairs(screens) do + for _, screen in pairs(screens) do if screen.script == url then return screen end @@ -31,7 +42,7 @@ local function screen_from_script() end local function in_stack(id) - for i=1,#stack do + for i = 1, #stack do if stack[i].id == id then return true end @@ -60,11 +71,11 @@ local function show_out(screen, next_screen, cb) local co co = coroutine.create(function() screen.co = co - msg.post(screen.script, "release_input_focus") + msg.post(screen.script, RELEASE_INPUT_FOCUS) msg.post(screen.script, CONTEXT) coroutine.yield() if not next_screen.popup then - msg.post(screen.transition_url, "transition_show_out") + msg.post(screen.transition_url, M.TRANSITION.SHOW_OUT) coroutine.yield() msg.post(screen.proxy, "unload") coroutine.yield() @@ -84,13 +95,13 @@ local function show_in(screen, cb) screen.co = co msg.post(screen.script, CONTEXT) coroutine.yield() - msg.post(screen.proxy, "async_load") + msg.post(screen.proxy, ASYNC_LOAD) coroutine.yield() - msg.post(screen.proxy, "enable") + msg.post(screen.proxy, ENABLE) stack[#stack + 1] = screen - msg.post(screen.transition_url, "transition_show_in") + msg.post(screen.transition_url, M.TRANSITION.SHOW_IN) coroutine.yield() - msg.post(screen.script, "acquire_input_focus") + msg.post(screen.script, ACQUIRE_INPUT_FOCUS) if screen.focus_url then msg.post(screen.focus_url, M.FOCUS_GAINED) end @@ -107,13 +118,13 @@ local function back_in(screen, previous_screen, cb) msg.post(screen.script, CONTEXT) coroutine.yield() if not previous_screen.popup then - msg.post(screen.proxy, "async_load") + msg.post(screen.proxy, ASYNC_LOAD) coroutine.yield() - msg.post(screen.proxy, "enable") - msg.post(screen.transition_url, "transition_back_in") + msg.post(screen.proxy, ENABLE) + msg.post(screen.transition_url, M.TRANSITION.BACK_IN) coroutine.yield() end - msg.post(screen.script, "acquire_input_focus") + msg.post(screen.script, ACQUIRE_INPUT_FOCUS) if screen.focus_url then msg.post(screen.focus_url, M.FOCUS_GAINED) end @@ -127,10 +138,10 @@ local function back_out(screen, cb) local co co = coroutine.create(function() screen.co = co - msg.post(screen.script, "release_input_focus") + msg.post(screen.script, RELEASE_INPUT_FOCUS) msg.post(screen.script, CONTEXT) coroutine.yield() - msg.post(screen.transition_url, "transition_back_out") + msg.post(screen.transition_url, M.TRANSITION.BACK_OUT) coroutine.yield() msg.post(screen.proxy, "unload") if screen.focus_url then @@ -232,7 +243,7 @@ function M.on_message(message_id, message, sender) local screen = screen_from_script() assert(screen, "Unable to find screen for current script url") coroutine.resume(screen.co) - elseif message_id == M.TRANSITION_DONE then + elseif message_id == M.TRANSITION.DONE then local screen = screen_from_script() assert(screen, "Unable to find screen for current script url") coroutine.resume(screen.co) @@ -241,7 +252,7 @@ end function M.dump_stack() local s = "" - for i,screen in ipairs(stack) do + for i, screen in ipairs(stack) do s = s .. ("%d = %s\n"):format(i, tostring(screen.id)) end return s diff --git a/monarch/screen.script b/monarch/screen.script index 5e39119..40728b6 100644 --- a/monarch/screen.script +++ b/monarch/screen.script @@ -22,12 +22,12 @@ function on_message(self, message_id, message, sender) monarch.back() elseif message_id == hash("back") then monarch.back() - elseif message_id == hash("transition_show_in") - or message_id == hash("transition_show_out") - or message_id == hash("transition_back_in") - or message_id == hash("transition_back_out") then - msg.post(sender, "transition_done") - else - monarch.on_message(message_id, message, sender) + elseif message_id == monarch.TRANSITION.SHOW_IN + or message_id == monarch.TRANSITION.SHOW_OUT + or message_id == monarch.TRANSITION.BACK_IN + or message_id == monarch.TRANSITION.BACK_OUT then + msg.post(sender, monarch.TRANSITION.DONE) + else + monarch.on_message(message_id, message, sender) + end end -end diff --git a/monarch/transitions/gui.lua b/monarch/transitions/gui.lua index 5ecef8a..58631f5 100644 --- a/monarch/transitions/gui.lua +++ b/monarch/transitions/gui.lua @@ -1,3 +1,5 @@ +local monarch = require "monarch.monarch" + local M = {} local WIDTH = tonumber(sys.get_config("display.width")) @@ -6,17 +8,17 @@ local HEIGHT = tonumber(sys.get_config("display.height")) local LEFT = vmath.vector3(-WIDTH * 2, 0, 0) local RIGHT = vmath.vector3(WIDTH * 2, 0, 0) local TOP = vmath.vector3(0, HEIGHT * 2, 0) -local BOTTOM = vmath.vector3(0, -HEIGHT * 2, 0) +local BOTTOM = vmath.vector3(0, - HEIGHT * 2, 0) function M.instant(node, to, easing, duration, delay, url) - msg.post(url, "transition_done") + msg.post(url, monarch.TRANSITION.DONE) end local function slide_in(direction, node, to, easing, duration, delay, url) local from = to + direction gui.set_position(node, from) gui.animate(node, gui.PROP_POSITION, to, easing, duration, delay, function() - msg.post(url, "transition_done") + msg.post(url, monarch.TRANSITION.DONE) end) end @@ -41,7 +43,7 @@ local function slide_out(direction, node, from, easing, duration, delay, url) local to = from + direction gui.set_position(node, from) gui.animate(node, gui.PROP_POSITION, to, easing, duration, delay, function() - msg.post(url, "transition_done") + msg.post(url, monarch.TRANSITION.DONE) end) end @@ -67,23 +69,23 @@ function M.create(node) assert(node, "You must provide a node") local instance = {} - + local transitions = { - [hash("transition_show_in")] = M.instant, - [hash("transition_show_out")] = M.instant, - [hash("transition_back_in")] = M.instant, - [hash("transition_back_out")] = M.instant, + [monarch.TRANSITION.SHOW_IN] = M.instant, + [monarch.TRANSITION.SHOW_OUT] = M.instant, + [monarch.TRANSITION.BACK_IN] = M.instant, + [monarch.TRANSITION.BACK_OUT] = M.instant, } - + local initial_position = gui.get_position(node) - + -- Forward on_message calls here function instance.handle(message_id, message, sender) if transitions[message_id] then transitions[message_id](sender) end end - + -- Specify the transition function when this node is transitioned -- to -- @param fn Transition function (see slide_in_left and other above) @@ -91,7 +93,7 @@ function M.create(node) -- @param duration Transition duration -- @param delay Transition delay function instance.show_in(fn, easing, duration, delay) - transitions[hash("transition_show_in")] = function(url) + transitions[monarch.TRANSITION.SHOW_IN] = function(url) fn(node, initial_position, easing, duration, delay or 0, url) end return instance @@ -100,7 +102,7 @@ function M.create(node) -- Specify the transition function when this node is transitioned -- from when showing another screen function instance.show_out(fn, easing, duration, delay) - transitions[hash("transition_show_out")] = function(url) + transitions[monarch.TRANSITION.SHOW_OUT] = function(url) fn(node, initial_position, easing, duration, delay or 0, url) end return instance @@ -109,7 +111,7 @@ function M.create(node) --- Specify the transition function when this node is transitioned -- to when navigating back in the screen stack function instance.back_in(fn, easing, duration, delay) - transitions[hash("transition_back_in")] = function(url) + transitions[monarch.TRANSITION.BACK_IN] = function(url) fn(node, initial_position, easing, duration, delay or 0, url) end return instance @@ -118,13 +120,13 @@ function M.create(node) --- Specify the transition function when this node is transitioned -- from when navigating back in the screen stack function instance.back_out(fn, easing, duration, delay) - transitions[hash("transition_back_out")] = function(url) + transitions[monarch.TRANSITION.BACK_OUT] = function(url) fn(node, initial_position, easing, duration, delay or 0, url) end return instance end - + return instance end -return M \ No newline at end of file +return M