Originally Posted by Garkin
Usually everything, what you want to do when scene is showing or hiding, is done by registering to StateChange callback, something like:
Lua Code:
local function OnStateChange(oldState, newState) if newState == SCENE_SHOWING then CHAT_SYSTEM:Minimize() elseif newState == SCENE_HIDDEN then CHAT_SYSTEM:Maximize() end end local scene = SCENE_MANAGER:GetScene("bank") scene:RegisterCallback("StateChange", OnStateChange)
But if it works, do it as you like.
|
SetState triggers too often and SetBaseScene get a little bug when prehooking.
So I used your method :
Lua Code:
function pChat.onSceneStateChange(oldState, newState)
if pChat.opts.chatMinimizedInMenus then
if newState == SCENE_HIDDEN then
CHAT_SYSTEM:Minimize()
end
end
if pChat.opts.chatMaximizedAfterMenus then
if newState == SCENE_SHOWING then
CHAT_SYSTEM:Maximize()
end
end
end
-- RegisterCallback for Maximize/Minimize chat when entering/leaving scenes
-- "hud" is base scene (with "hudui") -- This declaration has to be set AFTER pChat.onSceneStateChange declaration
pChat.hud = SCENE_MANAGER:GetScene("hud")
pChat.hud:RegisterCallback("StateChange", pChat.onSceneStateChange)
Thank you
Anyway, option asked added in
pChat 1.17