static public void setBladeToGrid(int x, int z, string setName, int bladeIndex, bool erase, bool forceErase) { int terrainToFoliageGridMultiple = (int)(BTerrainQuadNode.cMaxWidth / FoliageManager.cNumUsedXBladesPerChunk); if (x % terrainToFoliageGridMultiple != 0 || z % terrainToFoliageGridMultiple != 0) { return; } int setIndex = giveIndexOfSet(setName); int idx = x + TerrainGlobals.getTerrain().getNumXVerts() * z; int minQNX = (int)(x / BTerrainQuadNode.cMaxWidth); int minQNZ = (int)(z / BTerrainQuadNode.cMaxHeight); int numXChunks = (int)(TerrainGlobals.getTerrain().getNumXVerts() / BTerrainQuadNode.cMaxWidth); int qnIndex = minQNX + numXChunks * minQNZ; int idex = giveChunkWithParentIndex(qnIndex); if (erase) { if (mVertData.ContainsValue(idx)) { if (!forceErase) { FoliageVertData vRep = mVertData.GetValue(idx); if (giveIndexOfSet(vRep.mFoliageSetName) != setIndex || vRep.mFoliageSetBladeIndex != bladeIndex) { return; } } mVertData.SetValue(idx, new FoliageVertData()); //Default 'empty' for a jagged<T> value is the default constructor.. if (idex != -1) { mQNChunks[idex].destroyRenderVBs(); } } } else { mVertData.SetValue(idx, new FoliageVertData(setName, bladeIndex)); if (idex == -1)//we need to add a new chunk { idex = mQNChunks.Count; addNewChunk(qnIndex); } mQNChunks[idex].bladeAdded(mFoliageSets[setIndex].mFullFileName); } }
static void resampleJaggedArrayFloat(ref JaggedContainer <float> dat, int origX, int origY, int newX, int newY, float emptyVal) { float[] oldArry = new float[origX * origY]; for (int i = 0; i < origX * origY; i++) { oldArry[i] = dat.GetValue(i); } float[] imgScaledX = new float[newX * newY]; ImageManipulation.resizeF32Img(oldArry, imgScaledX, origX, origY, newX, newY, ImageManipulation.eFilterType.cFilter_Nearest); dat.Clear(); dat.SetEmptyValue(emptyVal); for (int i = 0; i < newX * newY; i++) { if (imgScaledX[i] != emptyVal) { dat.SetValue(i, imgScaledX[i]); } } imgScaledX = null; oldArry = null; }
public float getJaggedHeight(int idx) { return(mHeightOverride.GetValue(idx)); }
public int getJaggedScarabPassable(int idx) { return(mSimScarabPassableOverride.GetValue(idx)); }
public int getJaggedFloodPassable(int idx) { return(mSimFloodPassableOverride.GetValue(idx)); }
public int getJaggedBuildable(int idx) { return(mSimBuildableOverride.GetValue(idx)); }
public int getJaggedTileType(int idx) { return(mSimTileTypeOverride.GetValue(idx)); }