public static ActActConnection createActActConnection(string id, string idSource, string idTarget, ActActConnection.commands sourceCommand, ActActConnection.commands targetCommand) { ActActConnection c = null; Item source = ItemManager.getInstance().getItem(idSource); Item target = ItemManager.getInstance().getItem(idTarget); if (source is Actuator && target is Actuator) { c = new ActActConnection(id, (Actuator)source, (Actuator)target, sourceCommand, targetCommand); } if (c != null) { ConnectionManager.getInstance().getConnections().Add(id, c); } return(c); }
public void OnInputClicked(InputClickedEventData eventData) { //Needs: LineID, Source Name, Target Name, Source Operation, Target Operation bool exists = false; if (ConnectionManager.getInstance().getConnections().ContainsKey(LineID)) { exists = true; } ActActFensterName = this.gameObject.transform.parent.name; ActActFenster = this.gameObject.transform.parent.gameObject; ActActConnection.commands sourceCommand; ActActConnection.commands targetCommand; bool opSource = ActActFenster.GetComponent <LogicActActInput>().GetSourceStatus(); //false = off, true = on bool opTarget = ActActFenster.GetComponent <LogicActActInput>().GetTargetStatus(); //false = off, true = on if (!opSource) { sourceCommand = ActActConnection.commands.OFF; } else { sourceCommand = ActActConnection.commands.ON; } if (!opTarget) { targetCommand = ActActConnection.commands.OFF; } else { targetCommand = ActActConnection.commands.ON; } Item source = ItemManager.getInstance().getItem(SourceNamelong); Item target = ItemManager.getInstance().getItem(TargetNamelong); if (source is Actuator && target is Actuator) { Actuator aSource = (Actuator)source; Actuator aTarget = (Actuator)target; if (!exists) { ActActConnection c = ConnectionCreator.createActActConnection(LineID, SourceNamelong, TargetNamelong, sourceCommand, targetCommand); } ConnectionManager.getInstance().startConnection(LineID); if (sourceCommand.Equals(ActActConnection.commands.ON)) { StartCoroutine(aSource.sendON()); ConnectionManager.getInstance().stopConnection(LineID); } else if (sourceCommand.Equals(ActActConnection.commands.OFF)) { StartCoroutine(aSource.sendOFF()); ConnectionManager.getInstance().stopConnection(LineID); } if (targetCommand.Equals(ActActConnection.commands.ON)) { StartCoroutine(aTarget.sendON()); ConnectionManager.getInstance().stopConnection(LineID); } else if (targetCommand.Equals(ActActConnection.commands.OFF)) { StartCoroutine(aTarget.sendOFF()); ConnectionManager.getInstance().stopConnection(LineID); } } //ActActFenster.transform.GetChild(1).transform.localScale = new Vector3(0.1f, 0.1f, 0.1f); //this.transform.localScale = new Vector3(0, 0, 0); }