Take, Serve & Cook different orders for different monsters!
Icons and Headers not made by me, only code + 3D models listed below.
Customer Test Scene
Customer Test Scene Debug View
What I Did (nerd stuff)
Customer AI & Spawning Management: The AI states and stuff. Controlling what they do when their state changes (gets food, places order, etc.) And a nice spawner that can be easily configured to choose who spawns and when.
Order & Order Queue system + integration with colleague's cooking/player script. : Each customer generates a Order when they arrive, this is based on their Customer prefab script settings that is easily configured by designers. This order gets added to the Queue once it is taken by the player. The player pickUp controller tells the Queue what food they are currently holding or delivering and that informs the Queue what to look for and what to mark the Order state as.
Customer Line Ordering. : A LineManager script that is assigned different LineSpots placed by designers with 0 being first in line. Keeps track of progressing the line.
Food Definition Scriptable Object. : This allowed designers to easily create new food types / definitions and set their data/variables so that coders could later easily implement and access them.
Debugging and Visuals for Customer Positioning
First time being responsible for code with others in a team and wanted to try and make my code designer friendly-ish and not impossible for a designer to easily create their own level configurations. While we only ended up using 1 level, some designers did use them to show their own alternative level designs before we decided on which one to use.
Customer script has debug information for State, Customer Type & Order Type. More could be added but these were the most useful.
Line spots, wait spots and the not used eat spots are all easily placed by designers and can be seen easily with the debug information they supply. They change to red if they are occupied, green if free.Ā
Different placeable Eating, Waiting & Line spots to control customer positioning.
There are also visual text labels for the Exit door and the customer Spawner / spawn pos.
Customer Spawner/Manager Script
Customer Spawner for level
Can set spawn position, if none set uses self.
Easily set monster to spawn + when to spawn
Can have more than one in a scene to have customers entering from more than 1 point.
Can either loop the spawn queue by ticking, or by default it will clear the queue as it goes.
Line Manager Script
Line Manager
Easily configure order of line
Easily set rate at which line updates
Customer Script Inspector View
Customer Script
Set possible food Types
Set customer/monster type
Set time to eat
Set audio files, unique for each monster type.
Set time to before customer makes annoyed comment
My Order is automatically filled in on start by Customer, viewable in inspector for easy debugging.
Food Definition Scriptable Object
Food Definitions (Scriptable Objects)
Create new food definitions with ease
Easily name food, set time to make, set needed ingredients + required processing station for ingredient.
Set retrieval station for where you would get the Ingredient.
Star Manager
Star Manager
Manages progressing through the 5 stars as you complete orders. Also deducts points if customers are waiting too long.
Easily set the total stars, how many points per star, the images that they have, etc.
3D
While I was mainly programming I did have tiny time at end.