---
# System prepended metadata

title: May's Udate

---

# 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 

