mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-08-15 10:47:21 +00:00
New Messages System
Following new DCS world messaging system
This commit is contained in:
parent
e0d281272a
commit
0b04561a33
50
Message.lua
50
Message.lua
@ -75,14 +75,9 @@ function MESSAGE:ToClient( Client )
|
|||||||
trace.f(self.ClassName )
|
trace.f(self.ClassName )
|
||||||
|
|
||||||
if Client and Client:ClientGroup() then
|
if Client and Client:ClientGroup() then
|
||||||
local ClientGroupName = Client:ClientGroup():getName()
|
|
||||||
|
|
||||||
if not _MessageQueue.ClientGroups[ClientGroupName] then
|
local ClientGroupName = Client:ClientGroup():getName()
|
||||||
_MessageQueue.ClientGroups[ClientGroupName] = {}
|
trigger.action.outTextForGroup( Group.getByName(ClientGroupName):getID(), self.MessageCategory .. '\n' .. self.MessageText:gsub("\n$",""):gsub("\n$",""), self.MessageDuration )
|
||||||
_MessageQueue.ClientGroups[ClientGroupName].Messages = {}
|
|
||||||
end
|
|
||||||
|
|
||||||
_MessageQueue.ClientGroups[ClientGroupName].Messages[self.MessageID] = self
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return self
|
return self
|
||||||
@ -103,12 +98,7 @@ function MESSAGE:ToCoalition( CoalitionSide )
|
|||||||
trace.f(self.ClassName )
|
trace.f(self.ClassName )
|
||||||
|
|
||||||
if CoalitionSide then
|
if CoalitionSide then
|
||||||
if not _MessageQueue.CoalitionSides[CoalitionSide] then
|
trigger.action.outTextForCoalition( CoalitionSide, self.MessageCategory .. '\n' .. self.MessageText:gsub("\n$",""):gsub("\n$",""), self.MessageDuration )
|
||||||
_MessageQueue.CoalitionSides[CoalitionSide] = {}
|
|
||||||
_MessageQueue.CoalitionSides[CoalitionSide].Messages = {}
|
|
||||||
end
|
|
||||||
|
|
||||||
_MessageQueue.CoalitionSides[CoalitionSide].Messages[self.MessageID] = self
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return self
|
return self
|
||||||
@ -162,7 +152,7 @@ function MESSAGEQUEUE:_DisplayMessages()
|
|||||||
for CoalitionSideID, CoalitionSideData in pairs( self.CoalitionSides ) do
|
for CoalitionSideID, CoalitionSideData in pairs( self.CoalitionSides ) do
|
||||||
for MessageID, MessageData in pairs( CoalitionSideData.Messages ) do
|
for MessageID, MessageData in pairs( CoalitionSideData.Messages ) do
|
||||||
if MessageData.MessageSent == false then
|
if MessageData.MessageSent == false then
|
||||||
trigger.action.outTextForCoalition( CoalitionSideID, MessageData.MessageCategory .. '\n' .. MessageData.MessageText:gsub("\n$",""):gsub("\n$",""), MessageData.MessageDuration )
|
--trigger.action.outTextForCoalition( CoalitionSideID, MessageData.MessageCategory .. '\n' .. MessageData.MessageText:gsub("\n$",""):gsub("\n$",""), MessageData.MessageDuration )
|
||||||
MessageData.MessageSent = true
|
MessageData.MessageSent = true
|
||||||
end
|
end
|
||||||
local MessageTimeLeft = ( MessageData.MessageTime + MessageData.MessageDuration ) - timer.getTime()
|
local MessageTimeLeft = ( MessageData.MessageTime + MessageData.MessageDuration ) - timer.getTime()
|
||||||
@ -187,24 +177,24 @@ function MESSAGEQUEUE:_DisplayMessages()
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- Now check if the Client also has messages that belong to the Coalition of the Client...
|
-- Now check if the Client also has messages that belong to the Coalition of the Client...
|
||||||
-- for CoalitionSideID, CoalitionSideData in pairs( self.CoalitionSides ) do
|
for CoalitionSideID, CoalitionSideData in pairs( self.CoalitionSides ) do
|
||||||
-- for MessageID, MessageData in pairs( CoalitionSideData.Messages ) do
|
for MessageID, MessageData in pairs( CoalitionSideData.Messages ) do
|
||||||
-- local CoalitionGroup = Group.getByName( ClientGroupName )
|
local CoalitionGroup = Group.getByName( ClientGroupName )
|
||||||
-- if CoalitionGroup and CoalitionGroup:getCoalition() == CoalitionSideID then
|
if CoalitionGroup and CoalitionGroup:getCoalition() == CoalitionSideID then
|
||||||
-- if MessageData.MessageCoalition == false then
|
if MessageData.MessageCoalition == false then
|
||||||
-- trigger.action.outTextForGroup( Group.getByName(ClientGroupName):getID(), MessageData.MessageCategory .. '\n' .. MessageData.MessageText:gsub("\n$",""):gsub("\n$",""), MessageData.MessageDuration )
|
trigger.action.outTextForGroup( Group.getByName(ClientGroupName):getID(), MessageData.MessageCategory .. '\n' .. MessageData.MessageText:gsub("\n$",""):gsub("\n$",""), MessageData.MessageDuration )
|
||||||
-- MessageData.MessageCoalition = true
|
MessageData.MessageCoalition = true
|
||||||
-- end
|
end
|
||||||
-- end
|
end
|
||||||
-- local MessageTimeLeft = ( MessageData.MessageTime + MessageData.MessageDuration ) - timer.getTime()
|
local MessageTimeLeft = ( MessageData.MessageTime + MessageData.MessageDuration ) - timer.getTime()
|
||||||
-- if MessageTimeLeft <= 0 then
|
if MessageTimeLeft <= 0 then
|
||||||
-- MessageData = nil
|
MessageData = nil
|
||||||
-- end
|
end
|
||||||
-- end
|
end
|
||||||
-- end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--- The _MessageQueue object is created when the MESSAGE class module is loaded.
|
--- The _MessageQueue object is created when the MESSAGE class module is loaded.
|
||||||
_MessageQueue = MESSAGEQUEUE:New( 0.5 )
|
--_MessageQueue = MESSAGEQUEUE:New( 0.5 )
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user