Image


Rotateplayer laat de guard roteren als zijn raycast een object detecteert.
Wanneer de raycast geen object meer detecteert,
dan switched de guard van guardstate en word er een nieuw pad gekozen om te belopen.

In de FixedUpdate worden functies opgeroepen.
in de InFOV functie word gekeken of de isInFov boolean true is en
of de foundplayer boolean vanuit een ander script true is.
als ze true zijn, dan word het detectie angle en radius van de guard
om de speler te detecteren vergroot.
als ze false zijn dan niet.







Image


In de InFOV functie word gechecked of de player in zicht is.
Om dat te checken is er een graden hoek (angle) naar links en
rechts van de guard en het werkt als een field of view.
Als de player zich tussen de twee hoeken bevind, er geen object tussen
de guard en de player staat en als de speler zich in de bepaalde afstand
voor de guard bevindt, dan worden de 2 booleans op true gezet.







Image


In de Patroling functie word telkens een nieuw walkpoint gezet.
Als er een walkpoint is berekend, dan word de destination van de guard
het berekende walkpoint.
Als er nog geen walkpoint is dan word er een functie aangeroepen
om een walkpoint te berekenen.

De SearchWalkPoint functie word aangeroepen in de patrolling functie
als er nog geen walkpoint is gezet.
om een nieuw walkpoint te berekenen word er een willekeurige float op
X en Y as gekozen, daarna word in een if statement gekeken via een raycast
naar de waardes van de twee willekeurig gekozen floats,
de negatieve opwaardse vector van de guard, een float waarde
en er word gekeken naar de Layer (de vloer heeft een WhatIsGround layer).







Image


In de JumpEvent IEnumerator word eerst de jumpforce gezet.
Dan worden de waardes gezet voor de Move functie en hoe de sprong
op basis van deze berekening gebeurd.
daarna word de tijd in de lucht berekent op basis van de deltatijd.

Er word ook gechecked onderaan de functie of je tegen de onderkant van
een object aan springt.
deze check zorgt ervoor dat je camera niet clipt door een object.



Image


In de Add functie word eerst gekeken of er wel genoeg ruimte is
in je inventaris om het object op te slaan.
Als er ruimte is dan word het object in je inventaris opgeslagen.

De functie Remove word gebruikt voor het verwijderen van een items
uit je inventory, bijvoorbeeld bij het equipen van een item.