RosettaStone v0.4
Rosetta
Policies
Policy.hpp
Go to the documentation of this file.
1
// Copyright (c) 2019 Chris Ohk, Youngjoong Kim, SeungHyun Jeon
2
3
// We are making my contributions/submissions to this project solely in our
4
// personal capacity and are not conveying any rights to any intellectual
5
// property of any third parties.
6
7
#ifndef ROSETTASTONE_POLICY_HPP
8
#define ROSETTASTONE_POLICY_HPP
9
10
#include <
Rosetta/Enums/TaskEnums.hpp
>
11
#include <
Rosetta/Tasks/TaskMeta.hpp
>
12
13
namespace
RosettaStone
14
{
15
class
Game;
16
22
class
IPolicy
23
{
24
public
:
26
IPolicy
() =
default
;
27
29
virtual
~IPolicy
() =
default
;
30
34
virtual
TaskMeta
Next
(
const
Game
& game) = 0;
35
39
virtual
TaskMeta
Require
(
Player
& player, TaskID
id
) = 0;
40
43
virtual
void
Notify
(
const
TaskMeta
& meta) = 0;
44
};
45
}
// namespace RosettaStone
46
47
#endif // ROSETTASTONE_POLICY_HPP
RosettaStone::IPolicy::IPolicy
IPolicy()=default
Default constructor.
RosettaStone::TaskMeta
TaskMeta class.
Definition:
TaskMeta.hpp:97
TaskMeta.hpp
RosettaStone::IPolicy
IPolicy class.
Definition:
Policy.hpp:22
RosettaStone::Game
Game class.
Definition:
Game.hpp:21
TaskEnums.hpp
RosettaStone::IPolicy::~IPolicy
virtual ~IPolicy()=default
Default virtual destructor.
RosettaStone::IPolicy::Notify
virtual void Notify(const TaskMeta &meta)=0
RosettaStone::IPolicy::Require
virtual TaskMeta Require(Player &player, TaskID id)=0
RosettaStone::IPolicy::Next
virtual TaskMeta Next(const Game &game)=0
RosettaStone::Player
Player class.
Definition:
Player.hpp:33
RosettaStone
Definition:
AccountInfo.hpp:14
Generated on Fri Mar 22 2019 02:36:38 for RosettaStone by
1.8.14