Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private List<HeightMapSegment> SegmentCubeHeight(Segment mSegment, List<HeightMapSegment> mHeightMapSegment)
- {
- if (mSegment != null && !mSegment.mbIsEmpty)
- {
- CubeCoord segmentCubeCoord = new CubeCoord();
- segmentCubeCoord.x = mSegment.baseX;
- segmentCubeCoord.y = mSegment.baseY;
- segmentCubeCoord.z = mSegment.baseZ;
- long mSegmentBaseX = (mSegment.baseX - WorldScript.mDefaultOffset);
- long mSegmentBaseY = (mSegment.baseY - WorldScript.mDefaultOffset);
- long mSegmentBaseZ = (mSegment.baseZ - WorldScript.mDefaultOffset);
- int cubeIndex = 0;
- string HTML = "";
- List<WaypointMachine> mWayPointMachine = new List<WaypointMachine>();
- List<StorageHopper> mStorageHopper = new List<StorageHopper>();
- try
- {
- if (mSegment.HasEntities())
- {
- if (mSegment.mEntities != null)
- {
- List<SegmentEntity>[] segmentEntities = mSegment.mEntities;
- for (int i = 0; i < segmentEntities.Length; i++)
- {
- if (segmentEntities[i] != null)
- {
- List<SegmentEntity> segmentEntityList = segmentEntities[i];
- for (int j = 0; j < segmentEntityList.Count; j++)
- {
- switch (segmentEntityList[j].mType)
- {
- case eSegmentEntity.WaypointMachine:
- try
- {
- WaypointMachine waypoint = (WaypointMachine)segmentEntities[i][j];
- mWayPointMachine.Add(waypoint);
- }
- catch (Exception e)
- {
- System.Console.WriteLine(e);
- }
- break;
- case eSegmentEntity.StorageHopper:
- try
- {
- StorageHopper storagehopper = (StorageHopper)segmentEntities[i][j];
- mStorageHopper.Add(storagehopper);
- }
- catch (Exception e)
- {
- System.Console.WriteLine(e);
- }
- break;
- }
- }
- }
- }
- }
- }
- }
- catch (Exception e)
- {
- System.Console.WriteLine(e);
- }
- for (ushort y = 0; y < 16; y++)
- {
- long segmentBaseCubeY = ((mSegment.baseY - WorldScript.mDefaultOffset) + y);
- for (ushort x = 0; x < 16; x++)
- {
- long segmentBaseCubeX = ((mSegment.baseX - WorldScript.mDefaultOffset) + x);
- for (ushort z = 0; z < 16; z++)
- {
- long segmentBaseCubeZ = ((mSegment.baseZ - WorldScript.mDefaultOffset) + z);
- ushort cube = mSegment.maCubes[cubeIndex];
- //string cubeCoordBaseCube = "[" + segmentBaseCubeX.ToString() + ":"+ segmentBaseCubeY.ToString() + ":"+ segmentBaseCubeZ.ToString() + "]";
- string cubeCoordBaseCube = "[" + segmentBaseCubeX.ToString() + ":" + segmentBaseCubeZ.ToString() + "]";
- if (cube != 1)
- {
- CubeData CubeData = mSegment.maCubeData[cubeIndex];
- string cubeName = cube.ToString();
- TerrainDataEntry terrainDataEntry = global::TerrainData.mEntries[(int)cube];
- int TopTexture = -1;
- if (terrainDataEntry != null)
- {
- cubeName = terrainDataEntry.Key.ToString();
- TopTexture = terrainDataEntry.TopTexture;
- }
- byte red = 0;
- byte green = 0;
- byte blue = 0;
- byte alpha = 255;
- ushort cubeType = cube;
- if ((cubeType == eCubeTypes.NewSurvivalSurface || cubeType == eCubeTypes.RoughHewnRock || CubeHelper.IsColorised((int)cubeType) || CubeHelper.IsPaintable((int)cubeType)))
- {
- Color32 color = PlayerPainter.FromValue(CubeData.mValue);
- red = color.r;
- green = color.g;
- blue = color.b;
- }
- else if (cubeType == eCubeTypes.Snow)
- {
- //CentralPowerHub.ColourMap[num4, num5] = Color.white;
- red = 255;
- green = 255;
- blue = 255;
- }
- else if (cubeType == eCubeTypes.Giger || cubeType == eCubeTypes.HardenedResin)
- {
- //CentralPowerHub.ColourMap[num4, num5] = new Color32(16, 16, 32, 0);
- }
- else if (CubeHelper.IsReinforced(cubeType))
- {
- red = 120;
- green = 120;
- blue = 120;
- //CentralPowerHub.ColourMap[num4, num5] = Color.gray;
- }
- else
- {
- red = 255;
- green = 0;
- blue = 255;
- //CentralPowerHub.ColourMap[num4, num5] = Color.magenta;
- }
- string colors = String.Format("#{0:X2}{1:X2}{2:X2}", red, green, blue);
- UnityEngine.Color setColors = PlayerPainter.FromRGB(red, green, blue);
- ColorRGBA setColor = new ColorRGBA
- {
- R = red,
- G = green,
- B = blue,
- A = alpha
- };
- SegmentColorCubeData setColorCubeData = new SegmentColorCubeData
- {
- CubeX = x,
- CubeY = y,
- CubeZ = z,
- PixelColor = PlayerPainter.FromRGB(red, green, blue),
- };
- if (CubeHelper.IsMachine(cube) || CubeHelper.IsMultiBlockMachine(cube))
- {
- switch (cube)
- {
- case eCubeTypes.WaypointMachine:
- //System.Console.WriteLine("in cube loop mWayPointMachine.Count = " + mWayPointMachine.Count);
- if (mWayPointMachine.Count > 0)
- {
- string waypointMachinePopUp = "No Popup Text Found is there a sign attached?";
- string HasPower = "Unknown Power!";
- foreach (WaypointMachine wPM in mWayPointMachine)
- {
- long wpX = (wPM.mnX - WorldScript.mDefaultOffset);
- long wpY = (wPM.mnY - WorldScript.mDefaultOffset);
- long wpZ = (wPM.mnZ - WorldScript.mDefaultOffset);
- CubeCoord wPMCoords = new CubeCoord();
- wPMCoords.x = wPM.mnX;
- wPMCoords.y = wPM.mnY;
- wPMCoords.z = wPM.mnZ;
- // X and Z are backwards!!!!
- if (
- segmentBaseCubeX == wpX && segmentBaseCubeY == wpY && segmentBaseCubeZ == wpZ ||
- segmentBaseCubeX == wpZ && segmentBaseCubeY == wpY && segmentBaseCubeZ == wpX
- )
- {
- waypointMachinePopUp = wPM.GetPopupText();
- HasPower = (wPM.mbHasPower ? "Has Power" : "No Power");
- }
- }
- //HeightMapSegment[segmentBaseCubeZ, segmentBaseCubeX] = "<div class=\"img-" + TopTexture.ToString() + "-16x16\" title=\"" + segmentCubeCoord.ToString() + " | " + cube + " | " + cubeName + "\"></div>";
- HTML = "<div class=\"img-" + cube.ToString() + "-" + CubeData.mValue.ToString() + "\" title=\"" + segmentCubeCoord.ToString() + " | " + cube + " | " + cubeName + " | " + cubeIndex + " | " + HasPower + " | WaypointMachine " + waypointMachinePopUp + "\"></div>";
- }
- break;
- case eCubeTypes.StorageHopper:
- //System.Console.WriteLine("in cube loop mStorageHopper.Count = " + mStorageHopper.Count);
- if (mStorageHopper.Count > 0)
- {
- string storageHopperInventory = "";
- foreach (StorageHopper mnStorageHopper in mStorageHopper)
- {
- long shX = (mnStorageHopper.mnX - WorldScript.mDefaultOffset);
- long shY = (mnStorageHopper.mnY - WorldScript.mDefaultOffset);
- long shZ = (mnStorageHopper.mnZ - WorldScript.mDefaultOffset);
- CubeCoord wPMCoords = new CubeCoord();
- wPMCoords.x = mnStorageHopper.mnX;
- wPMCoords.y = mnStorageHopper.mnY;
- wPMCoords.z = mnStorageHopper.mnZ;
- // X and Z are backwards!!!!
- if (
- segmentBaseCubeX == shX && segmentBaseCubeY == shY && segmentBaseCubeZ == shZ ||
- segmentBaseCubeX == shZ && segmentBaseCubeY == shY && segmentBaseCubeZ == shX
- )
- {
- if (mnStorageHopper.maItemInventory != null)
- {
- List<string> itemNameList = new List<string>();
- ItemBase[] itemBase = mnStorageHopper.maItemInventory;
- if (itemBase.Length > 0)
- {
- for (int i = 0; i < itemBase.Length; i++)
- {
- ItemBase iBase = itemBase[i];
- if (iBase != null)
- {
- itemNameList.Add(iBase.ToString());
- }
- }
- storageHopperInventory = "(" + String.Join(",", itemNameList.ToArray<string>()) + ")";
- }
- }
- }
- }
- //HeightMapSegment[segmentBaseCubeZ, segmentBaseCubeX] = "<div class=\"img-" + TopTexture.ToString() + "-16x16\" title=\"" + segmentCubeCoord.ToString() + " | " + cube + " | " + cubeName + "\"></div>";
- HTML = "<div class=\"img-" + cube.ToString() + "-" + CubeData.mValue.ToString() + "\" title=\"" + segmentCubeCoord.ToString() + " | CubeType = " + cube.ToString() + " | CubeValue = " + CubeData.mValue.ToString() + " | CubeFlags = " + CubeData.meFlags.ToString() + " | " + cubeName.ToString() + " | " + cubeIndex.ToString() + " | Holding " + storageHopperInventory + "\"></div>";
- }
- break;
- case eCubeTypes.Conveyor:
- // $Texture2D = "<img style=\"".$options."\" src=\"https://www.fcedb.com/images/mapTextures/Texture2D/".$size ."/".$cubeData['cubeType']."-192-".$size ."x".$size .".jpg\" ".$title.">";
- HTML = "<div class=\"img-" + cube.ToString() + "-" + CubeData.mValue.ToString() + "\"" + CubeRotation(cube, CubeData.mValue, CubeData.meFlags) + " title=\"" + segmentCubeCoord.ToString() + " | CubeType = " + cube.ToString() + " | CubeValue = " + CubeData.mValue.ToString() + " | CubeFlags = " + CubeData.meFlags.ToString() + " | " + cubeName + " | " + cubeIndex + "\"></div>";
- break;
- case eCubeTypes.TrackGate:
- case eCubeTypes.TrackJunction:
- case eCubeTypes.TrackPoint:
- case eCubeTypes.TrackStation:
- case eCubeTypes.TrackTerminus:
- HTML = "<div class=\"img-" + cube.ToString() + "-" + CubeData.mValue.ToString() + "\" data-coords=\"" + cubeCoordBaseCube + "\" data=\"" + segmentCubeCoord.ToString() + " | CubeType = " + cube.ToString() + " | CubeValue = " + CubeData.mValue.ToString() + " | CubeFlags = " + CubeData.meFlags.ToString() + " | " + cubeName + " | " + cubeIndex + "\"></div>";
- break;
- case eCubeTypes.FreightCartFactory:
- case eCubeTypes.FreightCartStation:
- case eCubeTypes.FreightSystemMonitor:
- HTML = "<div class=\"img-" + cube.ToString() + "-" + CubeData.mValue.ToString() + "\" data-coords=\"" + cubeCoordBaseCube + "\" data=\"" + segmentCubeCoord.ToString() + " | CubeType = " + cube.ToString() + " | CubeValue = " + CubeData.mValue.ToString() + " | CubeFlags = " + CubeData.meFlags.ToString() + " | " + cubeName + " | " + cubeIndex + "\"></div>";
- break;
- case eCubeTypes.MinecartTrack:
- case eCubeTypes.ScrapMinecartTrack:
- HTML = "<div class=\"img-" + cube.ToString() + "-" + CubeData.mValue.ToString() + "\" data-coords=\"" + cubeCoordBaseCube + "\" data=\"" + segmentCubeCoord.ToString() + " | CubeType = " + cube.ToString() + " | CubeValue = " + CubeData.mValue.ToString() + " | CubeFlags = " + CubeData.meFlags.ToString() + " | " + cubeName + " | " + cubeIndex + "\"></div>";
- break;
- default:
- //HTML = "<div class=\"img-" + TopTexture.ToString() + "-" + CubeData.mValue.ToString() + "\" title=\"" + segmentCubeCoord.ToString() + " | CubeType = " + cube.ToString() + " | CubeValue = " + CubeData.mValue.ToString() + " | CubeFlags = " + CubeData.meFlags.ToString() + " | " + cubeName + " | " + cubeIndex + "\"></div>";
- HTML = "<div class=\"img-" + TopTexture.ToString() + "\" data=\"" + segmentCubeCoord.ToString() + " | CubeType = " + cube.ToString() + " | CubeValue = " + CubeData.mValue.ToString() + " | CubeFlags = " + CubeData.meFlags.ToString() + " | " + cubeName + " | " + cubeIndex + "\"></div>";
- break;
- }
- }
- else
- {
- switch (cube)
- {
- case eCubeTypes.AlienPlant:
- HTML = "<div class=\"img-" + cube.ToString() + "-" + CubeData.mValue.ToString() + "\" title=\"" + segmentCubeCoord.ToString() + " | CubeType = " + cube.ToString() + " | CubeValue = " + CubeData.mValue.ToString() + " | CubeFlags = " + CubeData.meFlags.ToString() + " | " + cubeName + " | " + cubeIndex + "\" style=\"background-color: green\"></div>";
- break;
- case eCubeTypes.TrackGate:
- case eCubeTypes.TrackJunction:
- case eCubeTypes.TrackPoint:
- case eCubeTypes.TrackStation:
- case eCubeTypes.TrackTerminus:
- case eCubeTypes.FreightCartFactory:
- case eCubeTypes.FreightCartStation:
- case eCubeTypes.FreightSystemMonitor:
- case eCubeTypes.MinecartControl:
- case eCubeTypes.MinecartTrack:
- case eCubeTypes.ScrapMinecartTrack:
- HTML = "<div class=\"img-" + cube.ToString() + "-" + CubeData.mValue.ToString() + "\"" + CubeRotation(cube, CubeData.mValue, CubeData.meFlags) + "data-coords=\"" + cubeCoordBaseCube + "\" data=\"" + segmentCubeCoord.ToString() + " | CubeType = " + cube.ToString() + " | CubeValue = " + CubeData.mValue.ToString() + " | CubeFlags = " + CubeData.meFlags.ToString() + " | " + cubeName + " | " + cubeIndex + "\"></div>";
- break;
- default:
- HTML = "<div class=\"img-" + TopTexture.ToString() + "\" data=\"" + segmentCubeCoord.ToString() + " | CubeType = " + cube.ToString() + " | CubeValue = " + CubeData.mValue.ToString() + " | CubeFlags = " + CubeData.meFlags.ToString() + " | " + cubeName + " | " + cubeIndex + "\"></div>";
- break;
- }
- }
- if (localPlayer)
- {
- if (mHeightMapSegment != null && mHeightMapSegment.Count > 0)
- {
- int indexCube = -1;
- indexCube = mHeightMapSegment.FindIndex(mnSegmentBaseCube => mnSegmentBaseCube.segmentBaseCubeX == segmentBaseCubeX && mnSegmentBaseCube.segmentBaseCubeZ == segmentBaseCubeZ);
- if (indexCube == -1)
- {
- mHeightMapSegment.Add(new HeightMapSegment(x, y, z, segmentBaseCubeX, segmentBaseCubeY, segmentBaseCubeZ, CubeHelper.IsMachine(cube), HTML));
- }
- else
- {
- if (mHeightMapSegment[indexCube].isMachine)
- {
- mHeightMapSegment[indexCube] = new HeightMapSegment(x, y, z, segmentBaseCubeX, segmentBaseCubeY, segmentBaseCubeZ, CubeHelper.IsMachine(cube), HTML);
- }
- else
- {
- /*indexCube = -1;
- indexCube = mHeightMapSegment.FindIndex(mnSegmentBaseCube => mnSegmentBaseCube.segmentBaseCubeX == segmentBaseCubeX && mnSegmentBaseCube.segmentBaseCubeZ == segmentBaseCubeZ && mnSegmentBaseCube.isMachine == false);
- if(indexCube != -1)
- {
- }*/
- mHeightMapSegment[indexCube] = new HeightMapSegment(x, y, z, segmentBaseCubeX, segmentBaseCubeY, segmentBaseCubeZ, CubeHelper.IsMachine(cube), HTML);
- }
- }
- }
- else
- {
- mHeightMapSegment.Add(new HeightMapSegment(x, y, z, segmentBaseCubeX, segmentBaseCubeY, segmentBaseCubeZ, CubeHelper.IsMachine(cube), HTML));
- }
- }
- else
- {
- if (segmentBaseCubeY <= (mPlayerY + playerHeightOffSet))
- {
- if (mHeightMapSegment != null && mHeightMapSegment.Count > 0)
- {
- int indexCube = -1;
- indexCube = mHeightMapSegment.FindIndex(mnSegmentBaseCube => mnSegmentBaseCube.segmentBaseCubeX == segmentBaseCubeX && mnSegmentBaseCube.segmentBaseCubeZ == segmentBaseCubeZ);
- if (indexCube == -1)
- {
- mHeightMapSegment.Add(new HeightMapSegment(x, y, z, segmentBaseCubeX, segmentBaseCubeY, segmentBaseCubeZ, CubeHelper.IsMachine(cube), HTML));
- }
- else
- {
- if (mHeightMapSegment[indexCube].isMachine)
- {
- mHeightMapSegment[indexCube] = new HeightMapSegment(x, y, z, segmentBaseCubeX, segmentBaseCubeY, segmentBaseCubeZ, CubeHelper.IsMachine(cube), HTML);
- }
- else
- {
- /*indexCube = -1;
- indexCube = mHeightMapSegment.FindIndex(mnSegmentBaseCube => mnSegmentBaseCube.segmentBaseCubeX == segmentBaseCubeX && mnSegmentBaseCube.segmentBaseCubeZ == segmentBaseCubeZ && mnSegmentBaseCube.isMachine == false);
- if(indexCube != -1)
- {
- }*/
- mHeightMapSegment[indexCube] = new HeightMapSegment(x, y, z, segmentBaseCubeX, segmentBaseCubeY, segmentBaseCubeZ, CubeHelper.IsMachine(cube), HTML);
- }
- }
- }
- else
- {
- mHeightMapSegment.Add(new HeightMapSegment(x, y, z, segmentBaseCubeX, segmentBaseCubeY, segmentBaseCubeZ, CubeHelper.IsMachine(cube), HTML));
- }
- }
- }
- }
- else
- {
- HTML = "<div class=\"sc\" data=\"" + x + "," + y + "," + z + " | " + cubeIndex + "\" style=\"background-color: blue\"></div>";
- mHeightMapSegment.Add(new HeightMapSegment(x, y, z, segmentBaseCubeX, segmentBaseCubeY, segmentBaseCubeZ, CubeHelper.IsMachine(cube), HTML));
- }
- cubeIndex++;
- }
- }
- }
- }
- else
- {
- ushort y = 0;
- long segmentBaseCubeY = ((mSegment.baseY - WorldScript.mDefaultOffset) + y);
- for (ushort x = 0; x < 16; x++)
- {
- long segmentBaseCubeX = ((mSegment.baseX - WorldScript.mDefaultOffset) + x);
- for (ushort z = 0; z < 16; z++)
- {
- long segmentBaseCubeZ = ((mSegment.baseZ - WorldScript.mDefaultOffset) + z);
- mHeightMapSegment.Add(new HeightMapSegment(x, y, z, segmentBaseCubeX, segmentBaseCubeY, segmentBaseCubeZ, false, "<div class=\"sc\" data=\"" + x + "," + y + "," + z + "\" style=\"background-color: blue\"></div>"));
- }
- }
- }
- return mHeightMapSegment;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement