public void Publish_AsParallelTrue_GeneralSubscribersReceiveEvent( )
        {
            // Arrange
            int    n     = 0;
            object mutex = new object( );

            void F(object message)
            {
                lock ( mutex ) {
                    n++;
                }
            }

            EventsBroker publisher = new EventsBroker( );

            publisher.SubscribeToAll(F);
            publisher.SubscribeToAll(F);
            publisher.SubscribeToAll(F);
            publisher.SubscribeToAll(F);

            // Act
            publisher.Publish("hey!", asParallel: true);

            // Assert
            Assert.AreEqual(4, n);
        }
示例#2
0
 private void CalculatePoints()
 {
     EventsBroker.CallUpdateLeather(leather);
     EventsBroker.CallUpdateGuildPoints(guildPoints);
     EventsBroker.CallUpdateGold(gold);
     EventsBroker.CallUpdateSteel(steel);
 }
        private void UnsubscribeFromEvents()
        {
            EventsBroker.Unsubscribe <ProgressUpdatedEventArgs>(
                Events.Global.ModelLoadingProgressUpdated,
                GameModel_LoadingProgressUpdate);

            EventsBroker.Unsubscribe <EventArgs>(Events.Global.ModelLoadingFinished, GameModel_LoadingFinished);
        }
示例#4
0
 void Update()
 {
     EventsBroker.CallCheckTimer(this.gameObject, (int)timespan);
     timespan -= Time.deltaTime;
     if (timespan <= 0)
     {
         EventsBroker.CallArmorTimesUp(this.gameObject);
     }
 }
示例#5
0
 public void ValidateTimer(GameObject gameObject, int timer)
 {
     if (leftArmor.transform.position == gameObject.transform.position)
     {
         EventsBroker.CallUpdateUiLeftTimer(timer);
     }
     if (rightArmor.transform.position == gameObject.transform.position)
     {
         EventsBroker.CallUpdateUiRightTimer(timer);
     }
 }
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

            RaycastHit hit;

            if (Physics.Raycast(ray, out hit))
            {
                EventsBroker.CallReturnClick(hit.collider.gameObject);
            }
        }
    }
示例#7
0
    private bool CheckIfLost(int amount)
    {
        if ((gold - amount) <= 0)
        {
            SaveHighPointsToApi();
            EventsBroker.CallOnGameOver();
            Destroy(leftArmor.gameObject);
            Destroy(rightArmor.gameObject);

            Destroy(this.gameObject);

            return(true);
        }
        return(false);
    }
        private void SubscribeToEvent()
        {
            EventsBroker.Subscribe <PropertyChangedEventArgs <int> >(Events.Global.GoldPropertyChanged, Gold_PropertyChanged);

            EventsBroker.Subscribe <PropertyChangedEventArgs <int> >(Events.Global.CornPropertyChanged, Corn_PropertyChanged);

            EventsBroker.Subscribe <PropertyChangedEventArgs <int> >(Events.Global.GasPropertyChanged, Gas_PropertyChanged);

            EventsBroker.Subscribe <PropertyChangedEventArgs <int> >(
                Events.Global.CurrentLevelIndexPropertyChanged,
                CurrentLevelIndex_PropertyChanged);

            EventsBroker.Subscribe <PropertyChangedEventArgs <int> >(
                Events.Global.CurrentLevelDifficultyPropertyChanged,
                CurrentLevelDifficulty_PropertyChanged);
        }
        public void UnsubscribeFromEvents()
        {
            EventsBroker.Unsubscribe <PropertyChangedEventArgs <int> >(Events.Global.GoldPropertyChanged, Gold_PropertyChanged);

            EventsBroker.Unsubscribe <PropertyChangedEventArgs <int> >(Events.Global.CornPropertyChanged, Corn_PropertyChanged);

            EventsBroker.Unsubscribe <PropertyChangedEventArgs <int> >(Events.Global.GasPropertyChanged, Gas_PropertyChanged);

            EventsBroker.Unsubscribe <PropertyChangedEventArgs <int> >(
                Events.Global.CurrentLevelIndexPropertyChanged,
                CurrentLevelIndex_PropertyChanged);

            EventsBroker.Unsubscribe <PropertyChangedEventArgs <int> >(
                Events.Global.CurrentLevelDifficultyPropertyChanged,
                CurrentLevelDifficulty_PropertyChanged);
        }
        public void Publish_AsParallelFalse_GeneralSubscribersReceiveEvent( )
        {
            // Arrange
            int n = 0;

            void F(object message)
            {
                n++;
            }

            EventsBroker publisher = new EventsBroker( );

            publisher.SubscribeToAll(F);
            publisher.SubscribeToAll(F);
            publisher.SubscribeToAll(F);
            publisher.SubscribeToAll(F);

            // Act
            publisher.Publish("hey!");

            // Assert
            Assert.AreEqual(4, n);
        }
 public void OnClickedButton()
 {
     EventsBroker.CallCreateUser();
 }
示例#12
0
 private void PublishEvents()
 {
     EventsBroker.Publish <ProgressUpdatedEventArgs>(Events.Global.ModelLoadingProgressUpdated, ref LoadingProgressUpdated);
     EventsBroker.Publish <EventArgs>(Events.Global.ModelLoadingFinished, ref LoadingFinished);
 }
示例#13
0
 public void SetUp()
 {
     eventsBroker = new EventsBroker();
 }
示例#14
0
 private void SubscribeToEvent()
 {
     EventsBroker.Subscribe <PropertyChangedEventArgs <int> >(Events.Global.GoldPropertyChanged, Gold_PropertyChanged);
     EventsBroker.Subscribe <PropertyChangedEventArgs <int> >(Events.Global.CornPropertyChanged, Corn_PropertyChanged);
 }
示例#15
0
 protected virtual void RegisterEvents()
 {
     EventsBroker.Publish(String.Format("{0}_StateChanged", toggleName), ref StateChanged);
 }
示例#16
0
 protected virtual void RegisterEvents()
 {
     EventsBroker.Publish(String.Format("{0}_Touch", buttonName), ref Touch);
 }
 public void OnClickedButton()
 {
     EventsBroker.CallClickedBuySteelButton();
 }
 private void RegisterEvents()
 {
     EventsBroker.Subscribe <InputChangedEventArgs>(Events.Input.InputChanged, UserInput_InputChanged);
     EventsBroker.Subscribe <EventArgs>(Events.Input.NoInput, UserInput_NoInput);
 }
示例#19
0
 public void OnClickedButton()
 {
     EventsBroker.CallClickedForgeButton();
 }
 private void RegisterEvents()
 {
     EventsBroker.Publish(Events.Input.InputChanged, ref InputChanged);
     EventsBroker.Publish(Events.Input.NoInput, ref NoInput);
 }
 public void OnClickedButton()
 {
     EventsBroker.CallClickedBuyLeatherButton();
 }
示例#22
0
 public void Stop(EventsBroker eventsBtoker)
 {
     eventsBtoker.UnsubscribeAsync <ReturningValueEvent> (DoSomething);
 }