aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/GameRules/UpdatePlayerRuleDefinition.h
blob: 538aefa1c825e185749ae041901c5affe12f69f5 (plain)
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
#pragma once
using namespace std;

#include "GameRuleDefinition.h"

class AddItemRuleDefinition;
class Pos;

class UpdatePlayerRuleDefinition : public GameRuleDefinition
{
private:
	vector<AddItemRuleDefinition *> m_items;

	bool m_bUpdateHealth, m_bUpdateFood, m_bUpdateYRot, m_bUpdateInventory;
	int m_health;
	int m_food;	
	Pos *m_spawnPos;
	float m_yRot;

public:
	UpdatePlayerRuleDefinition();
	~UpdatePlayerRuleDefinition();

	virtual ConsoleGameRules::EGameRuleType getActionType() { return ConsoleGameRules::eGameRuleType_UpdatePlayerRule; }
	
	virtual void getChildren(vector<GameRuleDefinition *> *children);
	virtual GameRuleDefinition *addChild(ConsoleGameRules::EGameRuleType ruleType);

	virtual void writeAttributes(DataOutputStream *dos, UINT numAttributes);
	virtual void addAttribute(const wstring &attributeName, const wstring &attributeValue);

	virtual void postProcessPlayer(shared_ptr<Player> player);
};