--
-- Copyright (c) 2012 Kevin Wellwood
-- All rights reserved.
--
-- This source code is distributed under the Modified BSD License. For terms and
-- conditions, see license.txt.
--
with Values; use Values;
package Game_States is
-- Presents a view of the current game session's state. The Game class
-- implements this so that game components can access the session's state
-- without having a full reference to the Game class.
type Game_State is limited interface;
type A_Game_State is access all Game_State'Class;
-- Returns the value of session var 'name', or Null_Value if not defined.
function Get_Var( this : access Game_State;
name : String ) return Value_Ptr is abstract;
-- Sets session var 'name' to 'value'. A Game_Var_Changed event will be
-- queued.
procedure Set_Var( this : access Game_State;
name : String;
value : Value_Ptr'Class ) is abstract;
end Game_States;