public void SomeMethod()
 {
     var someBool   = new EventArgTemplate <bool>(false);
     var someString = new EventArgTemplate <string>("");
     var someInt    = new EventArgTemplate <int>(0);
     var someFloat  = new EventArgTemplate <float>(0.0f);
 }
    private void OnNewLevelSelected(object sender, EventArgTemplate <LevelController> levelController)
    {
        currentLevel = levelController.Attachment;

        AssignAllListeners();
        UpdateAll();
    }
Exemple #3
0
 protected virtual void HandleCompletion(bool success)
 {
     if (WaveCompleted != null)
     {
         var completion = new EventArgTemplate <bool>(success);
         WaveCompleted.Invoke(this, completion);
     }
 }
 public static void SafelyBroadcastEvent <T>(ref EventHandler <EventArgTemplate <T> > eventToBroadcast, T dataToAttach, object sender)
 {
     if (eventToBroadcast != null)
     {
         var attachment = new EventArgTemplate <T>(dataToAttach);
         eventToBroadcast.Invoke(sender, attachment);
     }
 }
Exemple #5
0
    private void OnTowerPurchased(object sender, EventArgTemplate <TowerConfiguration> purchasedTower)
    {
        if (placedTower != null)
        {
            Destroy(placedTower);
        }
        var prefab = purchasedTower.Attachment.TowerPrefab;

        placedTower = Instantiate(prefab);
        placedTower.transform.parent        = transform;
        placedTower.transform.localPosition = new Vector2(0, 0);
        OnCloseRequested();
    }
 private void NextWave(object sender, EventArgTemplate <bool> success)
 {
     if (success.Attachment)
     {
         waves[CurrentWaveIndex].WaveCompleted -= NextWave;
         currentWaveIndex++;
         if (currentWaveIndex >= waves.Count)
         {
             SafeEventHandler.SafelyBroadcastAction(ref WavesCompleted);
         }
         else
         {
             InitCurrentWave();
         }
     }
 }
Exemple #7
0
 private void OnTargetAcquired(object sender, EventArgTemplate <GameObject> target)
 {
     damagingBehaviour.StartTargeting(target.Attachment);
     damagingBehaviour.StartAttacking(true);
 }
Exemple #8
0
 private void OnTowerPurchased(object sender, EventArgTemplate <TowerConfiguration> purchasedTower)
 {
     SafeEventHandler.SafelyBroadcastEvent <TowerConfiguration>(ref PurchasedTower, purchasedTower.Attachment, this);
 }
 private void OnLevelCompleted(object sender, EventArgTemplate <bool> success)
 {
     CurrentState = success.Attachment ? State.GameWon : State.GameLost;
     SafeEventHandler.SafelyBroadcastEvent(ref GameFinished, success.Attachment, this);
 }