1. -- 
  2. -- Copyright (c) 2012 Kevin Wellwood 
  3. -- All rights reserved. 
  4. -- 
  5. -- This source code is distributed under the Modified BSD License. For terms and 
  6. -- conditions, see license.txt. 
  7. -- 
  8.  
  9. with Values;                            use Values; 
  10.  
  11. package Game_States is 
  12.  
  13.     -- Presents a view of the current game session's state. The Game class 
  14.     -- implements this so that game components can access the session's state 
  15.     -- without having a full reference to the Game class. 
  16.     type Game_State is limited interface; 
  17.     type A_Game_State is access all Game_State'Class; 
  18.  
  19.     -- Returns the value of game session var 'var' as an integer. An exception 
  20.     -- will be raised on error. 
  21.     function Get_Game_Var( this : access Game_State; 
  22.                            var  : String ) return Integer is abstract; 
  23.  
  24.     -- Returns the value of game session var 'var', or null if not found. The 
  25.     -- caller is responsible for deleting the returned value. 
  26.     function Get_Game_Var( this : access Game_State; 
  27.                            var  : String ) return A_Value is abstract; 
  28.  
  29. end Game_States;