GameServer
ScriptExecuter.h
[詳解]
1 #ifndef __SCRIPTEXECUTER_H__
2 #define __SCRIPTEXECUTER_H__
3 
4 #include "ScriptExecuterBase.h"
5 
6 class Client;
7 
12 {
13 
14 public:
15 
16  // コンストラクタ
18 
19  // デストラクタ
20  virtual ~ScriptExecuter() {}
21 
22  // クライアントをセット。
23  void SetClient(Client *pInClient) { pClient = pInClient; }
24 
25  u32 GetCurrentShopId() const { return CurrentShopId; }
26 
27  // 読み込んで実行.
28  void LoadAndRun(const std::string &FileName);
29 
30  // メッセージを表示.
31  virtual void ShowMessage_Impl(const std::string &Message) {}
32 
33  // 選択肢がプッシュされた。
34  virtual void PushSelection_Impl(const std::string &Message) {}
35 
36  // 選択肢表示.
37  virtual void ShowSelection_Impl() {}
38 
39  // フラグをセット
40  virtual void SetFlag(int Flag);
41 
42  // フラグを取得.
43  virtual bool GetFlag(int Flag);
44 
45  // クエストが進行中か?
46  virtual bool IsQuestActive(u32 QuestId);
47 
48  // クエスト進行.
49  virtual void ProgressQuest(u32 QuestId);
50 
51  // クエストのステージ番号を取得.
52  virtual u32 GetQuestStageNo(u32 QuestId);
53 
54  // アイテムの個数を取得.
55  virtual u32 GetItemCount(u32 ItemId);
56 
57  // アイテム消費.
58  virtual void ConsumeItem(u32 ItemId, u32 Count);
59 
60  // クエスト受注.
61  virtual void AcceptQuest(u32 QuestId);
62 
63  // クエストをクリアしているか?
64  virtual bool IsQuestClear(u32 QuestId);
65 
66  // ショップ画面表示
67  virtual void ShowShop_Impl(u32 ShopId) { CurrentShopId = ShopId; }
68 
69  // ショップ終了,
70  void ExitShop();
71 
72 protected:
73 
74  // 実行エラー
75  virtual void OnExecuteError(const std::string &ErrorMessage);
76 
77  // 処理が終了した。
78  virtual void OnFinished();
79 
80  // デバッグメッセージを表示.
81  virtual void ShowDebugMessage(const std::string &Message);
82 
83  // サーバモードか?
84  virtual bool IsServer() const { return true; }
85 
86 private:
87 
88  // クライアント
89  Client *pClient;
90 
91  // 現在のショップID
92  u32 CurrentShopId;
93 
94 };
95 
96 #endif // #ifndef __SCRIPTEXECUTER_H_
virtual bool IsServer() const
サーバモードか?
Definition: ScriptExecuter.h:84
virtual void ShowMessage_Impl(const std::string &Message)
メッセージを表示
Definition: ScriptExecuter.h:31
virtual ~ScriptExecuter()
Definition: ScriptExecuter.h:20
virtual void OnFinished()
終了コールバック
Definition: ScriptExecuter.cpp:110
virtual void ConsumeItem(u32 ItemId, u32 Count)
アイテムを消費
Definition: ScriptExecuter.cpp:78
virtual void AcceptQuest(u32 QuestId)
クエスト受注
Definition: ScriptExecuter.cpp:84
virtual bool GetFlag(int Flag)
フラグを取得
Definition: ScriptExecuter.cpp:48
Definition: ScriptExecuter.h:11
virtual bool IsQuestActive(u32 QuestId)
クエストが進行中か?
Definition: ScriptExecuter.cpp:54
unsigned int u32
Definition: TypeDefs.h:10
virtual bool IsQuestClear(u32 QuestId)
クエストをクリアしているか?
Definition: ScriptExecuter.cpp:90
u32 GetCurrentShopId() const
Definition: ScriptExecuter.h:25
void LoadAndRun(const std::string &FileName)
Definition: ScriptExecuter.cpp:17
スクリプト実行基底クラス
Definition: ScriptExecuterBase.h:19
クライアントクラス
Definition: Client.h:26
virtual void ShowSelection_Impl()
選択肢を表示
Definition: ScriptExecuter.h:37
virtual u32 GetItemCount(u32 ItemId)
アイテム数を取得
Definition: ScriptExecuter.cpp:72
void SetClient(Client *pInClient)
Definition: ScriptExecuter.h:23
void ExitShop()
Definition: ScriptExecuter.cpp:96
virtual void OnExecuteError(const std::string &ErrorMessage)
Definition: ScriptExecuter.cpp:104
virtual void ProgressQuest(u32 QuestId)
クエスト進行
Definition: ScriptExecuter.cpp:60
virtual void SetFlag(int Flag)
フラグをセット
Definition: ScriptExecuter.cpp:42
virtual void ShowDebugMessage(const std::string &Message)
デバッグメッセージを表示
Definition: ScriptExecuter.cpp:120
virtual void PushSelection_Impl(const std::string &Message)
選択肢をプッシュ
Definition: ScriptExecuter.h:34
virtual u32 GetQuestStageNo(u32 QuestId)
クエストのステージ番号を取得
Definition: ScriptExecuter.cpp:66
ScriptExecuter()
Definition: ScriptExecuter.cpp:10
virtual void ShowShop_Impl(u32 ShopId)
ショップ画面を表示
Definition: ScriptExecuter.h:67