public override void HandleComponentState(ComponentState curState, ComponentState nextState) { base.HandleComponentState(curState, nextState); if (!(curState is GalacticMarketState state)) { return; } _products.Clear(); foreach (var productId in state.Products) { if (!_prototypeManager.TryIndex(productId, out CargoProductPrototype product)) { continue; } _products.Add(product); } OnDatabaseUpdated?.Invoke(); }
public override void HandleComponentState(ComponentState curState, ComponentState nextState) { base.HandleComponentState(curState, nextState); if (!(curState is CargoOrderDatabaseState state)) { return; } Clear(); if (state.Orders == null) { return; } foreach (var order in state.Orders) { AddOrder(order); } OnDatabaseUpdated?.Invoke(); }
public override void HandleComponentState(ComponentState curState, ComponentState nextState) { base.HandleComponentState(curState, nextState); if (!(curState is ProtolatheDatabaseState state)) { return; } Clear(); foreach (var ID in state.Recipes) { if (!_prototypeManager.TryIndex(ID, out LatheRecipePrototype recipe)) { continue; } AddRecipe(recipe); } OnDatabaseUpdated?.Invoke(); }
public override void HandleComponentState(ComponentState curState, ComponentState nextState) { base.HandleComponentState(curState, nextState); if (!(curState is TechnologyDatabaseState state)) { return; } _technologies.Clear(); var protoManager = IoCManager.Resolve <IPrototypeManager>(); foreach (var techID in state.Technologies) { if (!protoManager.TryIndex(techID, out TechnologyPrototype technology)) { continue; } _technologies.Add(technology); } OnDatabaseUpdated?.Invoke(); }
public bool TriggerEvent(KodiEventMessage e) { switch (e.Source) { case "onAbortRequested": OnAbortRequested?.Invoke(null, new EventArgs()); break; case "onCleanStarted": OnCleanStarted?.Invoke(null, new LibraryEventArgs(e.EventArgs[0])); break; case "onCleanFinished": OnCleanFinished?.Invoke(null, new LibraryEventArgs(e.EventArgs[0])); break; case "onDPMSActivated": OnDPMSActivated?.Invoke(null, new EventArgs()); break; case "onDPMSDeactivated": OnDPMSDeactivated?.Invoke(null, new EventArgs()); break; case "onDatabaseScanStarted": OnDatabaseScanStarted?.Invoke(null, new DatabaseEventArgs(e.EventArgs[0])); break; case "onDatabaseUpdated": OnDatabaseUpdated?.Invoke(null, new DatabaseEventArgs(e.EventArgs[0])); break; case "onNotification": OnNotification?.Invoke(null, new NotificationEventArgs( e.EventArgs[0], e.EventArgs[1], e.EventArgs[2] )); break; case "onScanStarted": OnScanStarted?.Invoke(null, new LibraryEventArgs(e.EventArgs[0])); break; case "onScanFinished": OnScanFinished?.Invoke(null, new LibraryEventArgs(e.EventArgs[0])); break; case "onScreensaverActivated": OnScreensaverActivated?.Invoke(null, new EventArgs()); break; case "onScreensaverDeactivated": OnScreensaverDeactivated?.Invoke(null, new EventArgs()); break; case "onSettingsChanged": OnSettingsChanged?.Invoke(null, new EventArgs()); break; default: PyConsole.WriteLine(string.Format("Unknown event '{0}' not handled", e.Source)); return(false); } return(true); }