public override void Update(bool isPlayerIn) { bool isAnyOutriggerMoving = false; float delta = Game.FrameTime; for (int i = 0; i < outriggers.Length; i++) { Outrigger r = outriggers[i]; r.Update(delta); isAnyOutriggerMoving = r.State == OutriggersState.Deploying || r.State == OutriggersState.Undeploying || r.VerticalState != UpDownState.None; } if (sound != null) { if (isAnyOutriggerMoving) { sound.Play(); } else { sound.Stop(); } sound.Update(); } if (isPlayerIn && Game.IsKeyDown(Keys.O)) { if (outriggers.All(o => o.State == OutriggersState.Undeployed)) { foreach (Outrigger o in outriggers) { o.State = OutriggersState.Deploying; } } else if (outriggers.All(o => o.State == OutriggersState.Deployed)) { foreach (Outrigger o in outriggers) { o.State = OutriggersState.Undeploying; o.VerticalState = UpDownState.Up; } } } }