RosettaStone::IPolicy Class Referenceabstract

IPolicy class. More...

#include <Rosetta/Policies/Policy.hpp>

Inheritance diagram for RosettaStone::IPolicy:
RosettaStone::BasicPolicy RosettaStone::IoPolicy

Public Member Functions

 IPolicy ()=default
 Default constructor. More...
 
virtual ~IPolicy ()=default
 Default virtual destructor. More...
 
virtual TaskMeta Next (const Game &game)=0
 
virtual TaskMeta Require (Player &player, TaskID id)=0
 
virtual void Notify (const TaskMeta &meta)=0
 

Detailed Description

IPolicy class.

This class is for abstracting game playing behavior.

Constructor & Destructor Documentation

◆ IPolicy()

RosettaStone::IPolicy::IPolicy ( )
default

Default constructor.

◆ ~IPolicy()

virtual RosettaStone::IPolicy::~IPolicy ( )
virtualdefault

Default virtual destructor.

Member Function Documentation

◆ Next()

virtual TaskMeta RosettaStone::IPolicy::Next ( const Game game)
pure virtual

Gets next behavior from given game.

Parameters
gameThe current game status.
Returns
The behavior serialized as TaskMeta.

Implemented in RosettaStone::BasicPolicy.

◆ Notify()

virtual void RosettaStone::IPolicy::Notify ( const TaskMeta meta)
pure virtual

Notify serialized data to IPolicy.

Parameters
metaThe serialized data.

Implemented in RosettaStone::BasicPolicy.

◆ Require()

virtual TaskMeta RosettaStone::IPolicy::Require ( Player player,
TaskID  id 
)
pure virtual

Gets proper requirement with given player and id.

Parameters
playerThe player who requests the requirement.
idThe requested TaskID.

Implemented in RosettaStone::BasicPolicy.


The documentation for this class was generated from the following file: