-
Notifications
You must be signed in to change notification settings - Fork 1
/
ScriptedEnemy.h
46 lines (39 loc) · 1.03 KB
/
ScriptedEnemy.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#ifndef INCLUDED_RTG_SCRIPTEDENEMY_H
#define INCLUDED_RTG_SCRIPTEDENEMY_H
#include "CircleEnemy.h"
#include "Effect2D.h"
#include "EnemyVCPU.h"
#include "ScriptType.h"
namespace RTG
{
class ScriptCompiler;
class ScriptedEnemy : public CircleEnemy
{
private:
ScriptCompiler* m_pCompiler; // スクリプトコンパイラ
VM::Data* m_pScriptCmd; // スクリプトコマンド
int m_ScriptID; // スクリプトID
EnemyInfo m_EnemyInfo; // スクリプトエンジンに渡す敵情報
EnemyVCPU m_VirtualMachine; // 仮想実行マシン
public:
ScriptedEnemy( ScriptCompiler* pCompiler,
int id,
TaskList < CircleEnemyShot >* pList );
ScriptedEnemy( ScriptCompiler* pCompiler,
int id,
TaskList < CircleEnemyShot >* pList,
TaskList < Effect2D >* pEffectList,
int x,
int y,
TaskList < CirclePlayer >* pPlayerList,
StageInfo* pInfo );
~ScriptedEnemy();
void Draw();
bool Move();
void Damage( int dec );
int GetHP() const;
void Init();
MAPIL::Vector2 < double > GetPos() const;
};
}
#endif