public void Setup(InputModule input, FInt startx, FInt starty, int team, string name) { this.input = input; position.x = startx; position.y = starty; this.team = team + 1; playerName = name; transform.position = new Vector3(startx.ToFloat(), starty.ToFloat()); sword.Setup(this); }
private void SetupInputModule() { InputModule inputModule = UIEventSystem.inputModuleMain; if (inputModule == null) { return; } inputModule.Clear(); tnLocalPartyModule localPartyModule = GameModulesManager.GetModuleMain <tnLocalPartyModule>(); if (localPartyModule != null) { for (int playerIndex = 0; playerIndex < localPartyModule.playersCount; ++playerIndex) { int playerId = localPartyModule.GetPlayerId(playerIndex); if (Hash.IsNullOrEmpty(playerId)) { continue; } tnPlayerData playerData = tnGameData.GetPlayerDataMain(playerId); if (playerData == null) { continue; } string playerInputName = playerData.playerInputName; string wifiPlayerInputName = playerData.wifiPlayerInputName; PlayerInput playerInput = InputSystem.GetPlayerByNameMain(playerInputName); WiFiPlayerInput wifiPlyerInput = WiFiInputSystem.GetPlayerByNameMain(wifiPlayerInputName); if (playerInput != null) { inputModule.AddPlayer(playerInput); } else { if (wifiPlyerInput != null) { inputModule.AddWifiPlayer(wifiPlyerInput); } } } } }
public static void Initialize() { // Atomic Modules CoreModule.Initialize(); MathModule.Initialize(); EngineModule.Initialize(); InputModule.Initialize(); IOModule.Initialize(); ResourceModule.Initialize(); AudioModule.Initialize(); GraphicsModule.Initialize(); SceneModule.Initialize(); Atomic2DModule.Initialize(); NavigationModule.Initialize(); NetworkModule.Initialize(); PhysicsModule.Initialize(); EnvironmentModule.Initialize(); UIModule.Initialize(); IPCModule.Initialize(); AtomicAppModule.Initialize(); ScriptModule.Initialize(); AtomicNETScriptModule.Initialize(); AtomicNETNativeModule.Initialize(); PlayerModule.Initialize(); coreDelegates = new CoreDelegates(); coreDelegates.eventDispatch = NativeCore.EventDispatch; coreDelegates.updateDispatch = NativeCore.UpdateDispatch; IntPtr coreptr = csi_Atomic_NETCore_Initialize(ref coreDelegates); NETCore core = (coreptr == IntPtr.Zero ? null : NativeCore.WrapNative <NETCore>(coreptr)); if (core != null) { AtomicNET.RegisterSubsystem("NETCore", core); } context = core.Context; NativeCore.Initialize(); CSComponentCore.Initialize(); string[] arguments = Environment.GetCommandLineArgs(); foreach (string arg in arguments) { AppBase.AddArgument(arg); } }
private void SetAllPlayersOnInputModule() { InputModule inputModule = UIEventSystem.inputModuleMain; if (inputModule == null) { return; } inputModule.Clear(); List <int> playersIds = tnGameData.GetPlayersKeysMain(); if (playersIds != null) { for (int index = 0; index < playersIds.Count; ++index) { int playerId = playersIds[index]; if (Hash.IsNullOrEmpty(playerId)) { continue; } tnPlayerData playerData = tnGameData.GetPlayerDataMain(playerId); if (playerData == null) { continue; } string playerInputName = playerData.playerInputName; string wifiPlayerInputName = playerData.wifiPlayerInputName; PlayerInput playerInput = InputSystem.GetPlayerByNameMain(playerInputName); WiFiPlayerInput wifiPlayerInput = WiFiInputSystem.GetPlayerByNameMain(wifiPlayerInputName); if (playerInput != null) { inputModule.AddPlayer(playerInput); } else { if (wifiPlayerInput != null) { inputModule.AddWifiPlayer(wifiPlayerInput); } } } } }
void OnEnable() { if (m_UseInputModule) { InputModule inputModule = UIEventSystem.inputModuleMain; if (inputModule != null) { inputModule.playersChangedEvent += OnInputModulePlayersChangedEvent; RefreshPlayers(); } } UIEventSystem.RegisterTriggerMain(this); }
// override OnEnable & OnDisable on purpose so that this BaseRaycaster won't be registered into RaycasterManager protected override void OnEnable() { base.OnEnable(); if (m_raycastMode != RaycastMode.DefaultRaycast) { SetLagacyRaycastMode(m_raycastMode); m_raycastMode = RaycastMode.DefaultRaycast; } if (lineRenderer) { lineRenderer.enabled = true; } InputModule.AddRaycaster(this); }
public void ChangeInputType(InputType type) { switch (type) { case InputType.KEYBOARD: input = new KeyboardInput(); break; case InputType.NONE: input = new NoInput(); input.shapeNum = myShapeNum; break; } }
public void EnableInputType(EInputType type, bool e) { InputModule module = inputModules[type]; module.Enable(e); if (e) { activeModules.Add(module); } else { activeModules.Remove(module); } }
private bool SendListMsg(InputModule input) { OutputModule rev = m_Modbus.SendMessage_Sync(input); if ((rev == null) || (rev.byFunction != input.byFunction)) { throw new Exception("发送消息队列 通信异常!"); } else { // log.AddERRORLOG("发送数据成功:" + input.byWriteData.ToString()); return(true); } }
//open the "change mapping" window and do all that (for axis keys) private void HandleAxisKeyRemappingStarted(string axisName, KBMInputAxisKeyType keyType, Button button) { string displayName = $"{Sub.Replace(axisName, "CFG_MAPPINGS")} {((keyType == KBMInputAxisKeyType.PrimaryPositive || keyType == KBMInputAxisKeyType.SecondaryPositive) ? Sub.Replace("+", "EXPLICITKBMINPUT") : Sub.Replace("-", "EXPLICITKBMINPUT"))}"; KeyCode oldKey = GetKeyForAxis(axisName, keyType); MappingModal.GetMapping(displayName, oldKey, (newKey) => { if (newKey.HasValue) { //Debug.Log(newKey); SetKeyOnAxis(newKey.Value, axisName, keyType); button.GetComponentInChildren <Text>().text = InputModule.GetNameForKeyCode(newKey.Value); } }); }
//open the "change mapping" window and do all that (for button keys) private void HandleButtonKeyRemappingStarted(string buttonName, KBMInputButtonKeyType keyType, Button button) { string displayName = Sub.Replace(buttonName, "CFG_MAPPINGS"); KeyCode oldKey = GetKeyForButton(buttonName, keyType); MappingModal.GetMapping(displayName, oldKey, (newKey) => { if (newKey.HasValue) { // Debug.Log(newKey); SetKeyOnButton(newKey.Value, buttonName, keyType); button.GetComponentInChildren <Text>().text = InputModule.GetNameForKeyCode(newKey.Value); } }); }
/// <summary> /// 修改单个线圈的值 /// </summary> /// <param name="coil">线圈</param> /// <param name="Press">是否按下 值【0:False;1:True】</param> internal void AddMsgList(Coil coil, bool Press) { if (coil.Value == Press) { return; //相等则不修改 } InputModule input = new InputModule(); input.byFunction = Modbus.byWRITE_SINGLE_COIL; input.nStartAddr = coil.Addr; input.nDataLength = Coil.Size; input.byWriteData = new byte[] { Press ? (byte)255 : (byte)0, 0x00 }; AddMsgList(input); }
public void PlaceStaticModules(List <StaticDeclarationBlock> staticDeclarations) { foreach (var staticDeclaration in staticDeclarations) { if (staticDeclaration is DropletDeclaration dropletDeclaration) { throw new NotImplementedException(); BoardFluid fluidType = RecordCompletlyNewFluidType(dropletDeclaration); Droplet droplet = (Droplet)dropletDeclaration.getAssociatedModule(); bool couldBePlaced = board.FastTemplatePlace(droplet); if (!couldBePlaced) { throw new RuntimeException("The input module couldn't be placed. The module is: " + droplet.ToString()); } //It is not really static, and thus must does not need to be registered as such. } else if (staticDeclaration is InputDeclaration input) { BoardFluid fluidType = RecordCompletlyNewFluidType(input); InputModule inputModule = new InputModule(fluidType, (int)input.Amount); bool couldBePlaced = board.FastTemplatePlace(inputModule); if (!couldBePlaced) { throw new RuntimeException("The input module couldn't be placed. The module is: " + inputModule.ToString()); } input.BoundModule = inputModule; inputModule.RepositionLayout(); StaticModules.Add(staticDeclaration.ModuleName, inputModule); NameOfInputFluids.Add(fluidType.FluidName); } else { Module staticModule = getAndPlaceFirstPlaceableModule(staticDeclaration, board); StaticModules.Add(staticDeclaration.ModuleName, staticModule); } } if (SHOULD_DO_GARBAGE_COLLECTION) { WasteModule waste = new WasteModule(); bool couldBePlaced = board.FastTemplatePlace(waste); if (!couldBePlaced) { throw new RuntimeException("The waste module couldn't be placed. The module is: " + waste.ToString()); } waste.GetInputLayout().Reposition(waste.Shape.x, waste.Shape.y); StaticModules.Add(WASTE_MODULE_NAME, waste); } }
private void Awake() { _animator = transform.GetComponent <Animator>(); _canvas = transform.GetComponent <CanvasGroup>(); _appStateBroker = AppStateBroker.Instance; _teamManager = TeamManager.Instance; _timWindow = BindTimeWindow(Lane); _inputModule = InputModule.Instance; OnClientAdded(Initialize).AddTo(gameObject); Off(); _playerData = BindPlayerData(Lane); OnTimeWindowClosed().AddTo(gameObject); }
private void Start() { rotationSpeedFraction = 1; InputModule = GetComponent <InputModule>(); StatsModule = GetComponent <StatsModule>(); if (StatsModule) { rotationSpeed = StatsModule.RotationSpeed; StatsModule.OnRotationSpeedChange += SetRotationSpeed; } AnimationEvents.OnLowRotationSpeedEvent += SetRotationSpeedFractionToLow; AnimationEvents.OnFullRotationSpeedEvent += SetRotationSpeedFractionToFull; AnimationEvents.OnZeroRotationSpeedEvent += SetRotationSpeedFractionToZero; }
protected override void InitOnceInfo() { base.InitOnceInfo(); DebugBtn.button.onClick.AddListener(OnDebugBtn); ClearDataBtn.button.onClick.AddListener(OnClearDataBtn); CampsiteClaimBtn.button.onClick.AddListener(CampsiteMgr.singleton.ClaimAllReward); ExpeditionBtn.button.onClick.AddListener(OnExpeditionBtnClick); m_ShowNode = GameObject.Find("SceneRoot"); m_ControllerNode = m_ShowNode.transform.Find("ControllerNode").gameObject; m_ControllerNode.SetActive(true); m_FightNode = m_ControllerNode.transform.Find("FightNode"); m_FightNode.gameObject.SetActive(true); m_MainCamera = Camera.main; Global.gApp.gGameAdapter.AdaptCamera(ref m_MainCamera); CampsiteObjectMgr.Instance.InitCampsiteObjects(m_FightNode.gameObject); var buildings = CampsiteObjectMgr.Instance.GetAllBuildings(); for (int i = 0; i < buildings.Length; i++) { var building = buildings[i]; var bubbleGo = Global.gApp.gResMgr.InstantiateObj("Prefabs/UI/CampsitePointBubble"); bubbleGo.transform.SetParent(CampsiteBubbleRoot.rectTransform, false); var bubble = bubbleGo.GetComponent <CampsitePointBubble>(); bubble.Init(building.PointDataIndex, building.BubbleNode); campsiteBubbles.Add(bubble); } double dt; double offlineReward; if (CampsiteMgr.singleton.CheckOfflineReward(out dt, out offlineReward)) { Global.gApp.gUiMgr.OpenPanel(Wndid.CampsiteOfflineRewardUI); } InputDataDeal_Single inputDeal = new InputDataDeal_Single(); inputDeal.funcOnTouchDown += CheckTouchDown; inputDeal.funcOnTouchUp += CheckClick; inputDeal.funcOnTouchDown += CheckCamCtrlValid; inputDeal.funcOnTouch += CheckCamCtrlValid; clickChecker = new InputModule(inputDeal); }
public override void Build() { var q = new GlobalQueueInner(); GlobalQueue.SetQueue(q); var db = new DbModuleCollection(); var net = new WriterNetModule(_connectionConfiguration, _connectionTimeoutConfiguration); var async = new AsyncTaskModule(_queueConfiguration); var restore = new AsyncDbWorkModule(net, async, db, _initiatorRestoreConfiguration, _transferRestoreConfiguration, _timeoutRestoreConfiguration, _queueConfigurationRestore, _local, _isNeedRestore); var distributor = new DistributorModule(async, restore, net, _local, _hashMapConfiguration, _queueConfiguration, db); Distributor = distributor; DbModule = db; var main = new MainLogicModule(distributor, db); var input = new InputModule(main, _queueConfiguration); var receiver = new NetWriterReceiver(input, distributor, _receiverConfigurationForWrite, _receiverConfigurationForCollector); AddModule(distributor); AddModule(input); AddModule(db); AddModule(async); AddModule(restore); AddModule(main); AddModule(receiver); AddModule(q); AddModuleDispose(receiver); AddModuleDispose(restore); AddModuleDispose(async); AddModuleDispose(q); AddModuleDispose(input); AddModuleDispose(main); AddModuleDispose(distributor); AddModuleDispose(db); AddModuleDispose(net); }
private void SetLocalPartyOnInputModule() { InputModule inputModule = UIEventSystem.inputModuleMain; if (inputModule != null) { inputModule.Clear(); tnLocalPartyModule localPartyModule = GameModulesManager.GetModuleMain <tnLocalPartyModule>(); if (localPartyModule != null) { for (int index = 0; index < localPartyModule.playersCount; ++index) { int playerId = localPartyModule.GetPlayerId(index); if (Hash.IsNullOrEmpty(playerId)) { continue; } tnPlayerData playerData = tnGameData.GetPlayerDataMain(playerId); if (playerData == null) { continue; } string playerInputName = playerData.playerInputName; string wifiPlayerInputName = playerData.wifiPlayerInputName; if (!StringUtils.IsNullOrEmpty(playerInputName)) { inputModule.AddPlayer(playerInputName); } else { if (!StringUtils.IsNullOrEmpty(wifiPlayerInputName)) { inputModule.AddWifiPlayer(wifiPlayerInputName); } } } } } }
private void Awake() { _inputModule = InputModule.Instance; if (!File.Exists(Application.persistentDataPath + "/Lane" + Lane + ".config")) { Config.PosX = Panel.anchoredPosition.x; Config.PosY = Panel.anchoredPosition.y; Config.ScaleX = Panel.localScale.x; Config.ScaleY = Panel.localScale.y; Config.Radius = 300f; Save(); } Config = Load(); posX.minValue = Panel.anchoredPosition.x - 500; posX.maxValue = Panel.anchoredPosition.x + 500; posY.minValue = Panel.anchoredPosition.y - 500; posY.maxValue = Panel.anchoredPosition.y + 500; RadiusSlider.maxValue = 500; RadiusSlider.value = Config.Radius; //if(PlotCollider)PlotCollider.MaxDistance = Config.Radius; //PlottingPoint.sizeDelta = new Vector2(Config.Radius,Config.Radius); posX.value = Config.PosX; posY.value = Config.PosY; scaleX.value = Config.ScaleX; scaleY.value = Config.ScaleY; _uipanel = Panel.GetComponent <CanvasGroup>(); _targetManager = TargetManager.Instance; Panel.anchoredPosition = new Vector2(Config.PosX, Config.PosY); Panel.localScale = new Vector3(Config.ScaleX, Config.ScaleY); //PlottingPoint.sizeDelta = new Vector2(Config.Radius,Config.Radius); DisableUi(); BindPlot2PLC(Lane).AddTo(gameObject); if (_targetManager.PlottingTestMode) { Init1(); } }
private void createAvatarController(InputModule module) { AvatarController controller = GameObject.Instantiate(avatarControllerPrefab); controller.inputModule = module; controller.transform.SetParent(avatarControllerParent); controller.color = playerColors[controllers.Count]; controller.character = GameController.instance.party.GetNextCharacter(); if (controller.character) { controller.characterMenu = UICharacterMenus.GetMenu(controller.character); controller.preferredCharacterId = controller.character.id; NeverdawnCamera.AddTargetLerped(controller.character.transform); } controllers.Add(controller); }
public void ReadCoil() { try { InputModule input = new InputModule(); input.bySlaveID = m_SlaveID; input.byFunction = Modbus.byREAD_COIL; input.nStartAddr = 0; input.nDataLength = 30; OutputModule rev = m_Modbus.SendMessage_Sync(input); int count = 0; for (; ;) { if (count > 3) { throw new Exception("通信异常,读取自动运行线圈失败!"); } if ((rev == null) || (rev.byFunction != input.byFunction)) { rev = m_Modbus.SendMessage_Sync(input); count++; Thread.Sleep(200); } else { break; } } int dataLength = rev.byRecvData[8];//读取到的数据长度 string binary = string.Empty; for (int i = 0; i < dataLength; i++) { int Decimal = rev.byRecvData[9 + i]; //已经为十进制 --数据开始位置为第9个 string temp = Convert.ToString(Decimal, 2).PadLeft(8, '0'); //十进制转二进制 binary += MyFunction.StrReverse(temp); } this.Coils.SetBitDatasValue(binary);//直接修改线圈的值 } catch (Exception ex) { log.AddERRORLOG("单次读取线圈失败:" + ex.Message); } }
/// <summary> /// 修改单个保持寄存器的值 /// </summary> /// <param name="register">保持寄存器</param> /// <param name="Value">修改的值(包含小数的值,将数值*100后写入)</param> internal void AddMsgList(HoldingRegister register, int Value) { InputModule input = new InputModule(); input.nStartAddr = register.Addr; input.nDataLength = register.Size; if (register.Size > 1) { input.byFunction = Modbus.byWRITE_MULTI_HOLDING_REG; input.byWriteData = ModbusTool.HostToNetOrder32(Value); } else { input.byFunction = Modbus.byWRITE_SINGLE_HOLDING_REG; input.byWriteData = ModbusTool.HostToNetOrder16((short)Value); } AddMsgList(input); }
/// <summary> /// 写入线圈 /// </summary> /// <param name="StartAdress">modbus地址</param> public void ModBusSend(string Function, int StartAdress) { try { if (GlobalVar.gl_Portcon != null) { byte writevalue = new byte(); writevalue = (byte)Convert.ToInt16(Function.Substring(1, Function.Length - 1), 2); InputModule input = new InputModule(); input.bySlaveID = 1; input.byFunction = GlobalVar.g_WriteMultiCoils; switch (Function.Substring(0, 1)) { case "S": input.nStartAddr = StartAdress; input.nDataLength = GlobalVar.gl_WordLength; input.byWriteData = new byte[] { writevalue }; GlobalVar.gl_Portcon.SendMessage_Sync(input); break; case "E": input.nStartAddr = StartAdress; input.nDataLength = GlobalVar.gl_WordLongLength; input.byWriteData = new byte[] { writevalue }; GlobalVar.gl_Portcon.SendMessage_Sync(input); break; default: myfunction.writelog("传入指令有误" + Function.ToString()); break; } } else { myfunction.writelog("写入异常,Modbus为空,未打开"); } } catch (Exception ex) { myfunction.writelog("写入地址" + StartAdress.ToString() + "异常," + ex.ToString()); } }
private void ProcessTeam(tnTeamDescription i_TeamDescription) { if (i_TeamDescription == null) { return; } InputModule inputModule = UIEventSystem.inputModuleMain; if (inputModule == null) { return; } for (int characterIndex = 0; characterIndex < i_TeamDescription.charactersCount; ++characterIndex) { tnCharacterDescription characterDescription = i_TeamDescription.GetCharacterDescription(characterIndex); if (characterDescription != null) { int playerId = characterDescription.playerId; tnPlayerData playerData = tnGameData.GetPlayerDataMain(playerId); if (playerData != null) { string playerInputName = playerData.playerInputName; string wifiPlayerInputName = playerData.wifiPlayerInputName; if (!StringUtils.IsNullOrEmpty(playerInputName)) { inputModule.AddPlayer(playerInputName); } else { if (!StringUtils.IsNullOrEmpty(wifiPlayerInputName)) { inputModule.AddWifiPlayer(wifiPlayerInputName); } } } } } }
private void Awake() { _appStateBroker = AppStateBroker.Instance; _appStateBroker.HikeStream.Subscribe(_ => Hike()).AddTo(gameObject); _inputModule = InputModule.Instance; var _PLCAddres = GameManager.DevMode_External? PLCAddress : Config.Read(CONFIG_KEYS.plcip).ToString(); plc = new Plc(cpu: CpuType.S71200, ip: _PLCAddres, rack: 0, slot: 1); ErrorCode errCode = plc.Open(); if (Verbose) { Debug.LogFormat("[{0}] initial status [{2}] => {1}", name, errCode, _PLCAddres); } var _DistanceFeet = GameManager.DevMode_External? DistanceFeet : float.Parse(Config.Read(CONFIG_KEYS.distance)); ErrorCode feet = PLCdata.SetDistance(plc, _DistanceFeet); if (Verbose) { Debug.LogFormat("[{0}] Setting feet to {2} => {1} feet", name, feet, _DistanceFeet); } ErrorCode duration = PLCdata.SetTTT(plc, TTTDuration); if (Verbose) { Debug.LogFormat("[{0}] Setting TTT to {2} => {1} secconds", name, duration, TTTDuration); } plc.Close(); Debug.Log("////////////////////////////////////"); Debug.LogFormat("[{0}] initial status [{2}] => {1}", name, errCode, _PLCAddres); Debug.Log("////////////////////////////////////"); //debug binding Observable.EveryUpdate() .Select(_ => GameManager.TargetObject_External) .DistinctUntilChanged() .Subscribe(_ => Verbose = (GameManager.TargetObject_External & TargetObject.PLCModule) == TargetObject.PLCModule) .AddTo(gameObject); }
private ToolExitCodes ExecuteToolMode(ToolMode toolMode, InputModule inputModule) { switch (toolMode) { case ToolMode.XmlSerializerGeneration: GenerateSerializer(inputModule); break; case ToolMode.DataContractImport: case ToolMode.ProxyGeneration: case ToolMode.ServiceContractGeneration: case ToolMode.DataContractExport: case ToolMode.Validate: case ToolMode.MetadataFromAssembly: case ToolMode.WSMetadataExchange: throw new System.ArgumentException(System.SR.ErrInvalidTarget); } return(ToolExitCodes.Success); }
// Use this for initialization void Start() { inputModule = avatarController.inputModule; selectionController.inputModule = avatarController.inputModule; for (int i = 0; i < abilities.Length; i++) { AbilityBase ability = abilities[i]; if (ability != null) { abilityButtons[i].SetIconSprite(ability.icon); abilityButtons[i].onClick.AddListener(() => castAbility(ability)); } abilityButtons[i].onSelect.AddListener(() => selectAbility(ability)); abilityButtons[i].onDeSelect.AddListener(() => selectAbility(null)); } }
internal ToolExitCodes Run() { if (!_options.NoLogo) { ToolConsole.WriteHeader(); } if (_options.GetToolMode() == ToolMode.DisplayHelp) { ToolConsole.WriteHelpText(); return(ToolExitCodes.Success); } else { InputModule inputModule = InputModule.LoadInputs(_options); Tool.Assert(_options.GetToolMode().HasValue, System.SR.Format(System.SR.AmbiguousToolUseage)); return(ExecuteToolMode(inputModule)); } }
void Start() { StatsModule = GetComponent <StatsModule>(); if (StatsModule) { speed = StatsModule.Speed; StatsModule.OnSpeedChange += SetSpeedTo; dodgeSpeed = StatsModule.DodgeSpeed; StatsModule.OnDodgeSpeedChange += SetDodgeSpeedTo; } Rigidbody = GetComponent <Rigidbody>(); InputModule = GetComponent <InputModule>(); InputModule.OnMouseButton2Pressed += DodgeButtonPressed; AnimationEvents.OnAddDodgeForceEvent += AddDodgeForce; AnimationEvents.OnLowSpeedEvent += SetSpeedFractionToLow; AnimationEvents.OnFullSpeedEvent += SetSpeedFractionToFull; AnimationEvents.OnZeroSpeedEvent += SetSpeedFractionToZero; }
/// <summary> /// 读取Modbus地址信息 /// </summary> /// <param name="StartAdress">地址</param> /// <returns></returns> public string ModbusRead(int StartAdress) { ReadMutex.WaitOne(); try { string str = string.Empty; InputModule input = new InputModule(); if (GlobalVar.gl_Portcon == null) { ReadMutex.ReleaseMutex(); myfunction.writelog("读取异常,Modbus为空,未打开"); return(""); } input.bySlaveID = 1; input.byFunction = GlobalVar.g_ReadCoil; input.nStartAddr = StartAdress; input.nDataLength = GlobalVar.gl_WordLength; OutputModule rev = GlobalVar.gl_Portcon.SendMessage_Sync(input); Thread.Sleep(100); if ((rev == null) || (rev.byFunction != input.byFunction)) { return(""); } else { if (rev.byFunction == 1) { str = rev.byRecvData[9].ToString(); } } ReadMutex.ReleaseMutex(); return(str); } catch (Exception ex) { myfunction.writelog("读取Modbus异常,Modbus地址:" + StartAdress.ToString() + "异常原因" + ex.ToString()); ReadMutex.ReleaseMutex(); return("Error"); } }
private bool CanProcess() { if (!IsConnected()) { MessageService.ShowError("Data Connection Error", "Data Output module input node is not connected with any other module"); return(false); } string prevModName = InputModule.DisplayName; var workFlow = InputModule.GetState(InputModule); var state = ((OutputNode)this.InputNode.Connector).State; var schema = ((OutputNode)this.InputNode.Connector).GetSchema(); if (state == null) { MessageService.ShowError("Data Connection Error", $"In Module {prevModName} passed invalid state object"); return(false); } return(true); }
public ConsoleExtend() { this.inputModule = new InputModule(); this.outputModlue = new OutputModule(); }
public void StartGame(int numPlayers, OnlineGame onlineGame) { isOnline = onlineGame != null; frameNumber = 0; Game.numPlayers = numPlayers; world.Generate(numPlayers); List<Player> playerObjects = world.GetPlayers(); for (int pnum = 0; pnum < numPlayers; ++pnum) { InputModule i; if (isOnline) { if (onlineGame.myPlayerNum == pnum) { // This forces the local player to accept input from p1 controls i = new InputModule(network, true, pnum); localPlayerInput = i; localPlayerNum = pnum; } else { i = new InputModule(network, false, pnum); } playerObjects[pnum].Setup(i, 0L, 0L, pnum, onlineGame.playerNames[pnum]); } else { i = new InputModule(network, true, pnum); playerObjects[pnum].Setup(i, 0L, 0L, pnum, string.Format("Player {0}", pnum)); OnlineNetwork.seed = new System.Random(); } players.Add(playerObjects[pnum]); inputModules.Add(i); } isPlaying = true; if (isOnline) { for (int i = 0; i < OnlineNetwork.bufferSize; ++i) { localPlayerInput.Advance(0); } } }