Пример #1
0
//	float currentWaveTime = 0;
//	float gameTime = 0;
//
//	void Update ()
//	{
//		currentWaveTime += Time.deltaTime;
//		gameTime += Time.deltaTime;
//	}
//
//	void OnWaveStart ()
//	{
//		currentWaveTime = 0f;
//	}
//
//	void OnGUI ()
//	{
//		GUILayout.TextField ("GameTime: " + gameTime.ToString ("F3"));
//		GUILayout.TextField ("WaveTime: " + currentWaveTime.ToString ("F2"));
//		GUILayout.TextField ("TimeLimit: " + GetCurrentWave().bonusTimeLimit.ToString ("F2"));
//	}
//
//	void CalculateBonusPoints ()
//	{
//		Debug.Log ("current Wave Time = " + currentWaveTime + ", bonus time limit = " + GetCurrentWave ().bonusTimeLimit);
//
//		float timeDiff = currentWaveTime - GetCurrentWave ().bonusTimeLimit;
//
//		if (timeDiff > 0f)
//		{
//			float scoreBonus = timeDiff * GetCurrentWave ().timeBonus;
//			DomainEventManager.TriggerGlobalEvent (EventNames.ScoredValue, scoreBonus);
//		}
//	}

    void OnPlayerTriggerWaveExit()
    {
        // player must not collid with anything No Bullet no Enemy...
        // remove all objects
        // set player back to 0,0,0 (PreInit)
        DomainEventManager.TriggerGlobalEvent(EventNames.PlayerInvincibleEnable);

//		CalculateBonusPoints ();

        // tell everyone wave completed
        audioSource.PlayOneShot(waveCompleteClip);
        DomainEventManager.TriggerGlobalEvent(EventNames.WaveComplete);


        // TODO show wave stats
        //

        // disable current wave
        DomainEventManager.TriggerGlobalEvent(EventNames.WaveDestroyCurrent);

        // TODO show wave stats
        //

        // count up
        CurrentWave++;                  // <-- trigger't NoMoreWaves left oder NextWaveExists



//		// tell everone next wave is coming
//		DomainEventManager.TriggerGlobalEvent (EventNames.WaveNext);
//		DomainEventManager.TriggerGlobalEvent (EventNames.WaveInit);
//		DomainEventManager.TriggerGlobalEvent (EventNames.WaveStart);
    }
    void TriggerOnScored()
    {
        DomainEventManager.TriggerGlobalEvent(EventNames.ScoredValue, this.scoreData.ScoreValue);

        if (onScored != null)
        {
            onScored(this.scoreData);
        }
    }
Пример #3
0
    void OnNextWaveExists()
    {
        // tell everone next wave is coming
        DomainEventManager.TriggerGlobalEvent(EventNames.WaveNext);                     // für scripts die selbst mitzählen
        DomainEventManager.TriggerGlobalEvent(EventNames.WavePreInit);                  // loading: pooling
        DomainEventManager.TriggerGlobalEvent(EventNames.WaveInit);                     // loading: pooling
        DomainEventManager.TriggerInitWave(GetCurrentWave());                           // loading: pooling

        Invoke("StartDelay", nextWaveStartDelay);                                       // delay muss eingebaut werden da aufbau der Welt sehr viel länger dauern kann als ein Frame.
    }
Пример #4
0
    UnityAction <float> onScoring;   // = new UnityAction<float> (OnScoring);

    void OnScoring(float scoreValue)
    {
        this.score.AddPoints(scoreValue);
        DomainEventManager.TriggerGlobalEvent(EventNames.ScoreUpdate, this.score.ScoreValue);

        if (0 <= (this.score.ScoreValue - pointsForExtraLive * extraLiveStep))
        {
            extraLiveStep++;
            DomainEventManager.TriggerGlobalEvent(EventNames.ExtraLifeGained);
            myAudioSource.PlayOneShot(extraLifeClip);
        }
    }
Пример #5
0
 void OnPlayerDied()
 {
     Lifes--;
     if (respawnPossible)
     {
         DomainEventManager.TriggerGlobalEvent(EventNames.PlayerWillRespawn);
     }
     else
     {
         DomainEventManager.TriggerGlobalEvent(EventNames.PlayerGameOver);
     }
 }
Пример #6
0
 void NotifySmartBombUI()
 {
     if (smartBombActivated)
     {
         if (smartBombsAmount > 0)
         {
             DomainEventManager.TriggerGlobalEvent(EventNames.SmartBombButtonEnabled);
         }
         else
         {
             DomainEventManager.TriggerGlobalEvent(EventNames.SmartBombButtonDisabled);
         }
     }
     else
     {
         DomainEventManager.TriggerGlobalEvent(EventNames.SmartBombButtonDisabled);
     }
 }
Пример #7
0
    void Trigger()
    {
        if (audioSource != null && smartBombTriggeredClip != null)
        {
            audioSource.PlayOneShot(smartBombTriggeredClip);
        }
        else
        {
            Debug.LogError(this.ToString() + " has no AudioSource / AudioClip!");
        }
        DomainEventManager.TriggerGlobalEvent(EventNames.SmartBombTriggered);
        DomainEventManager.TriggerGlobalEvent(EventNames.SmartBombButtonDisabled);

        Invoke("NotifySmartBombUI", minTriggerIntervall);

        // SmartBombManager.Instance.BombTriggered (); // singleton nötig ?
        SmartBombsAmount--;
        NotifySmartBombAmountListener();
    }
Пример #8
0
    void CalculateBonusPoints()
    {
        float currentBonusTimeLimit = CrystalQuestWaveManager.Instance.GetCurrentWave().bonusTimeLimit;
        float currentTimeBonus      = CrystalQuestWaveManager.Instance.GetCurrentWave().timeBonus;

        Debug.Log("current Wave Time = " + waveTime + ", bonus time limit = " + currentBonusTimeLimit);

        float timeDiff = currentBonusTimeLimit - waveTime;

        if (timeDiff > 0f)
        {
            float scoreBonus = timeDiff * currentTimeBonus;
            if (scoreBonus > 0f)
            {
                DomainEventManager.TriggerGlobalEvent(EventNames.ScoredValue, scoreBonus);
                DomainEventManager.TriggerGlobalEvent(EventNames.ScoredExtraBonus);
            }
            else
            {
                Debug.Log("kein negativer Bonus!");
            }
        }
    }
Пример #9
0
 public void NotifyPlayerWillRespawn()
 {
     DomainEventManager.TriggerGlobalEvent(EventNames.PlayerWillRespawn);
 }
Пример #10
0
 public void NotifyPlayerIsGameOver()
 {
     DomainEventManager.TriggerGlobalEvent(EventNames.PlayerGameOver);
 }
Пример #11
0
 public void TriggerCollected()
 {
     DomainEventManager.TriggerGlobalEvent(EventNames.SmartBombCollected);
 }
Пример #12
0
 void Start()
 {
     DomainEventManager.TriggerGlobalEvent(EventNames.WaveInit);
     DomainEventManager.TriggerInitWave(GetCurrentWave());
     DomainEventManager.TriggerGlobalEvent(EventNames.WaveStart);
 }
Пример #13
0
 void OnPlayerDied()
 {
     DomainEventManager.TriggerGlobalEvent(EventNames.WaveFailed);
 }
Пример #14
0
//	void OnPlayerRespawned ()
//	{
//		DomainEventManager.TriggerGlobalEvent (EventNames.WaveStart);
//	}

    void OnAllCrystallsCollected()
    {
        DomainEventManager.TriggerGlobalEvent(EventNames.WaveTaskCompleted);
    }
Пример #15
0
//	void OnDisable ()
//	{
//		DomainEventManager.StopGlobalListening (EventNames.PlayerDied, OnPlayerDied);
//	}

    void OnPlayerWillRespawn()
    {
        DomainEventManager.TriggerGlobalEvent(EventNames.WaveRetry);
        DomainEventManager.TriggerGlobalEvent(EventNames.WaveStart);
    }
Пример #16
0
 void NotifyAllCrystalsCollectedListener()
 {
     PlayerClip(allCrystalCollectedClip);
     DomainEventManager.TriggerGlobalEvent(EventNames.AllCrystalsCollected);
 }
Пример #17
0
 void NotifySmartBombAmountListener()
 {
     DomainEventManager.TriggerGlobalEvent(EventNames.SmartBombAmount, smartBombsAmount);
 }
Пример #18
0
 public void NotifyPlayerRespawned()
 {
     DomainEventManager.TriggerGlobalEvent(EventNames.PlayerRespawned);
 }
Пример #19
0
 void OnNoMoreWaves()
 {
     DomainEventManager.TriggerGlobalEvent(EventNames.AllWavesCompleted);
 }
 public void NotifyPlayerExitReachedListener()
 {
     DomainEventManager.TriggerGlobalEvent(EventNames.PortalReached);
 }
Пример #21
0
 void StartDelay()
 {
     DomainEventManager.TriggerGlobalEvent(EventNames.WaveStart);
 }
Пример #22
0
 void TriggerAllCrystalsCollected()
 {
     DomainEventManager.TriggerGlobalEvent(EventNames.AllCrystalsCollected);
 }
Пример #23
0
//	void OnEnable ()
//	{
    //		SmartBombManager.onSmartBombing += SmartBombTriggered;
//		DomainEventManager.StartGlobalListening (EventNames.CrystalsCollected, OnLevelCompleted);
//	}

//	void OnDisable ()
//	{
    //		SmartBombManager.onSmartBombing -= SmartBombTriggered;
//		DomainEventManager.StopGlobalListening (EventNames.CrystalsCollected, OnLevelCompleted);
//	}

//	[SerializeField]
//	public static MyEvent collected;

    public void TriggerCollected()
    {
        DomainEventManager.TriggerGlobalEvent(EventNames.CrystalCollected);
    }