123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #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 MOVE_FRONT = 0x1;
- const static __int64 MOVE_BACK = 0x2;
- const static __int64 MOVE_LEFT = 0x4;
- const static __int64 MOVE_RIGHT = 0x8;
- const static __int64 MOVE_UP = 0x10;
- const static __int64 MOVE_DOWN = 0x20;
- const static __int64 ROTATE_LEFT = 0x40;
- const static __int64 ROTATE_RIGHT = 0x80;
- const static __int64 LEFT_HAND_ACTION = 0x100;
- const static __int64 RIGHT_HAND_ACTION = 0x200;
- };
- private:
- Framework::Text name;
- Framework::RCArray<ItemSlot> itemBar;
- int leftHandPosition;
- bool jumping;
- __int64 keyState;
- void useItemSlot( ItemSlot* zSlot );
- Player( Framework::Vec3<float> location, int dimensionId, int entityId );
- virtual void afterPullStack( ItemSlot* zSlot, Direction dir, const Item* zItem, int count ) override;
- virtual void afterPushStack( ItemSlot* zSlot, Direction dir, const Item* zItem, int count ) override;
- public:
- void setName( Framework::Text name );
- const char* getName() const;
- void tick( const Dimension* zDimension ) override;
- void api( Framework::StreamReader* zRequest, NetworkResponse* zResponse ) override;
- void onFall( float collisionSpeed ) override;
- friend PlayerEntityType;
- };
- class PlayerEntityType : public EntityType
- {
- REGISTRABLE( PlayerEntityType )
- 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;
- };
- REGISTER( PlayerEntityType, EntityType )
|