advtreedrawer.h
来自「这是整套横扫千军3D版游戏的源码」· C头文件 代码 · 共 67 行
H
67 行
// TreeDrawer.h: interface for the CTreeDrawer class.
//
//////////////////////////////////////////////////////////////////////
#ifndef __ADV_TREE_DRAWER_H__
#define __ADV_TREE_DRAWER_H__
#include <map>
#include "BaseTreeDrawer.h"
class CVertexArray;
class CGrassDrawer;
class CAdvTreeDrawer : public CBaseTreeDrawer
{
public:
CAdvTreeDrawer();
virtual ~CAdvTreeDrawer();
void Draw(float treeDistance,bool drawReflection);
void Update();
void ResetPos(const float3& pos);
void AddTree(int type, float3 pos, float size);
void DeleteTree(float3 pos);
int AddFallingTree(float3 pos, float3 dir, int type);
void DrawGrass(void);
void AddGrass(float3 pos);
void RemoveGrass(int x, int z);
void DrawShadowPass(void);
int lastListClean;
float oldTreeDistance;
struct TreeStruct{
float3 pos;
int type;
};
struct TreeSquareStruct {
unsigned int displist;
unsigned int farDisplist;
int lastSeen;
int lastSeenFar;
float3 viewVector;
std::map<int,TreeStruct> trees;
};
TreeSquareStruct* trees;
int treesX;
int treesY;
CGrassDrawer* grassDrawer;
struct FallingTree {
int type;
float3 pos;
float3 dir;
float speed;
float fallPos;
};
std::list<FallingTree> fallingTrees;
};
#endif // __ADV_TREE_DRAWER_H__
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?