# Player Implementation for Hockey Game

## Overview
This project is a hockey game that includes player behavior and on-ice representation. The player implementation consists of various scripts that manage the player's actions, input, movement, statistics, and animations.

## Project Structure
- **Scripts/**: Contains all the scripts related to the game logic.
  - **MainGameScript.cs**: The main script for the game, handling the core game loop.
  - **Player/**: A folder dedicated to player-related scripts.
    - **PlayerController.cs**: Manages the player's overall behavior and interactions.
    - **PlayerMovement.cs**: Handles movement logic, including acceleration and direction changes.
    - **PlayerInput.cs**: Captures and processes player input from devices.
    - **PlayerStats.cs**: Holds player statistics like health and speed.
    - **PlayerAnimationController.cs**: Manages player animations based on state and actions.

- **Prefabs/**: Contains prefabs for game objects.
  - **Player/**: Prefab representing the player character.

- **Material/**: Contains materials and physics materials for game objects.
  - **Player/**: Materials specific to the player, including jersey and physics settings.

- **Scenes/**: Contains Unity scenes for the game.
  - **SampleScene.unity**: A sample environment for testing.

## Setup Instructions
1. Open the project in Unity.
2. Navigate to the **Scenes** folder and open **SampleScene.unity** to view the sample environment.
3. The player prefab can be found in the **Prefabs/Player** folder. Drag and drop it into the scene to add a player character.
4. Adjust the player settings in the Inspector as needed.

## Components Description
- **PlayerController**: Central script for managing player states and interactions.
- **PlayerMovement**: Controls how the player moves within the game environment.
- **PlayerInput**: Handles input from the player, translating it into actions.
- **PlayerStats**: Manages player attributes and provides methods for modification.
- **PlayerAnimationController**: Controls animations based on player actions and states.

## Notes
Ensure that all scripts are properly linked to the player prefab for full functionality. Adjust materials and physics settings as necessary to achieve the desired gameplay experience.