Files
minecraft-pe-0.6.1/src/client/renderer/entity/EntityRenderDispatcher.h
2026-03-02 22:04:18 +03:00

77 lines
1.9 KiB
C++
Executable File

#ifndef NET_MINECRAFT_CLIENT_RENDERER_ENTITY__EntityRenderDispatcher_H__
#define NET_MINECRAFT_CLIENT_RENDERER_ENTITY__EntityRenderDispatcher_H__
//package net.minecraft.client.renderer.entity;
#include <map>
#include "../../../world/entity/EntityRendererId.h"
class EntityRenderer;
class Level;
class Font;
class Textures;
class ItemInHandRenderer;
class Minecraft;
class Textures;
class Options;
class Entity;
class Mob;
class EntityRenderDispatcher
{
typedef std::map<EntityRendererId, EntityRenderer*> RendererMap;
typedef RendererMap::iterator RendererIterator;
typedef RendererMap::const_iterator RendererCIterator;
public:
EntityRenderDispatcher();
~EntityRenderDispatcher();
static EntityRenderDispatcher* getInstance();
static void destroy();
void prepare(Level* level, Font* font, Mob* player, Options* options, float a);
void render(Entity* entity, float a);
void render(Entity* entity, float x, float y, float z, float rot, float a);
EntityRenderer* getRenderer( Entity* entity );
EntityRenderer* getRenderer( EntityRendererId rendererId );
void setLevel(Level* level);
void setMinecraft(Minecraft* minecraft);
float distanceToSqr(float x, float y, float z);
Font* getFont();
void onGraphicsReset();
private:
void assign(EntityRendererId id, EntityRenderer* renderer);
public:
ItemInHandRenderer* itemInHandRenderer;
//TripodCameraRenderer tripodCameraRenderer;
static float xOff, yOff, zOff;
Textures* textures;
Level* level;
Minecraft* minecraft;
Mob* cameraEntity;
float playerRotY;
float playerRotX;
Options* options;
float xPlayer, yPlayer, zPlayer;
private:
static EntityRenderDispatcher* instance;
Font* _font;
// For onGraphicsReset etc
RendererMap _renderers;
};
#endif /*NET_MINECRAFT_CLIENT_RENDERER_ENTITY__EntityRenderDispatcher_H__*/