コード例 #1
0
		void World::DestroyBlock(std::vector<spades::IntVector3> pos){
			std::vector<CellPos> cells;
			for(size_t i = 0; i < pos.size(); i++){
				const IntVector3& p = pos[i];
				if(p.z >= 62 || p.z < 0 || p.x < 0 || p.y < 0 ||
				   p.x >= map->Width() || p.y >= map->Height())
					continue;
				if(!map->IsSolid(p.x, p.y, p.z))
					continue;
				cells.push_back(CellPos(p.x,p.y,p.z));
			}
			
			cells = mapWrapper->RemoveBlocks(cells);
			
			for(size_t i =0 ; i < cells.size(); i++){
				CellPos& p = cells[i];
				map->Set(p.x, p.y, p.z, false, 0);
			}
			
			std::vector<IntVector3> cells2;
			for(size_t i =0 ; i < cells.size(); i++){
				cells2.push_back(IntVector3::Make(cells[i].x,
												  cells[i].y,
												  cells[i].z));
			}
			
			if(listener)
				listener->BlocksFell(cells2);
		}
コード例 #2
0
ファイル: cmtWiListVMenu.cpp プロジェクト: hogiboygoy/cmt-lib
void
CmtWiListVMenu::PaintCell( int cellIndex, CmtContext *ctx, int ) {
  if( cellIndex >= 0 ) {
    if( (uint32)cellIndex == CurrentCellIndex() && mActive[cellIndex] != 0 ) ctx->Image( CellPos(cellIndex), mActive[cellIndex], 0 );
    else ctx->Image( CellPos(cellIndex), mDefault[cellIndex], 0 );
    }
  }
コード例 #3
0
ファイル: TableData_HighLevel.cpp プロジェクト: wagenadl/eln
 MDPos(MarkupData const *md, TableData const *data):
   s(CellPos(md->start(), data)),
   e(CellPos(md->end(), data)) { }