Example #1
0
// 添加一个盒子
void GameGrid::AddBox(const Point3& pos)
{
	// 格子被占据,不添加
	if (!m_World[pos.x][pos.y][pos.z].obj)
	{
		Vector3f p((float)pos.x - 0.5f - WORLD_SIZE / 2 + 1, (float)pos.y + 0.5f, (float)pos.z - 0.5f - WORLD_SIZE / 2 + 1);

		WorldGrid* grid = &m_World[pos.x][pos.y][pos.z];
		//grid->pos = pos;
		MeshObject* obj = FACTORY_CREATE(m_Scene, MeshObject);
		obj->SetMesh(m_MeshBox);
		obj->SetPosition(p);
		obj->SetMaterial(m_BoxMaterial, 0);

		//obj->CreateLightableObject();

		grid->obj = obj;
	}

}