close channel event
This commit is contained in:
parent
9c88c525fb
commit
c93732a44a
|
@ -111,6 +111,16 @@ local function onOpenPrivateChannel(receiver)
|
|||
end
|
||||
end
|
||||
|
||||
local function onCloseChannel(channelId)
|
||||
local channel = channels[channelId]
|
||||
if channel then
|
||||
local tab = Console.getTab(channel)
|
||||
if tab then
|
||||
consoleTabBar:removeTab(tab)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function doChannelListSubmit()
|
||||
local channelListPanel = channelsWindow:getChildById('channelList')
|
||||
local openPrivateChannelWith = channelsWindow:getChildById('openPrivateChannelWith'):getText()
|
||||
|
@ -156,6 +166,7 @@ function Console.init()
|
|||
onChannelList = onChannelList,
|
||||
onOpenChannel = onOpenChannel,
|
||||
onOpenPrivateChannel = onOpenPrivateChannel,
|
||||
onCloseChannel = onCloseChannel,
|
||||
onGameEnd = Console.clear })
|
||||
|
||||
consolePanel = displayUI('console.otui', GameInterface.getBottomPanel())
|
||||
|
@ -189,6 +200,7 @@ function Console.terminate()
|
|||
onChannelList = onChannelList,
|
||||
onOpenChannel = onOpenChannel,
|
||||
onOpenPrivateChannel = onOpenPrivateChannel,
|
||||
onCloseChannel = onCloseChannel,
|
||||
onGameEnd = Console.clear })
|
||||
|
||||
for channelid, channelname in pairs(channels) do
|
||||
|
|
|
@ -291,9 +291,13 @@ void Map::setCentralPosition(const Position& centralPosition)
|
|||
} else {
|
||||
for(const auto& pair : m_knownCreatures) {
|
||||
const CreaturePtr& creature = pair.second;
|
||||
if(!isAwareOfPosition(creature->getPosition())) {
|
||||
removeThing(creature);
|
||||
if(creature) {
|
||||
if(!isAwareOfPosition(creature->getPosition())) {
|
||||
removeThing(creature);
|
||||
}
|
||||
}
|
||||
else
|
||||
logTraceError("invalid creature");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue