# Copyright (C) 2024 Michael Becker  <alcexhim@gmail.com>
# 
# This file is part of Mocha.NET.
# 
# Mocha.NET is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# 
# Mocha.NET is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with Mocha.NET.  If not, see <https://www.gnu.org/licenses/>.

---
- entityDefinitions:
  - IDM_Common_Numeric__get__Random_Number: '{84b8b8eb-a2a5-4f87-9e7e-237658fa1c1f}'
  - IDMB_Common_Numeric__get__Random_Number: '{58017a30-6075-4c3f-9071-73ad385a1159}'
  - IDI_SystemAttributeRoutine_GetRandomNumber: '{8f7945da-4cad-49cb-9838-85f3524a5adb}' # {4f842244-e326-4a51-87c1-55cf041e355b}
  - IDA_Seed: '{ee6f8b91-e471-4281-8bbe-ad858388bcc2}'
  
- library: '&IDL_MochaBaseSystem;'
  instances:
  - getAttributeBySystemRoutineMethod: '&IDM_Common_Numeric__get__Random_Number;'
    forClassId: '&IDC_CommonNumeric;'
    verb: 'get'
    name: 'Random Number'
    accessModifierId: '&IDI_AccessModifier_Public;'
    static: yes
    returnsAttributeId: '&IDA_Value;'
    systemAttributeRoutineId: '&IDI_SystemAttributeRoutine_GetRandomNumber;'
    moduleId: '&IDI_Module_MochaBaseSystem;'
    
  - returnAttributeMethodBinding: '&IDMB_Common_Numeric__get__Random_Number;'
    executesMethod: '&IDM_Common_Numeric__get__Random_Number;'

  - systemAttributeRoutine: '&IDI_SystemAttributeRoutine_GetRandomNumber;'
    name: 'Get Random Number'

  - numericAttribute: '&IDA_Seed;'
    name: 'Seed'