void ISolutionChange.SolutionChanged(SolutionChangeEventArgs eventArgs) { var solution = eventArgs.Owner.GetComponent <SolutionContainerComponent>(); if (solution.Solution.GetReagentQuantity(_catalystPrototype) > ReagentUnit.Zero) { Expand(); } }
void ISolutionChange.SolutionChanged(SolutionChangeEventArgs eventArgs) { var solution = eventArgs.Owner.GetComponent <SolutionContainerComponent>(); //Transform container into initial state when emptied if (_currentReagent != null && solution.ReagentList.Count == 0) { CancelTransformation(); } //the biggest reagent in the solution decides the appearance var reagentId = solution.Solution.GetPrimaryReagentId(); //If biggest reagent didn't changed - don't change anything at all if (_currentReagent != null && _currentReagent.ID == reagentId) { return; } //Only reagents with spritePath property can change appearance of transformable containers! if (!string.IsNullOrWhiteSpace(reagentId) && _prototypeManager.TryIndex(reagentId, out ReagentPrototype? proto) && !string.IsNullOrWhiteSpace(proto.SpriteReplacementPath)) { var spriteSpec = new SpriteSpecifier.Rsi(new ResourcePath("Objects/Consumable/Drinks/" + proto.SpriteReplacementPath), "icon"); if (Owner.TryGetComponent(out SpriteComponent? sprite)) { sprite?.LayerSetSprite(0, spriteSpec); } Owner.Name = proto.Name + " glass"; Owner.Description = proto.Description; _currentReagent = proto; Transformed = true; } }
void ISolutionChange.SolutionChanged(SolutionChangeEventArgs eventArgs) => UpdateUserInterface();
void ISolutionChange.SolutionChanged(SolutionChangeEventArgs eventArgs) { UpdateAppearance(); }
void ISolutionChange.SolutionChanged(SolutionChangeEventArgs eventArgs) => _uiDirty = true;
void ISolutionChange.SolutionChanged(SolutionChangeEventArgs eventArgs) { IsRigged = Owner.TryGetComponent(out SolutionContainerComponent? solution) && solution.Solution.ContainsReagent("Plasma", out var plasma) && plasma >= 5; }
void ISolutionChange.SolutionChanged(SolutionChangeEventArgs eventArgs) { IsRigged = Owner.TryGetComponent(out SolutionContainerComponent? solution) && solution.Solution.ContainsReagent("chem.Phoron", out var phoron) && phoron >= 5; }
public void SolutionChanged(SolutionChangeEventArgs eventArgs) { Dirty(); }