UML Diagram - UQdeco2800/2022-studio-2 GitHub Wiki

Sprint 2

The following UML diagram was planned before the code implementation of newly added classes for this sprint. This diagram has been added to the sprint one class diagram. Here are the list of newly added classes:

  1. WeaponPickUpComponent
  2. PlayerTouchAttackComponent
  3. PlayerCombatAnimationController

image

Sprint 3

From the implementation of projectile weapons alongside buff implementations, the existing UML diagram has been altered to reflect these changes. Here are the overview of classes that have either had a big change or classes that have been newly added:

  1. WeaponAuraManager
  2. BuffDisplayComponent
  3. AuraPickUpComponent
  4. PhysicalWeaponStatsComponents (Used to be MeleeStatsComponents)

sprint3

Brief description of how classes interact with each other:

  1. All classes eventually extend to components
  2. AuraFactory class passes inputs for the stats of the auras into WeaponAuraComponent
    • This allows the game to know that such an aura exists
  3. Similarly, WeaponFactory class passes inputs for weapon stats for the PhysicalWeaponStatsComponents to set and get the weights of each weapon
    • This class also inherits more generic methods made within the WeaponStatsComponent class
  4. AreaOfEffectStatsComponent inherits items from WeaponStatsComponent in the same way that PhysicalWeaponStatsComponent does
    • Currently not being used as this class has been set up for future expansion of the game when AOE weapons can be utilised
  5. TouchAttackComponent extends to PlayerTouchAttackComponent which is the class used when the player is in range of an enemy and subsequently attack an enemy and decrease their health
  6. ItemPickUpComponents extends to AuraPickUpComponents a class that checks to see if the player has walked over an aura
  7. WeaponAuraManager interacts with PlayerTouchAttackComponent, PhysicalWeaponStatsComponent, WeaponStatsComponent, AuraPickupComponents and BuffDisplayComponents class to check which aura has been picked up by the player, what weapon they have in hand, to apply the correct stats for each corresponding buff and weapon as well as determine the corresponding aura animation that needs to be played
  8. PlayerCombatAnimatorController inherits from Components and is a class used to define each individual animation for the weapons within the game
  9. BuffDisplayComponents is a class that inherits from components but is used to display the status of the corresponding buff the player has picked up on the top of the screen • This also disappears after 10 seconds