# May's Udate
##### ActivateToggleAfterReading
----
**Uses**:
None
**Syntax**
**Imported Constants**:
None
**Imported Types** :
**Exported Constants**:
None
**Exported Types** :
None
**Exported Access Programs**:
| **Routine Name** | **In** | **Out** | **Exceptions** |
|--------------|----|-----|------------|
| start | | | |
| onPointerClick | `PointerEventData`| | |
**Semantics**
**State Variables**:
- Scrollbar: `Scrollbar`
- PleaseFullyReadFirstText: `Text`
**State Invariant**:
None
**Assumptions and Design Decisions**:
- The module is to set the state of the toggle so that it will be interactble after the some condition.
**Access Routine Semantics**:
- start()
- Transition: Check if the the text has been scrolled all the way to the bottom. If not, set the sate of the toggle as non-selectable.
- Output: None
- Exception:None
- onPointerClick(PointerEventData data)
- Transition: Show the message on the scene when the toggle is clicked but in the not interactable state.
- Output:None
- Exception:None
##### AgeValidator
----
**Uses**:
None
**Syntax**
**Imported Constants**:
None
**Imported Types** :
**Exported Constants**:
None
**Exported Types** :
None
**Exported Access Programs**:
| **Routine Name** | **In** | **Out** | **Exceptions** |
|--------------|----|-----|------------|
| validate | `string`, ℕ, `char` | `char` | |
**Semantics**
**State Variables**:
None
**State Invariant**:
None
**Assumptions and Design Decisions**:
- The module is to set the range of the digits allowed to be entered in the text input field.
**Access Routine Semantics**:
- validate(ref string text, ref int pos, char ch)
- Transition: check the first two digits and validate each should not be zero. Ignore the more digits other than the first two.
- Output: Return the character that would be allowed into the text.
- Exception:None
##### DisableGameButtons
----
**Uses**:
- Games
**Syntax**
**Imported Constants**:
None
**Imported Types** :
**Exported Constants**:
None
**Exported Types** :
None
**Exported Access Programs**:
| **Routine Name** | **In** | **Out** | **Exceptions** |
|--------------|----|-----|------------|
| disable\<Game\> | | | |
**Semantics**
**State Variables**:
None
**State Invariant**:
None
**Assumptions and Design Decisions**:
- This module is used to disable game icons when the games are already played.
**Access Routine Semantics**:
- disable\<Game\>()
- Transition: Set the state of the corresponding game button as non-selestable; insert the game name to the game order list.
- Output: None
- Exception:None
##### RadialScoreRing
----
**Uses**:
None
**Syntax**
**Imported Constants**:
None
**Imported Types** :
**Exported Constants**:
None
**Exported Types** :
None
**Exported Access Programs**:
| **Routine Name** | **In** | **Out** | **Exceptions** |
|--------------|----|-----|------------|
| start | | | |
| beginAnimation | | | |
**Semantics**
**State Variables**:
- BadColour: `Color`
- GoodColour: `Color`
- DurationInSeconds: ℝ+
**State Invariant**:
- BadColour = Color.red
- GoodColour = Color.green
- DurationInSeconds = 3.0
**Assumptions and Design Decisions**:
- This module is to show radial ring "progress bar" around a score.
**Access Routine Semantics**:
- start ()
- Transition: Check if the score is greater than 0. If so, set a color in the medium of `BadColor` and `GoodColour` as well as the length of the rings based on the score.
- Output: None
- Exception:None
- beginAnimation()
- Transition: Show the animation of displaying the ring. The duration of the animation is `DurationInSeconds`.
- Output: None
- Exception:None