Calendar Scheduling Design - UO-DFM/SimCityOttawa-Documentation GitHub Wiki
Description
A calendar functionality is required to track events for the player. Specifically, work related events need to be able to be stored in this calendar to figure out conflicts that may arise with workplace scheduling. The calendar functionality also allows for generation of Tasks by creating conflicts and storing of Tasks as events.
Design
- There will be a calendar class to hold all events
- There will be individual classes for scheduling of work into the calendar
- There will be a class for handling of conflicts
Requirements
- The calendar must not contain any conflicts
- The player will be allowed to change their work schedule every in game 3 months
- Score will be calculated passively on an in-game weekly basis based on the events stored in the calendar for that week
Conflict Resolution
By choosing to schedule multiple work events (Clinic, ER, Obstetrics, Hospitalist), conflicts in the players calendar may arise. After setup for each work event, the player will be instructed to resolve any conflicts that come up. Depending on the players choice, different actions will be presented for different types of work events.
Clinic actions:
- Cancel
Obstetrics, ER, Hospitalist actions:
- Post shift
- Pay penalty?
More actions for each work event can be added in future versions of the game.
Conflict Resolution Requirements
- The game will detect conflicts after each work event is setup by the player
- The game shall allow players to resolve conflicts by choosing an action on an event and keeping the other