public TP(ushort id, SubP p) : base(id, p) { loopturn = false; NormWhAng = 35; Tangle = 0; switchingsusp = false; SuspensionMode = SuspensionModes.sport; DriveMode = DriveModes.full; FirstStr = ""; SecondStr = ""; Wheels = new List <IMyMotorSuspension>(); if ( (DriverLCD = OS.GTS.GetBlockWithName("Screen Driver") as IMyTextPanel) == null || (WheelLF = OS.GTS.GetBlockWithName("Wheel Suspension 3x3 LF") as IMyMotorSuspension) == null || (WheelRF = OS.GTS.GetBlockWithName("Wheel Suspension 3x3 RF") as IMyMotorSuspension) == null || (WheelLB = OS.GTS.GetBlockWithName("Wheel Suspension 3x3 LB") as IMyMotorSuspension) == null || (WheelRB = OS.GTS.GetBlockWithName("Wheel Suspension 3x3 RB") as IMyMotorSuspension) == null || (RemoteDriver = OS.GTS.GetBlockWithName("Control car") as IMyRemoteControl) == null || (RotorRull = OS.GTS.GetBlockWithName("Rotor rull") as IMyMotorStator) == null ) { Terminate("Kontur blocks not found."); return; } Wheels = new List <IMyMotorSuspension>() { WheelLF, WheelRF, WheelLB, WheelRB }; string saved = DriverLCD.GetText(); if (string.IsNullOrEmpty(saved)) { if (saved.Contains("front")) { DriveMode = DriveModes.front; } else if (saved.Contains("rear")) { DriveMode = DriveModes.rear; } if (saved.Contains("off-road")) { SuspensionMode = SuspensionModes.offroad; } if (saved.Contains("looper")) { loopturn = true; } } ChangeFirst(); AddAct(ref MA, Main, 1); SetCmd(new Dictionary <string, Cmd> { { "sdm", new Cmd(CmdSDM, "Switch drive mode Full/Front/Rear.") }, { "ssm", new Cmd(CmdSSM, "Switch suspension mode Sport/Off road.") }, { "sl", new Cmd(CmdSL, "Switch loopturn mode.") } }); }
string CmdSSM(List <string> a) { if (SuspensionMode == SuspensionModes.offroad) { SuspensionMode = SuspensionModes.sport; } else { SuspensionMode++; } switchingsusp = true; switch (SuspensionMode) { case SuspensionModes.sport: strengthSuspModifer = 25; heightSuspModifer = -0.1080F; break; case SuspensionModes.offroad: strengthSuspModifer = 16; heightSuspModifer = -0.36F; break; } ChangeFirst(); return(""); }