LUADOC - Farming Simulator 22

Script v1_7_1_0

Engine v1_7_1_0

Foundation Reference

AIMessageManager

Description
This class handles all npcs
Functions

createMessage

Description
Definition
createMessage()
Code
113function AIMessageManager:createMessage(messageIndex)
114 if messageIndex == nil then
115 return nil
116 end
117
118 local aiMessage = self.messages[messageIndex]
119 if aiMessage == nil then
120 return nil
121 end
122
123 local instance = aiMessage.classObject.new()
124
125 return instance
126end

delete

Description
Definition
delete()
Code
62function AIMessageManager:delete()
63 self.messages = {}
64 self.nameToIndex = {}
65 self.classObjectToIndex = {}
66end

getMessageIndex

Description
Definition
getMessageIndex()
Code
101function AIMessageManager:getMessageIndex(messageObject)
102 local classObject = ClassUtil.getClassObjectByObject(messageObject)
103
104 if classObject == nil then
105 return nil
106 end
107
108 return self.classObjectToIndex[classObject]
109end

loadMapData

Description
Load data on map load
Definition
loadMapData()
Return Values
booleantrueif loading was successful else false
Code
30function AIMessageManager:loadMapData(xmlFile, missionInfo, baseDirectory)
31 self.messages = {}
32 self.nameToIndex = {}
33 self.classObjectToIndex = {}
34
35 self:registerMessage("ERROR_BLOCKED_BY_OBJECT", AIMessageErrorBlockedByObject)
36 self:registerMessage("ERROR_COULD_NOT_PREPARE", AIMessageErrorCouldNotPrepare)
37 self:registerMessage("ERROR_FIELD_NOT_OWNED", AIMessageErrorFieldNotOwned)
38 self:registerMessage("ERROR_GRAINTANK_IS_FULL", AIMessageErrorGraintankIsFull)
39 self:registerMessage("ERROR_IMPLEMENT_WRONG_WAY", AIMessageErrorImplementWrongWay)
40 self:registerMessage("ERROR_LOADING_STATION_DELETED", AIMessageErrorLoadingStationDeleted)
41 self:registerMessage("ERROR_UNLOADING_STATION_DELETED", AIMessageErrorUnloadingStationDeleted)
42 self:registerMessage("ERROR_NO_FIELD_FOUND", AIMessageErrorNoFieldFound)
43 self:registerMessage("ERROR_NO_VALID_FILLTYPE_LOADED", AIMessageErrorNoValidFillTypeLoaded)
44 self:registerMessage("ERROR_NOT_REACHABLE", AIMessageErrorNotReachable)
45 self:registerMessage("ERROR_OUT_OF_FILL", AIMessageErrorOutOfFill)
46 self:registerMessage("ERROR_OUT_OF_FUEL", AIMessageErrorOutOfFuel)
47 self:registerMessage("ERROR_OUT_OF_MONEY", AIMessageErrorOutOfMoney)
48 self:registerMessage("ERROR_THRESHING_NOT_ALLOWED", AIMessageErrorThreshingNotAllowed)
49 self:registerMessage("ERROR_UNKNOWN", AIMessageErrorUnknown)
50 self:registerMessage("ERROR_UNLOADINGSTATION_FULL", AIMessageErrorUnloadingStationFull)
51 self:registerMessage("ERROR_VEHICLE_BROKEN", AIMessageErrorVehicleBroken)
52 self:registerMessage("ERROR_VEHICLE_DELETED", AIMessageErrorVehicleDeleted)
53 self:registerMessage("ERROR_WRONG_SEASON", AIMessageErrorWrongSeason)
54
55 self:registerMessage("SUCCESS_FINISHED_JOB", AIMessageSuccessFinishedJob)
56 self:registerMessage("SUCCESS_SILO_EMPTY", AIMessageSuccessSiloEmpty)
57 self:registerMessage("SUCCESS_STOPPED_BY_USER", AIMessageSuccessStoppedByUser)
58end

new

Description
Creating manager
Definition
new()
Return Values
tableinstanceinstance of object
Code
22function AIMessageManager.new(customMt)
23 local self = setmetatable({}, customMt or AIMessageManager_mt)
24 return self
25end

registerMessage

Description
Definition
registerMessage()
Code
70function AIMessageManager:registerMessage(name, classObject)
71 if not ClassUtil.getIsValidIndexName(name) then
72 Logging.warning("'%s' is not a valid name for a ai message!", tostring(name))
73 return nil
74 end
75
76 name = name:upper()
77
78 if self.nameToIndex[name] ~= nil then
79 Logging.warning("AI message '%s' already exists!", tostring(name))
80 return nil
81 end
82
83 if classObject == nil then
84 Logging.warning("AI message '%s' class not defined!", tostring(name))
85 return nil
86 end
87
88 local aiMessage = {}
89 aiMessage.name = name
90 aiMessage.classObject = classObject
91
92 table.insert(self.messages, aiMessage)
93 self.nameToIndex[name] = #self.messages
94 self.classObjectToIndex[classObject] = #self.messages
95
96 return aiMessage
97end