private void ReverseGravity(IMyCubeBlock block) { IMyGravityGeneratorBase gravityBase = block as IMyGravityGeneratorBase; if (gravityBase != null) { gravityBase.GravityAcceleration = -gravityBase.GravityAcceleration; return; } Logger.AlwaysLog("Exotic gravity generator: " + block.DefinitionDisplayNameText + "/" + block.DisplayNameText, Rynchodon.Logger.severity.WARNING); }
public void GravityGeneratorProp(int propId, int propVal) { if (0 == propId) { gravityGen = NextBlockInGrid(Pgm, Me, gravityGen, propVal); return; } if (null == gravityGen) { return; } switch (propId) { case 1: case 2: case 3: if (0 == propVal) { factor *= 10; if (100 < factor) { factor = 1; } break; } var gravGenBox = gravityGen as IMyGravityGenerator; if (null != gravGenBox) { gravGenBox.FieldSize = UpdDim(gravGenBox.FieldSize, propId, propVal * factor); } else { var gravGenSphere = gravityGen as IMyGravityGeneratorSphere; if (null != gravGenSphere) { gravGenSphere.Radius += propVal; } } break; case 4: gravityGen.GravityAcceleration += 0 == propVal ? -gravityGen.GravityAcceleration : propVal; break; } }
private void CheckGravelLevels(double gravelLevel) { IMyConveyorSorter gravelSorter = (IMyConveyorSorter)GridTerminalSystem.GetBlockWithName(gravelSorterName); IMyGravityGeneratorBase gravelGun = (IMyGravityGeneratorBase)GridTerminalSystem.GetBlockWithName(gravelSorterName + " Gun"); if (gravelLevel > gravelMaximum) { gravelSorter.Enabled = true; gravelGun.Enabled = true; } else { gravelSorter.Enabled = false; gravelGun.Enabled = true; } //Echo($"Gravel Level = {gravelLevel}\nGravel Max = {gravelMaximum}\nGravel Sorter Enabled = {gravelSorter.Enabled}"); }