mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-08-15 10:47:21 +00:00
Got CARGO working now with new FSM mechanism
This commit is contained in:
parent
b72a1c5c6b
commit
3496550cb3
@ -224,23 +224,19 @@ do -- CARGO_BASE
|
|||||||
-- @return #CARGO_BASE
|
-- @return #CARGO_BASE
|
||||||
function CARGO_BASE:New( Type, Name, Weight, ReportRadius, NearRadius )
|
function CARGO_BASE:New( Type, Name, Weight, ReportRadius, NearRadius )
|
||||||
|
|
||||||
FSMT = {
|
local self = BASE:Inherit( self, FSM:New() ) -- Fsm.Fsm#FSM_CONTROLLABLE
|
||||||
initial = 'UnLoaded',
|
|
||||||
events = {
|
|
||||||
{ name = 'Board', from = 'UnLoaded', to = 'Boarding' },
|
|
||||||
{ name = 'Boarding', from = 'Boarding', to = 'Boarding' },
|
|
||||||
{ name = 'Load', from = 'Boarding', to = 'Loaded' },
|
|
||||||
{ name = 'Load', from = 'UnLoaded', to = 'Loaded' },
|
|
||||||
{ name = 'UnBoard', from = 'Loaded', to = 'UnBoarding' },
|
|
||||||
{ name = 'UnBoarding', from = 'UnBoarding', to = 'UnBoarding' },
|
|
||||||
{ name = 'UnLoad', from = 'UnBoarding', to = 'UnLoaded' },
|
|
||||||
{ name = 'UnLoad', from = 'Loaded', to = 'UnLoaded' },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
local self = BASE:Inherit( self, FSM_PROCESS:New( FSMT ) ) -- #CARGO_BASE
|
|
||||||
self:F( { Type, Name, Weight, ReportRadius, NearRadius } )
|
self:F( { Type, Name, Weight, ReportRadius, NearRadius } )
|
||||||
|
|
||||||
|
self:SetStartState( "UnLoaded" )
|
||||||
|
self:AddTransition( "UnLoaded", "Board", "Boarding" )
|
||||||
|
self:AddTransition( "Boarding", "Boarding", "Boarding" )
|
||||||
|
self:AddTransition( "Boarding", "Load", "Loaded" )
|
||||||
|
self:AddTransition( "UnLoaded", "Load", "Loaded" )
|
||||||
|
self:AddTransition( "Loaded", "UnBoard", "UnBoarding" )
|
||||||
|
self:AddTransition( "UnBoarding", "UnBoarding", "UnBoarding" )
|
||||||
|
self:AddTransition( "UnBoarding", "UnLoad", "UnLoaded" )
|
||||||
|
self:AddTransition( "Loaded", "UnLoad", "UnLoaded" )
|
||||||
|
|
||||||
|
|
||||||
self.Type = Type
|
self.Type = Type
|
||||||
self.Name = Name
|
self.Name = Name
|
||||||
@ -312,9 +308,6 @@ function CARGO_REPRESENTABLE:New( CargoObject, Type, Name, Weight, ReportRadius,
|
|||||||
local self = BASE:Inherit( self, CARGO_BASE:New( Type, Name, Weight, ReportRadius, NearRadius ) ) -- #CARGO_BASE
|
local self = BASE:Inherit( self, CARGO_BASE:New( Type, Name, Weight, ReportRadius, NearRadius ) ) -- #CARGO_BASE
|
||||||
self:F( { Type, Name, Weight, ReportRadius, NearRadius } )
|
self:F( { Type, Name, Weight, ReportRadius, NearRadius } )
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -371,11 +364,11 @@ end
|
|||||||
|
|
||||||
--- Enter UnBoarding State.
|
--- Enter UnBoarding State.
|
||||||
-- @param #CARGO_UNIT self
|
-- @param #CARGO_UNIT self
|
||||||
-- @param Core.Point#POINT_VEC2 ToPointVec2
|
|
||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
function CARGO_UNIT:onenterUnBoarding( ToPointVec2, Event, From, To )
|
-- @param Core.Point#POINT_VEC2 ToPointVec2
|
||||||
|
function CARGO_UNIT:onenterUnBoarding( Event, From, To, ToPointVec2 )
|
||||||
self:F()
|
self:F()
|
||||||
|
|
||||||
local Angle = 180
|
local Angle = 180
|
||||||
@ -416,11 +409,11 @@ end
|
|||||||
|
|
||||||
--- Leave UnBoarding State.
|
--- Leave UnBoarding State.
|
||||||
-- @param #CARGO_UNIT self
|
-- @param #CARGO_UNIT self
|
||||||
-- @param Core.Point#POINT_VEC2 ToPointVec2
|
|
||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
function CARGO_UNIT:onleaveUnBoarding( ToPointVec2, Event, From, To )
|
-- @param Core.Point#POINT_VEC2 ToPointVec2
|
||||||
|
function CARGO_UNIT:onleaveUnBoarding( Event, From, To, ToPointVec2 )
|
||||||
self:F( { ToPointVec2, Event, From, To } )
|
self:F( { ToPointVec2, Event, From, To } )
|
||||||
|
|
||||||
local Angle = 180
|
local Angle = 180
|
||||||
@ -440,11 +433,11 @@ end
|
|||||||
|
|
||||||
--- UnBoard Event.
|
--- UnBoard Event.
|
||||||
-- @param #CARGO_UNIT self
|
-- @param #CARGO_UNIT self
|
||||||
-- @param Core.Point#POINT_VEC2 ToPointVec2
|
|
||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
function CARGO_UNIT:onafterUnBoarding( ToPointVec2, Event, From, To )
|
-- @param Core.Point#POINT_VEC2 ToPointVec2
|
||||||
|
function CARGO_UNIT:onafterUnBoarding( Event, From, To, ToPointVec2 )
|
||||||
self:F( { ToPointVec2, Event, From, To } )
|
self:F( { ToPointVec2, Event, From, To } )
|
||||||
|
|
||||||
self.CargoInAir = self.CargoObject:InAir()
|
self.CargoInAir = self.CargoObject:InAir()
|
||||||
@ -465,11 +458,11 @@ end
|
|||||||
|
|
||||||
--- Enter UnLoaded State.
|
--- Enter UnLoaded State.
|
||||||
-- @param #CARGO_UNIT self
|
-- @param #CARGO_UNIT self
|
||||||
-- @param Core.Point#POINT_VEC2
|
|
||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
function CARGO_UNIT:onenterUnLoaded( ToPointVec2, Event, From, To )
|
-- @param Core.Point#POINT_VEC2
|
||||||
|
function CARGO_UNIT:onenterUnLoaded( Event, From, To, ToPointVec2 )
|
||||||
self:F( { ToPointVec2, Event, From, To } )
|
self:F( { ToPointVec2, Event, From, To } )
|
||||||
|
|
||||||
local Angle = 180
|
local Angle = 180
|
||||||
@ -503,11 +496,11 @@ end
|
|||||||
|
|
||||||
--- Enter Boarding State.
|
--- Enter Boarding State.
|
||||||
-- @param #CARGO_UNIT self
|
-- @param #CARGO_UNIT self
|
||||||
-- @param Wrapper.Unit#UNIT CargoCarrier
|
|
||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
function CARGO_UNIT:onenterBoarding( CargoCarrier, Event, From, To )
|
-- @param Wrapper.Unit#UNIT CargoCarrier
|
||||||
|
function CARGO_UNIT:onenterBoarding( Event, From, To, CargoCarrier )
|
||||||
self:F( { CargoCarrier.UnitName, Event, From, To } )
|
self:F( { CargoCarrier.UnitName, Event, From, To } )
|
||||||
|
|
||||||
local Speed = 10
|
local Speed = 10
|
||||||
@ -535,11 +528,11 @@ end
|
|||||||
|
|
||||||
--- Leave Boarding State.
|
--- Leave Boarding State.
|
||||||
-- @param #CARGO_UNIT self
|
-- @param #CARGO_UNIT self
|
||||||
-- @param Wrapper.Unit#UNIT CargoCarrier
|
|
||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
function CARGO_UNIT:onleaveBoarding( CargoCarrier, Event, From, To )
|
-- @param Wrapper.Unit#UNIT CargoCarrier
|
||||||
|
function CARGO_UNIT:onleaveBoarding( Event, From, To, CargoCarrier )
|
||||||
self:F( { CargoCarrier.UnitName, Event, From, To } )
|
self:F( { CargoCarrier.UnitName, Event, From, To } )
|
||||||
|
|
||||||
if self:IsNear( CargoCarrier:GetPointVec2() ) then
|
if self:IsNear( CargoCarrier:GetPointVec2() ) then
|
||||||
@ -553,11 +546,11 @@ end
|
|||||||
|
|
||||||
--- Loaded State.
|
--- Loaded State.
|
||||||
-- @param #CARGO_UNIT self
|
-- @param #CARGO_UNIT self
|
||||||
-- @param Wrapper.Unit#UNIT CargoCarrier
|
|
||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
function CARGO_UNIT:onenterLoaded( CargoCarrier, Event, From, To )
|
-- @param Wrapper.Unit#UNIT CargoCarrier
|
||||||
|
function CARGO_UNIT:onenterLoaded( Event, From, To, CargoCarrier )
|
||||||
self:F()
|
self:F()
|
||||||
|
|
||||||
self.CargoCarrier = CargoCarrier
|
self.CargoCarrier = CargoCarrier
|
||||||
@ -575,7 +568,7 @@ end
|
|||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
function CARGO_UNIT:onafterBoard( CargoCarrier, Event, From, To)
|
function CARGO_UNIT:onafterBoard( Event, From, To, CargoCarrier )
|
||||||
self:F()
|
self:F()
|
||||||
|
|
||||||
self.CargoInAir = self.CargoObject:InAir()
|
self.CargoInAir = self.CargoObject:InAir()
|
||||||
@ -621,7 +614,6 @@ end
|
|||||||
|
|
||||||
--- Board Event.
|
--- Board Event.
|
||||||
-- @param #CARGO_PACKAGE self
|
-- @param #CARGO_PACKAGE self
|
||||||
-- @param Fsm.Fsm#FSM_PROCESS FsmP
|
|
||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
@ -629,7 +621,7 @@ end
|
|||||||
-- @param #number Speed
|
-- @param #number Speed
|
||||||
-- @param #number BoardDistance
|
-- @param #number BoardDistance
|
||||||
-- @param #number Angle
|
-- @param #number Angle
|
||||||
function CARGO_PACKAGE:onafterOnBoard( FsmP, Event, From, To, CargoCarrier, Speed, BoardDistance, LoadDistance, Angle )
|
function CARGO_PACKAGE:onafterOnBoard( Event, From, To, CargoCarrier, Speed, BoardDistance, LoadDistance, Angle )
|
||||||
self:F()
|
self:F()
|
||||||
|
|
||||||
self.CargoInAir = self.CargoCarrier:InAir()
|
self.CargoInAir = self.CargoCarrier:InAir()
|
||||||
@ -679,24 +671,22 @@ end
|
|||||||
|
|
||||||
--- Boarded Event.
|
--- Boarded Event.
|
||||||
-- @param #CARGO_PACKAGE self
|
-- @param #CARGO_PACKAGE self
|
||||||
-- @param Fsm.Fsm#FSM_PROCESS FsmP
|
|
||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
-- @param Wrapper.Unit#UNIT CargoCarrier
|
-- @param Wrapper.Unit#UNIT CargoCarrier
|
||||||
function CARGO_PACKAGE:onafterOnBoarded( FsmP, Event, From, To, CargoCarrier, Speed, BoardDistance, LoadDistance, Angle )
|
function CARGO_PACKAGE:onafterOnBoarded( Event, From, To, CargoCarrier, Speed, BoardDistance, LoadDistance, Angle )
|
||||||
self:F()
|
self:F()
|
||||||
|
|
||||||
if self:IsNear( CargoCarrier ) then
|
if self:IsNear( CargoCarrier ) then
|
||||||
self:_NextEvent( FsmP.Load, CargoCarrier, Speed, LoadDistance, Angle )
|
self:__Load( 1, CargoCarrier, Speed, LoadDistance, Angle )
|
||||||
else
|
else
|
||||||
self:_NextEvent( FsmP.Boarded, CargoCarrier, Speed, BoardDistance, LoadDistance, Angle )
|
self:__Boarded( 1, CargoCarrier, Speed, BoardDistance, LoadDistance, Angle )
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--- UnBoard Event.
|
--- UnBoard Event.
|
||||||
-- @param #CARGO_PACKAGE self
|
-- @param #CARGO_PACKAGE self
|
||||||
-- @param Fsm.Fsm#FSM_PROCESS FsmP
|
|
||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
@ -705,7 +695,7 @@ end
|
|||||||
-- @param #number UnBoardDistance
|
-- @param #number UnBoardDistance
|
||||||
-- @param #number Radius
|
-- @param #number Radius
|
||||||
-- @param #number Angle
|
-- @param #number Angle
|
||||||
function CARGO_PACKAGE:onafterUnBoard( FsmP, Event, From, To, CargoCarrier, Speed, UnLoadDistance, UnBoardDistance, Radius, Angle )
|
function CARGO_PACKAGE:onafterUnBoard( Event, From, To, CargoCarrier, Speed, UnLoadDistance, UnBoardDistance, Radius, Angle )
|
||||||
self:F()
|
self:F()
|
||||||
|
|
||||||
self.CargoInAir = self.CargoCarrier:InAir()
|
self.CargoInAir = self.CargoCarrier:InAir()
|
||||||
@ -733,30 +723,28 @@ function CARGO_PACKAGE:onafterUnBoard( FsmP, Event, From, To, CargoCarrier, Spee
|
|||||||
CargoCarrier:SetTask( TaskRoute, 1 )
|
CargoCarrier:SetTask( TaskRoute, 1 )
|
||||||
end
|
end
|
||||||
|
|
||||||
self:_NextEvent( FsmP.UnBoarded, CargoCarrier, Speed )
|
self:__UnBoarded( 1 , CargoCarrier, Speed )
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
--- UnBoarded Event.
|
--- UnBoarded Event.
|
||||||
-- @param #CARGO_PACKAGE self
|
-- @param #CARGO_PACKAGE self
|
||||||
-- @param Fsm.Fsm#FSM_PROCESS FsmP
|
|
||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
-- @param Wrapper.Unit#UNIT CargoCarrier
|
-- @param Wrapper.Unit#UNIT CargoCarrier
|
||||||
function CARGO_PACKAGE:onafterUnBoarded( FsmP, Event, From, To, CargoCarrier, Speed )
|
function CARGO_PACKAGE:onafterUnBoarded( Event, From, To, CargoCarrier, Speed )
|
||||||
self:F()
|
self:F()
|
||||||
|
|
||||||
if self:IsNear( CargoCarrier ) then
|
if self:IsNear( CargoCarrier ) then
|
||||||
self:_NextEvent( FsmP.UnLoad, CargoCarrier, Speed )
|
self:__UnLoad( 1, CargoCarrier, Speed )
|
||||||
else
|
else
|
||||||
self:_NextEvent( FsmP.UnBoarded, CargoCarrier, Speed )
|
self:__UnBoarded( 1, CargoCarrier, Speed )
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Load Event.
|
--- Load Event.
|
||||||
-- @param #CARGO_PACKAGE self
|
-- @param #CARGO_PACKAGE self
|
||||||
-- @param Fsm.Fsm#FSM_PROCESS FsmP
|
|
||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
@ -764,7 +752,7 @@ end
|
|||||||
-- @param #number Speed
|
-- @param #number Speed
|
||||||
-- @param #number LoadDistance
|
-- @param #number LoadDistance
|
||||||
-- @param #number Angle
|
-- @param #number Angle
|
||||||
function CARGO_PACKAGE:onafterLoad( FsmP, Event, From, To, CargoCarrier, Speed, LoadDistance, Angle )
|
function CARGO_PACKAGE:onafterLoad( Event, From, To, CargoCarrier, Speed, LoadDistance, Angle )
|
||||||
self:F()
|
self:F()
|
||||||
|
|
||||||
self.CargoCarrier = CargoCarrier
|
self.CargoCarrier = CargoCarrier
|
||||||
@ -785,13 +773,12 @@ end
|
|||||||
|
|
||||||
--- UnLoad Event.
|
--- UnLoad Event.
|
||||||
-- @param #CARGO_PACKAGE self
|
-- @param #CARGO_PACKAGE self
|
||||||
-- @param Fsm.Fsm#FSM_PROCESS FsmP
|
|
||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
-- @param #number Distance
|
-- @param #number Distance
|
||||||
-- @param #number Angle
|
-- @param #number Angle
|
||||||
function CARGO_PACKAGE:onafterUnLoad( FsmP, Event, From, To, CargoCarrier, Speed, Distance, Angle )
|
function CARGO_PACKAGE:onafterUnLoad( Event, From, To, CargoCarrier, Speed, Distance, Angle )
|
||||||
self:F()
|
self:F()
|
||||||
|
|
||||||
local StartPointVec2 = self.CargoCarrier:GetPointVec2()
|
local StartPointVec2 = self.CargoCarrier:GetPointVec2()
|
||||||
@ -874,7 +861,7 @@ end
|
|||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
function CARGO_GROUPED:onenterBoarding( CargoCarrier, Event, From, To )
|
function CARGO_GROUPED:onenterBoarding( Event, From, To, CargoCarrier )
|
||||||
self:F( { CargoCarrier.UnitName, Event, From, To } )
|
self:F( { CargoCarrier.UnitName, Event, From, To } )
|
||||||
|
|
||||||
if From == "UnLoaded" then
|
if From == "UnLoaded" then
|
||||||
@ -897,7 +884,7 @@ end
|
|||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
function CARGO_GROUPED:onenterLoaded( CargoCarrier, Event, From, To )
|
function CARGO_GROUPED:onenterLoaded( Event, From, To, CargoCarrier )
|
||||||
self:F( { CargoCarrier.UnitName, Event, From, To } )
|
self:F( { CargoCarrier.UnitName, Event, From, To } )
|
||||||
|
|
||||||
if From == "UnLoaded" then
|
if From == "UnLoaded" then
|
||||||
@ -914,7 +901,7 @@ end
|
|||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
function CARGO_GROUPED:onleaveBoarding( CargoCarrier, Event, From, To )
|
function CARGO_GROUPED:onleaveBoarding( Event, From, To, CargoCarrier )
|
||||||
self:F( { CargoCarrier.UnitName, Event, From, To } )
|
self:F( { CargoCarrier.UnitName, Event, From, To } )
|
||||||
|
|
||||||
local Boarded = true
|
local Boarded = true
|
||||||
@ -941,7 +928,7 @@ end
|
|||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
function CARGO_GROUPED:onenterUnBoarding( ToPointVec2, Event, From, To )
|
function CARGO_GROUPED:onenterUnBoarding( Event, From, To, ToPointVec2 )
|
||||||
self:F()
|
self:F()
|
||||||
|
|
||||||
local Timer = 1
|
local Timer = 1
|
||||||
@ -967,7 +954,7 @@ end
|
|||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
function CARGO_GROUPED:onleaveUnBoarding( ToPointVec2, Event, From, To )
|
function CARGO_GROUPED:onleaveUnBoarding( Event, From, To, ToPointVec2 )
|
||||||
self:F( { ToPointVec2, Event, From, To } )
|
self:F( { ToPointVec2, Event, From, To } )
|
||||||
|
|
||||||
local Angle = 180
|
local Angle = 180
|
||||||
@ -1002,7 +989,7 @@ end
|
|||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
function CARGO_GROUPED:onafterUnBoarding( ToPointVec2, Event, From, To )
|
function CARGO_GROUPED:onafterUnBoarding( Event, From, To, ToPointVec2 )
|
||||||
self:F( { ToPointVec2, Event, From, To } )
|
self:F( { ToPointVec2, Event, From, To } )
|
||||||
|
|
||||||
self:__UnLoad( 1, ToPointVec2 )
|
self:__UnLoad( 1, ToPointVec2 )
|
||||||
@ -1016,7 +1003,7 @@ end
|
|||||||
-- @param #string Event
|
-- @param #string Event
|
||||||
-- @param #string From
|
-- @param #string From
|
||||||
-- @param #string To
|
-- @param #string To
|
||||||
function CARGO_GROUPED:onenterUnLoaded( ToPointVec2, Event, From, To )
|
function CARGO_GROUPED:onenterUnLoaded( Event, From, To, ToPointVec2 )
|
||||||
self:F( { ToPointVec2, Event, From, To } )
|
self:F( { ToPointVec2, Event, From, To } )
|
||||||
|
|
||||||
if From == "Loaded" then
|
if From == "Loaded" then
|
||||||
|
|||||||
@ -419,10 +419,12 @@ FSM_PROCESS = {
|
|||||||
-- @return #FSM_PROCESS
|
-- @return #FSM_PROCESS
|
||||||
function FSM_PROCESS:New( FsmT, Controllable, Task )
|
function FSM_PROCESS:New( FsmT, Controllable, Task )
|
||||||
|
|
||||||
|
FsmT = FsmT or FSM_TEMPLATE:New( "" )
|
||||||
|
|
||||||
local self = BASE:Inherit( self, FSM_CONTROLLABLE:New( FsmT ) ) -- Fsm.Fsm#FSM_PROCESS
|
local self = BASE:Inherit( self, FSM_CONTROLLABLE:New( FsmT ) ) -- Fsm.Fsm#FSM_PROCESS
|
||||||
|
|
||||||
self:Assign( Controllable, Task )
|
self:Assign( Controllable, Task )
|
||||||
self.ClassName = FsmT._Name
|
|
||||||
|
|
||||||
for ParameterID, Parameter in pairs( FsmT:GetParameters() ) do
|
for ParameterID, Parameter in pairs( FsmT:GetParameters() ) do
|
||||||
self[ ParameterID ] = Parameter
|
self[ ParameterID ] = Parameter
|
||||||
|
|||||||
@ -1,3 +1,18 @@
|
|||||||
|
2016-12-06
|
||||||
|
|
||||||
|
- Renamed the documentation references following the structure of the files.
|
||||||
|
-- All STATEMACHINE references became FSM
|
||||||
|
-- FSM_TEMPLATE references are also abbreviated by FSMT
|
||||||
|
-- Removed Process#PROCESS references.
|
||||||
|
-- All cross file documentation references updated. That was a lot of work!
|
||||||
|
|
||||||
|
- Tasking is working now. But needs further cleanup.
|
||||||
|
- Templates are assigned to Tasks. When a task is assigned to a player, the FSMT
|
||||||
|
- Removed 2nd level in tasking. Now there is only one level.
|
||||||
|
- Tasking works now with FSM.
|
||||||
|
- Made FSMT process templates that can be used in Tasks.
|
||||||
|
- Scoring can now also be added to the templates.
|
||||||
|
|
||||||
2016-09-01
|
2016-09-01
|
||||||
|
|
||||||
- Expanded the CARGO classes and implemented the CARGO_GROUPED classes.
|
- Expanded the CARGO classes and implemented the CARGO_GROUPED classes.
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user