-
Notifications
You must be signed in to change notification settings - Fork 1
Player
Attack on Animals is a game that allows players to select from three distinct characters: a dog, an alligator, and a bird. Each character is equipped with unique attributes and abilities, offering a variety of gameplay experiences. Players can explore different environments, complete quests, and engage in battles using their chosen character. The game is designed to provide a rich and immersive experience through these diverse animal avatars.
The game camera is designed to follow the movement of the player character, ensuring that they are always in the center of the screen during gameplay. This helps the player focus on the character, promoting greater immersion in the game.
The GameArea
class represents a specific area in the game, such as a level or indoor area. It manages the terrain, entities, and provides methods for spawning and managing game objects.
The game features a comprehensive quest system managed by the QuestManager
class. This system handles quest progression, completion, and integration with the game's event system.
classDiagram
class GameArea {
-TerrainComponent terrain
-List<Entity> areaEntities
+create()
+dispose()
+spawnEntity(Entity)
+spawnEntityAt(Entity, GridPoint2, boolean, boolean)
+getPlayer() Entity
+getEnemies() List<Entity>
+getBosses() List<Entity>
+getFriendlyNPCs() List<Entity>
+getMinigameNPCs() List<Entity>
+unloadAssets()
+pauseMusic()
+playMusic()
+unlockArea(String)
+spawnEntityAtVector(Entity, Vector2)
+spawnConvertedNPCs(Entity)
}
class QuestManager {
-LinkedHashMap<String, Quest> quests
-List<Achievement> achievements
-Entity player
+addQuest(Quest)
+loadQuests()
+getAllQuests() List<Quest>
+getQuest(String) Quest
+failQuest(String)
+progressQuest(String, String)
+getActiveQuests() List<Quest>
+completeAchievement(Achievement)
}
class AnimalSelectionScreen
class AnimalSelectionActions
class AnimalSelectionDisplay
GameArea --> "1..*" Entity: manages
QuestManager --> "1..*" Quest: manages
QuestManager --> "1..*" Achievement: manages
AnimalSelectionScreen --> AnimalSelectionActions: uses
AnimalSelectionScreen --> AnimalSelectionDisplay: uses
sequenceDiagram
participant Player
participant QuestManager
participant Quest
participant Task
participant GameEvents
Player->>GameEvents: Trigger event
GameEvents->>QuestManager: Notify event
QuestManager->>Quest: Check quest status
Quest->>Task: Update task progress
Task-->>Quest: Return task status
Quest-->>QuestManager: Return quest progress
QuestManager->>QuestManager: Update quest status
alt Quest Completed
QuestManager->>GameEvents: Trigger quest completion
GameEvents->>Player: Notify quest completed
else Quest Failed
QuestManager->>GameEvents: Trigger quest failure
GameEvents->>Player: Notify quest failed
end