private void SetMode(string[] args) { if (args.Length != 2 && args[1].Length > 1) { return; } if (args[1].ToLower().Contains("atrange")) { mode = DroneModes.AtRange; } else if (args[1].ToLower().Contains("fighter")) { mode = DroneModes.Fighter; } Util.GetInstance().Log("[PlayerDrone.Update] updating mode to " + args[1], orderlog); }
public void Update() { if (broadcastingBlock != null) { var temp = BroadcastingEnabled; BroadcastingEnabled = broadcastingBlock.IsWorking; if (temp != BroadcastingEnabled) { PlayAudioForBroadcastingChanged(); } } else { Sandbox.ModAPI.IMyGridTerminalSystem gridTerminal = MyAPIGateway.TerminalActionsHelper.GetTerminalSystemForGrid(MyEntity as IMyCubeGrid); List <Sandbox.ModAPI.Ingame.IMyTerminalBlock> blocks = new List <Sandbox.ModAPI.Ingame.IMyTerminalBlock>(); gridTerminal.SearchBlocksOfName(broadcasting, blocks); if (blocks.Count > 0) { broadcastingBlock = blocks.FirstOrDefault(); } } if (miningBlock != null) { var temp = MiningDronesEnabled; MiningDronesEnabled = miningBlock.IsWorking; if (temp != MiningDronesEnabled) { PlayAudioForMiningChanged(); } } else { Sandbox.ModAPI.IMyGridTerminalSystem gridTerminal = MyAPIGateway.TerminalActionsHelper.GetTerminalSystemForGrid(MyEntity as IMyCubeGrid); List <Sandbox.ModAPI.Ingame.IMyTerminalBlock> blocks = new List <Sandbox.ModAPI.Ingame.IMyTerminalBlock>(); gridTerminal.SearchBlocksOfName(mining, blocks); if (blocks.Count > 0) { miningBlock = blocks.FirstOrDefault(); } } if (formationBlock != null) { var temp = DroneMode.ToString(); DroneMode = formationBlock.IsWorking ? DroneModes.Fighter : DroneMode = DroneModes.AtRange; if (temp != DroneMode.ToString()) { PlayAudioForDroneModeChanged(); } } else { Sandbox.ModAPI.IMyGridTerminalSystem gridTerminal = MyAPIGateway.TerminalActionsHelper.GetTerminalSystemForGrid(MyEntity as IMyCubeGrid); List <Sandbox.ModAPI.Ingame.IMyTerminalBlock> blocks = new List <Sandbox.ModAPI.Ingame.IMyTerminalBlock>(); gridTerminal.SearchBlocksOfName(formation, blocks); if (blocks.Count > 0) { formationBlock = blocks.FirstOrDefault(); } } if (agressiveBlock != null) { var temp = Stance; Stance = agressiveBlock.IsWorking?Standing.Hostile:Stance = Standing.Passive; if (temp != Stance) { PlayAudioForStanceChanged(); } } else { Sandbox.ModAPI.IMyGridTerminalSystem gridTerminal = MyAPIGateway.TerminalActionsHelper.GetTerminalSystemForGrid(MyEntity as IMyCubeGrid); List <Sandbox.ModAPI.Ingame.IMyTerminalBlock> blocks = new List <Sandbox.ModAPI.Ingame.IMyTerminalBlock>(); gridTerminal.SearchBlocksOfName(agressive, blocks); if (blocks.Count > 0) { agressiveBlock = blocks.FirstOrDefault(); } } if (modeBlock != null) { var temp = StandingOrder; if (modeBlock.IsWorking) { StandingOrder = ActionTypes.Guard; } else { StandingOrder = ActionTypes.Sentry; } if (temp != StandingOrder) { PlayAudioForStandingOrderChanged(); } } else { Sandbox.ModAPI.IMyGridTerminalSystem gridTerminal = MyAPIGateway.TerminalActionsHelper.GetTerminalSystemForGrid(MyEntity as IMyCubeGrid); List <Sandbox.ModAPI.Ingame.IMyTerminalBlock> blocks = new List <Sandbox.ModAPI.Ingame.IMyTerminalBlock>(); gridTerminal.SearchBlocksOfName(mode, blocks); if (blocks.Count > 0) { modeBlock = blocks.FirstOrDefault(); } } if (onoffBlock != null) { var temp = DronesOnline; if (onoffBlock.IsWorking) { DronesOnline = true; } else { DronesOnline = false; } if (temp != DronesOnline) { PlayAudioForDronesOnlineChanged(); } } else { Sandbox.ModAPI.IMyGridTerminalSystem gridTerminal = MyAPIGateway.TerminalActionsHelper.GetTerminalSystemForGrid(MyEntity as IMyCubeGrid); List <Sandbox.ModAPI.Ingame.IMyTerminalBlock> blocks = new List <Sandbox.ModAPI.Ingame.IMyTerminalBlock>(); gridTerminal.SearchBlocksOfName(onoff, blocks); if (blocks.Count > 0) { onoffBlock = blocks.FirstOrDefault(); } } }
private void SetMode(string[] args) { if (args.Length != 2 && args[1].Length > 1) return; if (args[1].ToLower().Contains("atrange")) { mode = DroneModes.AtRange; } else if (args[1].ToLower().Contains("fighter")) { mode = DroneModes.Fighter; } Util.GetInstance().Log("[PlayerDrone.Update] updating mode to " + args[1], orderlog); }