Inheritance: AbstractInputModule
示例#1
0
    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);
    }
示例#2
0
    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);
                    }
                }
            }
        }
    }
示例#3
0
        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);
            }
        }
示例#4
0
    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);
        }
示例#6
0
 // 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);
 }
示例#7
0
    public void ChangeInputType(InputType type)
    {
        switch (type)
        {
        case InputType.KEYBOARD:
            input = new KeyboardInput();
            break;

        case InputType.NONE:
            input          = new NoInput();
            input.shapeNum = myShapeNum;
            break;
        }
    }
示例#8
0
    public void EnableInputType(EInputType type, bool e)
    {
        InputModule module = inputModules[type];

        module.Enable(e);
        if (e)
        {
            activeModules.Add(module);
        }
        else
        {
            activeModules.Remove(module);
        }
    }
示例#9
0
        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);
            }
        }
示例#10
0
        //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);
                }
            });
        }
示例#11
0
        //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);
                }
            });
        }
示例#12
0
        /// <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);
        }
示例#13
0
 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);
     }
 }
示例#14
0
    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);
    }
示例#15
0
    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;
    }
示例#16
0
        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);
        }
示例#17
0
        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);
        }
示例#18
0
    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);
                        }
                    }
                }
            }
        }
    }
示例#19
0
    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();
        }
    }
示例#20
0
    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);
    }
示例#21
0
 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);
     }
 }
示例#22
0
        /// <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);
        }
示例#23
0
        /// <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);
                            }
                        }
                    }
                }
            }
        }
示例#25
0
    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);
    }
示例#26
0
        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));
        }
    }
示例#28
0
        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));
            }
        }
示例#29
0
    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;
    }
示例#30
0
 /// <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");
     }
 }
示例#31
0
        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();
 }
示例#33
0
    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);
            }
        }
    }