LUADOC - Farming Simulator 19

Script v1.7.1.0

Engine v1.7.1.0

Foundation Reference

PlayerStateAnimalRide

Parent
PlayerStateBase
Functions

activate

Description
Activate method.
Definition
activate()
Code
47function PlayerStateAnimalRide:activate()
48 PlayerStateAnimalRide:superClass().activate(self)
49 g_currentMission:fadeScreen(1, self.timeFadeToBlack, self.endFadeToBlack, self)
50 g_inputBinding:setContext(PlayerStateAnimalRide.INPUT_CONTEXT_EMPTY, true, false)
51end

animalRaycastCallback

Description
Raycast to check if animal husbandry has been detected
Definition
animalRaycastCallback(float dt)
Arguments
floatdtdelta time in ms
Code
65function PlayerStateAnimalRide:animalRaycastCallback(hitObjectId, x, y, z, distance)
66 local husbandryId, visualId = getAnimalFromCollisionNode(hitObjectId)
67
68 if husbandryId ~= 0 then
69 local husbandry = g_currentMission.husbandries[husbandryId]
70 if husbandry ~= nil and husbandry:getSupportsRiding(visualId) and husbandry:getCanBeRidden(visualId) and g_currentMission.accessHandler:canFarmAccess(self.player.farmId, husbandry) then
71 self.testedHusbandryInfo = {husbandryId=husbandryId, visualId=visualId}
72 return true
73 end
74 end
75 return false
76end

endFadeToBlack

Description
Definition
endFadeToBlack()
Code
55function PlayerStateAnimalRide:endFadeToBlack()
56 local husbandry = g_currentMission.husbandries[self.testedHusbandryInfo.husbandryId]
57 if husbandry ~= nil then
58 husbandry:addRideable(self.testedHusbandryInfo.visualId, self.player)
59 end
60end

getRideableName

Description
Definition
getRideableName()
Code
80function PlayerStateAnimalRide:getRideableName()
81 local rideableName = ""
82 if self.testedHusbandryInfo ~= nil then
83 local husbandry = g_currentMission.husbandries[self.testedHusbandryInfo.husbandryId]
84 if husbandry ~= nil then
85 rideableName = husbandry:getAnimalName(self.testedHusbandryInfo.visualId)
86 end
87 end
88 return rideableName
89end

isAvailable

Description
Check if we can ride animal.
Definition
isAvailable()
Return Values
boolreturnstrue if player can ride an animal
Code
33function PlayerStateAnimalRide:isAvailable()
34 local cameraX, cameraY, cameraZ = localToWorld(self.player.cameraNode, 0.0, 0.0, 0.0)
35 local dirX, dirY, dirZ = localDirectionToWorld(self.player.cameraNode, 0.0, 0.0, -1.0)
36 local collisionMask = 268435456 -- bit 28
37 self.testedHusbandryInfo = nil
38 raycastClosest(cameraX, cameraY, cameraZ, dirX, dirY, dirZ, "animalRaycastCallback", self.castDistance, self, collisionMask)
39 if self.testedHusbandryInfo ~= nil then
40 return true
41 end
42 return false
43end

new

Description
Creating instance of state.
Definition
new(table player, table stateMachine)
Arguments
tableplayerinstance of player
tablestateMachineinstance of the state machine manager
Return Values
tableinstanceinstance of object
Code
21function PlayerStateAnimalRide:new(player, stateMachine)
22 local self = PlayerStateBase:new(player, stateMachine, PlayerStateAnimalRide_mt)
23
24 self.testedHusbandryInfo = nil
25 self.castDistance = 1.5 -- in m
26 self.timeFadeToBlack = 250
27 return self
28end