You must use Scriptable Objects for the events
---
25% Non Coder:
Do the TAsset Type that we just did in class
50% Coder:
You must create a TStat class, very similar to TAsset but it has serializable
min and max values
that get automatically clamped if needed when modifying the Value property.
It also has 2 events instead of 1, one forValue Increasedand another forValue Decreased
It must also have an extra property where it tells you the normalized value (between 0 and 1)
---
30% Healthbar:
You must create a Player Character (a blue capsule is enough).The Player has a PlayerController with a
floatStat/floatAsset
Health inside it.
You must create a UI Healthbar (UI Slider is enough), that changes its value whenever the player health changes.
Remember to normalize this value if necessary
To keep things simple, create a Tester Script that when you press Alpha1 it Damages the player and when you press Alpha2 it heals the player.
This can be inside the PlayerController if you want.
Use Events in Scriptable Objects and Events,
NOT POLLING
If you use Polling the entire assignment will be 0
20% Particles and Sounds
When the player Gets Damaged or Healed, a particle spawns and a sound plays
Play different sounds and spawn different particles for healing and damaging
Simple sounds and Particles with different colors are enough for this.
Use Events in Scriptable Objects,
NOT POLLING
If you use Polling the section will be 0
CODERS
-10% if you don't follow Good Coding Practices:
Standardized and project wide naming conventions
Your Code is DRY not WET
Organized and Aligned (Formatted) code