1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #pragma once
- #include "Entity.h"
- #include "EntityType.h"
- #include "CraftingStorage.h"
- #include <Array.h>
- class PlayerEntityType;
- class Player : public Entity, public BasicShapedCrafter
- {
- public:
- class Key
- {
- public:
- const static __int64 LEFT_HAND_ACTION = 0x100;
- const static __int64 RIGHT_HAND_ACTION = 0x200;
- };
- private:
- Framework::Text name;
- Framework::Array<ItemSlot*> itemBar;
- Framework::Array<ItemSlot*> crafting;
- int leftHandPosition;
- bool jumping;
- __int64 keyState;
- void useItemSlot(ItemSlot* zSlot);
- Player(Framework::Vec3<float> location, int dimensionId, int entityId);
- virtual void onTargetChange() override;
- Framework::Text getInventoryUIML();
- Framework::Text getPlayerGUI();
- public:
- void setName(Framework::Text name);
- const char* getName() const;
- void tick(const Dimension* zDimension) override;
- void playerApi(Framework::StreamReader* zRequest, NetworkMessage* zResponse);
- void onFall(float collisionSpeed) override;
- friend PlayerEntityType;
- };
- class PlayerEntityType : public EntityType
- {
- protected:
- virtual void loadSuperEntity(Entity* zEntity, Framework::StreamReader* zReader) const override;
- virtual void saveSuperEntity(Entity* zEntity, Framework::StreamWriter* zWriter) const override;
- public:
- PlayerEntityType();
- virtual Entity* createEntity(Framework::Vec3<float> position, int dimensionId, int entityId) const override;
- };
|