コード例 #1
0
ファイル: NetcodeIOAdapter.cs プロジェクト: ketura/XGEF
        public virtual void SendMessage(XEventArgs data)
        {
            data.OriginatorID = ID;
            var packet = new NetcodeMetadataPacket(data);

            SendRawData(packet.ConsolidateBytes());
        }
コード例 #2
0
ファイル: TowerUI.cs プロジェクト: moto2002/DefenseGame
 public void OnCurrencyChanged(XEventArgs args)
 {
     if (myTower != null && upgradeButton != null)
     {
         upgradeButton.interactable =
             BattleField.instance.currency.CanAfford(myTower.GetCostForNextLevel());
     }
 }
コード例 #3
0
ファイル: AirStrike.cs プロジェクト: moto2002/DefenseGame
 /// <summary>
 /// User UI click handler.
 /// </summary>
 /// <param name="obj">Object.</param>
 /// <param name="param">Parameter.</param>
 private void UserUiClick(XEventArgs args)
 {
     // If clicked on UI instead game map
     if (myState == MyState.WaitForClick)
     {
         Destroy(gameObject);
     }
 }
コード例 #4
0
    private void OnCloseUpEnd(XEventArgs e)
    {
        XCameraActionEvent arg = new XCameraActionEvent();

        arg.To_Rot_X = _pre_x;
        arg.To_Rot_Y = _pre_y;
        XEventMgr.singleton.FireEvent(arg);
    }
コード例 #5
0
    private void OnCameraAction(XEventArgs e)
    {
        XCameraActionEvent ev = e as XCameraActionEvent;

        _manual_x = _camera.Root_R_X;
        _manual_y = _camera.Root_R_Y;
        _tx       = ev.To_Rot_X;
        _ty       = ev.To_Rot_Y;
        _auto     = false;
    }
コード例 #6
0
 private void SpawningEnemies(XEventArgs args)
 {
     foreach (int towerId in GameData.gameInfo.towersInfo)
     {
         TargetSpawnButton button = Instantiate(towerSpawnButton, transform);
         button.InitializeButton(towerId);
         button.buttonTapped += OnButtonTapped;
         button.draggedOff   += OnButtonDraggedOff;
     }
 }
コード例 #7
0
 private void OnDetachHost(XEventArgs e)
 {
     for (EPartType part = EPartType.ECombinePartStart; part < EPartType.EMountEnd; ++part)
     {
         var p = parts[(int)part];
         if (p != null)
         {
             p.Reset();
         }
     }
 }
コード例 #8
0
    /// <summary>
    /// Action start handler.
    /// </summary>
    /// <param name="obj">Object.</param>
    /// <param name="param">Parameter.</param>
    private void ActionStart(XEventArgs args)
    {
        GameObject obj = args.GetData <GameObject>();

        if (obj == activeUserAction)
        {
            activeUserAction = null;
            highlightIcon.SetActive(false);
            StartCooldown();
        }
    }
コード例 #9
0
    /// <summary>
    /// Actions cancel handler.
    /// </summary>
    /// <param name="obj">Object.</param>
    /// <param name="param">Parameter.</param>
    private void ActionCancel(XEventArgs args)
    {
        GameObject obj = args.GetData <GameObject>();

        if (obj == activeUserAction)
        {
            activeUserAction = null;
            highlightIcon.SetActive(false);
            myState = MyState.Active;
        }
    }
コード例 #10
0
            public void Buy(object sender, EventArgs e)
            {
                Phone phone = (Phone)sender;

                Console.WriteLine($"this is {phone.Name}");
                XEventArgs xEventArgs = (XEventArgs)e;

                Console.WriteLine($"之前的价格{xEventArgs.OldPrice}");
                Console.WriteLine($"现在的价格{xEventArgs.NewPrice}");
                Console.WriteLine("买下来");
            }
コード例 #11
0
            public void Popularize(object sender, EventArgs e)
            {
                Lesson lesson = (Lesson)sender;

                Console.WriteLine($"This is {lesson.Name} Lesson");

                XEventArgs args = (XEventArgs)e;

                Console.WriteLine($"之前价格{args.OldPrice}");
                Console.WriteLine($"现在价格{args.NewPrice}");
                Console.WriteLine("广大用户请留意!!!");
            }
コード例 #12
0
 private void OnGestureCancel(XEventArgs e)
 {
     if (XGesture.singleton.Working)
     {
         _manual_x = _camera.Root_R_X;
         _manual_y = _camera.Root_R_Y;
         int scale = 1 << 5;
         _ty   = _manual_y + _tx * scale;
         _tx   = _manual_x;
         _auto = false;
     }
 }
コード例 #13
0
ファイル: WavesTimer.cs プロジェクト: moto2002/DefenseGame
    void OnWaveChanged(XEventArgs args)
    {
        int waveNumber     = args.GetData <int>(0);
        int timeToNextWave = args.GetData <int>(1);
        int wavesCount     = args.GetData <int>(2);

        currentWaveText.text   = waveNumber.ToString();
        currentWaveFinishTime  = timeToNextWave;
        maxWaveNumberText.text = wavesCount.ToString();
        isStartWave            = true;

        StartCoroutine("HighlightTimer");
    }
コード例 #14
0
 private void Captured(XEventArgs args)
 {
     if (beforeLooseCounter > 0)
     {
         beforeLooseCounter--;
         SetDefeatAttempts(beforeLooseCounter);
         if (beforeLooseCounter <= 0)
         {
             XEventBus.Instance.Post(EventId.GameResult, new XEventArgs(LevelState.Lose));
             GoToDefeatMenu();
         }
     }
 }
コード例 #15
0
 /// <summary>
 /// Enemy reached capture point.
 /// </summary>
 /// <param name="obj">Object.</param>
 /// <param name="param">Parameter.</param>
 private void Captured(XEventArgs args)
 {
     if (beforeLooseCounter > 0)
     {
         beforeLooseCounter--;
         uiManager.SetDefeatAttempts(beforeLooseCounter);
         if (beforeLooseCounter <= 0)
         {
             ChangeLevelState(LevelState.Lose);
             uiManager.GoToDefeatMenu();
         }
     }
 }
コード例 #16
0
        private void MapIcon_MouseTooltip(Object sender, XEventArgs <Boolean> e)
        {
            WorldMapIcon worldMapIcon = (WorldMapIcon)sender;

            if (e.Value)
            {
                TooltipManager.Instance.Show(this, LocaManager.GetText(worldMapIcon.Data.StaticData.NameKey), m_UserMapNoteController.GetUserMapNoteText(Input.mousePosition), worldMapIcon.transform.position, new Vector3(24f, 24f, 0f));
            }
            else
            {
                TooltipManager.Instance.Hide(this);
            }
        }
コード例 #17
0
ファイル: BuildingTower.cs プロジェクト: moto2002/DefenseGame
    /// <summary>
    /// Disable tower raycast and close building tree on game pause.
    /// </summary>
    /// <param name="obj">Object.</param>
    /// <param name="param">Parameter.</param>
    private void GamePaused(XEventArgs args)
    {
        string param = args.GetData <string>(1);

        if (param == bool.TrueString) // Paused
        {
            CloseBuildingTree();
            bodyCollider.enabled = false;
        }
        else // Unpaused
        {
            bodyCollider.enabled = true;
        }
    }
コード例 #18
0
ファイル: ShowInfo.cs プロジェクト: moto2002/DefenseGame
    /// <summary>
    /// User click handler.
    /// </summary>
    /// <param name="obj">Object.</param>
    /// <param name="param">Parameter.</param>
    private void UserClick(XEventArgs args)
    {
        GameObject obj = args.GetData <GameObject>();

        HideUnitInfo();
        if (obj != null)
        {
            // Cliced object has info for displaing
            UnitInfo unitInfo = obj.GetComponent <UnitInfo>();
            if (unitInfo != null)
            {
                ShowUnitInfo(unitInfo);
            }
        }
    }
コード例 #19
0
    private void GameResult(XEventArgs args)
    {
        LevelState levelState = args.GetData <LevelState>(0);

        switch (levelState)
        {
        case LevelState.Win:
            GoToVictoryMenu();
            break;

        case LevelState.Lose:
            GoToDefeatMenu();
            break;
        }
    }
コード例 #20
0
ファイル: XAIComponent.cs プロジェクト: xfilson/dn_asset
    private void OnEndSkill(XEventArgs e)
    {
        XAIEndSkillEventArgs skillarg = e as XAIEndSkillEventArgs;

        if (skillarg.IsCaster)
        {
            _is_casting_skill = false;
            _cast_skillid     = 0;
            _is_hurt_oppo     = false;
        }
        else  // 别人放技能
        {
            _is_oppo_casting_skill = false;
        }
    }
コード例 #21
0
    private void OnCloseUp(XEventArgs e)
    {
        XDebug.Log(_camera.CameraTrans);

        XCameraCloseUpEvent ev     = e as XCameraCloseUpEvent;
        XEntity             target = ev.Target;

        _pre_x = _camera.Root_R_X;
        _pre_y = _camera.Root_R_Y;

        Vector3            base_v = XCommon.singleton.Horizontal(target.Position - XEntityMgr.singleton.Player.Position);
        Vector3            rot_v  = XCommon.singleton.HorizontalRotateVetor3(base_v, -45);
        XCameraActionEvent arg    = new XCameraActionEvent();

        arg.To_Rot_X = _camera.Root_R_X;
        arg.To_Rot_Y = rot_v.y;
        XEventMgr.singleton.FireEvent(arg);
    }
コード例 #22
0
    /// <summary>
    /// User UI click handler.
    /// </summary>
    /// <param name="obj">Object.</param>
    /// <param name="param">Parameter.</param>
    private void UserUiClick(XEventArgs args)
    {
        GameObject obj = args.GetData <GameObject>();

        if (obj == gameObject)  // Clicked on this icon
        {
            if (myState == MyState.Active)
            {
                highlightIcon.SetActive(true);
                activeUserAction = Instantiate(userActionPrefab);
                myState          = MyState.Highligted;
            }
        }
        else if (myState == MyState.Highligted)         // Clicked on other UI
        {
            highlightIcon.SetActive(false);
            myState = MyState.Active;
        }
    }
コード例 #23
0
ファイル: XAIComponent.cs プロジェクト: xfilson/dn_asset
    private void OnStartSkill(XEventArgs e)
    {
        XAIStartSkillEventArgs skillarg = e as XAIStartSkillEventArgs;

        if (skillarg.IsCaster)//自己放技能
        {
            _is_hurt_oppo     = false;
            _is_casting_skill = true;
            _cast_skillid     = skillarg.SkillId;
            if (_tree != null)
            {
                _tree.SetVariable(AITreeArg.SkillID, (int)_cast_skillid);
            }
        }
        else  // 别人放技能
        {
            _is_oppo_casting_skill = true;
        }
    }
コード例 #24
0
ファイル: CoreNetworkSystem.cs プロジェクト: ketura/XGEF
 public void SendMessage(XEventArgs data)
 {
     if (IsServer)
     {
         if (ModSystem.ServerAdapter.ConnectedClients.Any())
         {
             Manager.Debug($"Server sending packet {data.EventID}: {data.EventName}.");
             ModSystem.ServerAdapter.SendMessage(data);
         }
     }
     else
     {
         if (ModSystem.ClientAdapter.CurrentStatus == ConnectionStatus.Connected)
         {
             Manager.Debug($"Client sending packet {data.EventID}: {data.EventName}.");
             ModSystem.ClientAdapter.SendMessage(data);
         }
     }
 }
コード例 #25
0
ファイル: BuildingTower.cs プロジェクト: moto2002/DefenseGame
    /// <summary>
    /// On user click.
    /// </summary>
    /// <param name="obj">Object.</param>
    /// <param name="param">Parameter.</param>
    private void UserClick(XEventArgs args)
    {
        GameObject obj = args.GetData <GameObject>();

        if (obj == gameObject) // This tower is clicked
        {
            // Show attack range
            ShowRange(true);

            // Open building tree if it is not
            OpenBuildingTree();
        }
        else // Other click
        {
            // Hide attack range
            ShowRange(false);
            // Close active building tree
            CloseBuildingTree();
        }
    }
コード例 #26
0
        public void HandleEvent(XEventArgs args, IXExecutionContextHandler context)
        {
            // Инициализируем подсистему безопасности
            SecurityProvider provider = new SecurityProvider(XFactory.Instance.StorageController["ROConnection"]);

            XSecurityManager.Instance.SecurityProvider = provider;

            // Инициализируем подсистему иерархий
            XTreeController.Initialize(context.Connection.MetadataManager);

            // Инициализируем подсистему application-триггеров
            // Примечание: обращение к классу вызовет срабатывание статического конструктора, в котором инициализируется подсистема
            object o = XTriggersController.Instance;

            // Инициализируем объект для хранения настроек приложения
            ApplicationSettingsInitializationParams initParam = new ApplicationSettingsInitializationParams();
            //	: Дата периода блокирования списаний
            object vValue = context.Connection.CreateCommand("SELECT Max(BlockDate) FROM TimeSpentBlockPeriod").ExecuteScalar();

            if (vValue != null && vValue != DBNull.Value)
            {
                initParam.GlobalBlockPeriodDate = (DateTime)vValue;
            }

            ApplicationSettings.Initialize(initParam);

            // получаем имя конфига для проверки наличия объектов в БД
            string sFileName     = context.Config.SelectNodeTextValue("dbc:dbcheck/dbc:config-file");
            string sFullFileName = Path.Combine(context.Config.BaseConfigPath, sFileName);

            // проверяем наличие объектов в БД
            //DbCheckResult dbcResult = DbCheckFacade.Check(context.Connection, sFullFileName);
            //if (!dbcResult.Success)
            {
                //	throw new ApplicationException(dbcResult.ErrorsText);
            }
            // запускаем планировщик заданий
            JobsSheduler.Run();
            // запускаем команду рассылки
            //context.ExecCommandAsync(new XRequest("SendNotificationsAsync"),false);
        }
コード例 #27
0
ファイル: NetcodeMetadataPacket.cs プロジェクト: ketura/XGEF
 public NetcodeMetadataPacket(XEventArgs args)
 {
     if (args == null)
     {
         MetadataDefined = false;
         OriginatorID    = 0;
         EventID         = -1;
         EventNameLength = 0;
         EventName       = "";
         Payload         = new byte[0];
     }
     else
     {
         MetadataDefined = true;
         OriginatorID    = args.OriginatorID;
         EventID         = args.EventID;
         EventNameLength = (byte)Encoding.UTF8.GetByteCount(args.EventName);
         EventName       = args.EventName;
         Payload         = args.SerializeToBitstream();
     }
 }
コード例 #28
0
ファイル: XEventMgr.cs プロジェクト: xfilson/dn_asset
 public bool FireEvent(XEventArgs args)
 {
     if (pool != null)
     {
         if (pool.ContainsKey(args.ArgsDefine))
         {
             var objs = pool[args.ArgsDefine];
             var e    = objs.GetEnumerator();
             while (e.MoveNext())
             {
                 e.Current.DispatchEvent(args);
             }
             if (!args.ManualRecycle)
             {
                 args.Recycle();
             }
             return(true);
         }
     }
     return(false);
 }
コード例 #29
0
ファイル: AirStrike.cs プロジェクト: moto2002/DefenseGame
    /// <summary>
    /// User click handler.
    /// </summary>
    /// <param name="obj">Object.</param>
    /// <param name="param">Parameter.</param>
    private void UserClick(XEventArgs args)
    {
        GameObject obj = args.GetData <GameObject>();

        if (myState == MyState.WaitForClick)
        {
            // If clicked not on tower
            if (obj == null || obj.CompareTag("Tower") == false)
            {
                // Create FX
                transform.position = (Vector2)Camera.main.ScreenToWorldPoint(Input.mousePosition);
                GameObject effect = Instantiate(effectPrefab, transform.position, Quaternion.identity);
                Destroy(effect, effectDuration);
                XEventBus.Instance.Post(EventId.ActionStart, new XEventArgs(gameObject));
                // Start damege coroutine
                StartCoroutine(DamageCoroutine());
                myState = MyState.WaitForFX;
            }
            else             // Clicked on tower
            {
                Destroy(gameObject);
            }
        }
    }
コード例 #30
0
 public virtual bool DispatchEvent(XEventArgs e)
 {
     if (!Deprecated && _eventMap != null)
     {
         if (_eventMap.ContainsKey(e.ArgsDefine))
         {
             var etor = _eventMap.GetEnumerator();
             while (etor.MoveNext())
             {
                 EventHandler eh = etor.Current.Value;
                 if (eh.eventDefine == e.ArgsDefine)
                 {
                     XEventHandler func = eh.handler;
                     if (func != null)
                     {
                         func(e);
                     }
                     return(true);
                 }
             }
         }
     }
     return(false);
 }
コード例 #31
0
 private void NameChanged(object Sender, XEventArgs e)
 {
     MessageBox.Show(" Name Changed");
 }