IT201_450_Sprint3 Anass Quaye
Feature 1: UI_Draw
Title:
UI_Draw: Interactive Drawing and Shape Creation
Description:
Allows users to create shapes with customized colors and materials and manage created objects within a Unity scene.
Input:
- User interaction via mouse clicks
- Dropdown selections for color, shape, and material
- Slider adjustments for RGB values
- Button clicks for applying materials and clearing the scene
Process:
- Start:
- Initialize chosen color and add listeners to buttons.
- Update:
- Update color preview and chosen color.
- Check if mouse pointer is over a UI element.
- Handle left mouse button click to create a single shape.
- Handle right mouse button click to create multiple shapes.
- CreateShape:
- Create a shape at the specified position with selected color and material.
- Store the created shape.
- CreateMultipleShapes:
- Create a grid of shapes at the specified position.
- Store each created shape.
- ColorDropdown_IndexChanged:
- Update the chosen color based on the selected index.
- ShapeDropdown_IndexChanged:
- Update the shape index based on the selected index.
- MaterialDropdown_IndexChanged:
- Update the material index based on the selected index.
- SliderChanged_Red/Green/Blue:
- Update the RGB values based on slider adjustments.
- ButtonApply:
- Apply the selected color to the created object.
- ClearScene:
- Destroy all created objects and clear the lists.
- UpdateMousePositionText:
- Display the current mouse position in world coordinates.
- ApplyMaterial:
- Apply the selected material and color to the last created object.
Output:
- Shapes created at specified positions with selected colors and materials.
- Updated color preview and mouse position text.
- Cleared scene of created objects.
Feature 2: Shape Randomizer
Title:
Shape Randomizer: Apply Random Rotations
Description:
Allows users to apply random rotations to created shapes.
Input:
- Toggle switch for random rotation
Process:
- Start:
- Add listener to the random rotation toggle.
- Update:
- Apply random rotation if the toggle is on.
- ToggleRandomRotation:
- Apply random rotation to created shapes if the toggle is on.
- ApplyRandomRotation:
- Apply random rotation to all created objects.
Output:
- Applied random rotations to created shapes.
Feature 3: Shape Reset Rotations
Title:
Shape Reset Rotations: Reset Object Rotations
Description:
Allows users to reset the rotations of created shapes to their original rotations.
Input:
- Toggle switch for reset rotation
Process:
- Start:
- Add listener to the reset rotation toggle.
- Update:
- Reset rotation if the toggle is on.
- ToggleResetRotation:
- Reset rotation of created shapes if the toggle is on.
- ResetRotation:
- Reset rotation of all created objects to their original state.
Output:
- Reset rotations of created shapes to their original states.
Feature 4: TimeZoneDropdownHandler
Title:
TimeZoneDropdownHandler: Time Zone Selection
Description:
Provides a dropdown menu for users to select a time zone, affecting the displayed time on the clock.
Input:
- Dropdown selection for time zones
Process:
- Start:
- Populate the dropdown with available time zones.
- Add a listener to handle dropdown value changes.
- PopulateDropdown:
- Add time zone display names to the dropdown options.
- OnDropdownValueChanged:
- Update the selected time zone based on the dropdown index.
Output:
- Updated selected time zone for the clock display.
Feature 5: Clock
Title:
Clock: Real-time Clock Display
Description:
Displays the current time based on the selected time zone, updating every second.
Input:
- Time zone information from TimeZoneDropdownHandler
Process:
- Awake:
- Initialize the clock text component and set the default time zone.
- Update:
- Retrieve the current UTC time.
- Convert the UTC time to the selected time zone.
- Format the time with leading zeros and update the text display.
- LeadingZero:
- Ensure the time components (hour, minute, second) are displayed with leading zeros if necessary.
Output:
- Real-time updated clock display with the current time in the selected time zone.
Feature 6: AnimationDropdownHandler
Title: AnimationDropdownHandler: Select and Apply Animations
Description: Allows users to select and apply animations to the created shapes, including scaling and rotating.
Input:
- Dropdown selection for animations
Process:
- Start:
- Populate the dropdown with available animations.
- Add a listener to handle dropdown value changes.
- PopulateDropdown:
- Add animation names to the dropdown options.
- OnDropdownValueChanged:
- Update the selected animation based on the dropdown index.
- ApplyAnimation:
- Apply the selected animation to the created objects.
Output:
- Shapes on the screen grow and rotate based on the selected animation.
Feature 7: RotationDropdownHandler
Title: RotationDropdownHandler: Select and Apply Rotation Angles
Description: Allows users to select and apply specific rotation angles to the created shapes using a dropdown menu.
Input:
- Dropdown selection for rotation angles
Process:
- Start:
- Populate the dropdown with available rotation angles.
- Add a listener to handle dropdown value changes.
- PopulateDropdown:
- Add rotation angle options to the dropdown.
- OnDropdownValueChanged:
- Update the selected rotation angle based on the dropdown index.
- ApplyRotation:
- Apply the selected rotation angle to the created objects.
Output:
- Shapes on the screen rotate based on the selected rotation angle.
Feature 8: ScaleDropdownHandler
Title: ScaleDropdownHandler: Select and Apply Scaling
Description: Allows users to select and apply specific scaling values to the created shapes using a dropdown menu.
Input:
- Dropdown selection for scaling values
Process:
- Start:
- Populate the dropdown with available scaling values.
- Add a listener to handle dropdown value changes.
- PopulateDropdown:
- Add scaling value options to the dropdown.
- OnDropdownValueChanged:
- Update the selected scaling value based on the dropdown index.
- ApplyScaling:
- Apply the selected scaling value to the created objects.
Output:
- Shapes on the screen are scaled based on the selected scaling value.
Feature 9: PrefabDisplayHandler
Title: PrefabDisplayHandler: Display Prefab Scale and Rotation
Description: Allows users to visualize the current scale and rotation of prefabs within the scene, providing real-time updates as these properties change.
Input:
None (automatic updates based on prefab properties)
Process:
Start:
Initialize the display components for showing scale and rotation.
Add listeners to prefab property changes.
Update:
Retrieve the current scale and rotation of each prefab.
Update the display components with the latest scale and rotation values.
DisplayScale:
Show the current scale of the prefab.
DisplayRotation:
Show the current rotation of the prefab.
Output:
Real-time display of prefab scale and rotation values.
Leave a comment
Log in with itch.io to leave a comment.