private void Connect() { if (connected) { return; } LogicCircuitManager logicCircuitManager = Game.Instance.logicCircuitManager; UtilityNetworkManager <LogicCircuitNetwork, LogicWire> logicCircuitSystem = Game.Instance.logicCircuitSystem; connected = true; int outputCellOne = OutputCellOne; logicCircuitSystem.AddToNetworks(outputCellOne, this, true); outputOne = new LogicPortVisualizer(outputCellOne, LogicPortSpriteType.RibbonOutput); logicCircuitManager.AddVisElem(outputOne); int inputCellOne = InputCellOne; logicCircuitSystem.AddToNetworks(inputCellOne, inputOne, true); logicCircuitManager.AddVisElem((ILogicUIElement)inputOne); if (RequiresTwoInputs) { int inputCellTwo = InputCellTwo; logicCircuitSystem.AddToNetworks(inputCellTwo, inputTwo, true); logicCircuitManager.AddVisElem((ILogicUIElement)inputTwo); } RefreshAnimation(); }
private void Disconnect() { if (!connected) { return; } LogicCircuitManager logicCircuitManager = Game.Instance.logicCircuitManager; UtilityNetworkManager <LogicCircuitNetwork, LogicWire> logicCircuitSystem = Game.Instance.logicCircuitSystem; connected = false; int outputCellOne = OutputCellOne; logicCircuitSystem.RemoveFromNetworks(outputCellOne, this, true); logicCircuitManager.RemoveVisElem(outputOne); outputOne = null; int inputCellOne = InputCellOne; logicCircuitSystem.RemoveFromNetworks(inputCellOne, inputOne, true); logicCircuitManager.RemoveVisElem((ILogicUIElement)inputOne); inputOne = null; if (RequiresTwoInputs) { int inputCellTwo = InputCellTwo; logicCircuitSystem.RemoveFromNetworks(inputCellTwo, inputTwo, true); logicCircuitManager.RemoveVisElem((ILogicUIElement)inputTwo); inputTwo = null; } RefreshAnimation(); }
private void CreateVisualizers() { int num = Grid.PosToCell(base.transform.GetPosition()); bool flag = num != cell; cell = num; if (!flag) { Rotatable component = GetComponent <Rotatable>(); if ((UnityEngine.Object)component != (UnityEngine.Object)null) { Orientation orientation = component.GetOrientation(); flag = (orientation != this.orientation); this.orientation = orientation; } } if (flag) { DestroyVisualizers(); if (outputPortInfo != null) { outputPorts = new List <ILogicUIElement>(); for (int i = 0; i < outputPortInfo.Length; i++) { Port port = outputPortInfo[i]; LogicPortVisualizer logicPortVisualizer = new LogicPortVisualizer(GetActualCell(port.cellOffset), port.spriteType); outputPorts.Add(logicPortVisualizer); Game.Instance.logicCircuitManager.AddVisElem(logicPortVisualizer); } } if (inputPortInfo != null) { inputPorts = new List <ILogicUIElement>(); for (int j = 0; j < inputPortInfo.Length; j++) { Port port2 = inputPortInfo[j]; LogicPortVisualizer logicPortVisualizer2 = new LogicPortVisualizer(GetActualCell(port2.cellOffset), port2.spriteType); inputPorts.Add(logicPortVisualizer2); Game.Instance.logicCircuitManager.AddVisElem(logicPortVisualizer2); } } } }
private void Connect() { if (!connected) { LogicCircuitManager logicCircuitManager = Game.Instance.logicCircuitManager; UtilityNetworkManager <LogicCircuitNetwork, LogicWire> logicCircuitSystem = Game.Instance.logicCircuitSystem; connected = true; int outputCell = base.OutputCell; logicCircuitSystem.AddToNetworks(outputCell, this, true); output = new LogicPortVisualizer(outputCell, LogicPortSpriteType.Output); logicCircuitManager.AddVisElem(output); int inputCellOne = base.InputCellOne; logicCircuitSystem.AddToNetworks(inputCellOne, inputOne, true); logicCircuitManager.AddVisElem(inputOne); if (base.RequiresTwoInputs) { int inputCellTwo = base.InputCellTwo; logicCircuitSystem.AddToNetworks(inputCellTwo, inputTwo, true); logicCircuitManager.AddVisElem(inputTwo); } RefreshAnimation(); } }