Ejemplo n.º 1
0
    void ExposedTriggerExit(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e)
    {
        GameObject element = e.gameObject;

        if (element != null)
        {
            // Remove the element
            List <GameObject> elementList;
            if (!this.elementListForTriggerDictionary.TryGetValue(sender, out elementList))
            {
                this.elementListForTriggerDictionary.Add(sender, elementList = new List <GameObject>());
            }

            elementList.Remove(element);

            // If the element exited a trigger
            // this means they are not in all of the triggers
            // so they exited the complex trigger
            // But they could of already exited a trigger so we don't want to double exit
            bool wasRemoved = triggerInstanceList.Remove(element);
            if (wasRemoved)
            {
                ThisTriggerExit(this, new ExposedTrigger.TriggerActivityEventArgs(element));
            }
        }
    }
Ejemplo n.º 2
0
    void ExposedTriggerEnter(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e)
    {
        GameObject element = e.gameObject;
        if(element != null)
        {

            // Add elements
            List<GameObject> elementList;
            if (!this.elementListForTriggerDictionary.TryGetValue(sender, out elementList))
                this.elementListForTriggerDictionary.Add(sender, elementList = new List<GameObject>());

            // Add it to the list only if it doesn't exist already
            // This is just a safety, as it should get removed before triggered again
            if(!elementList.Contains(element))
            {
                elementList.Add(element);

                // Since this is a additive trigger
                // Any enter triggers a enter.
                // But we want to make sure to only send one enter if already in this additive trigger
                if(!triggerInstanceList.Contains(element))
                {
                    triggerInstanceList.Add(element);
                    ThisTriggerEnter(this, new ExposedTrigger.TriggerActivityEventArgs(element));
                }
            }
        }
    }
Ejemplo n.º 3
0
    void TerritoryExit(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e)
    {
        Player player = e.gameObject.GetComponent <Player>();

        if (player != null)
        {
            // Remove the element
            List <Player> playerList;
            if (!this.playersCapturing.TryGetValue(player.PlayerTeam, out playerList))
            {
                this.playersCapturing.Add(player.PlayerTeam, playerList = new List <Player>());
            }

            playerList.Remove(player);
            this.CheckIfPlayerIsCapturing();             // Something changed so maybe someone is capturing
        }

        // Fire our own event from this script
        TerritoryData tData = new TerritoryData();

        tData.Progress    = this.CaptureProgress;
        tData.Color       = new ColorData(this.LockedCaptureState ? this.LockedCaptureState.ThisTeamToColor() : Player.TeamToColor(Player.Team.None)).ToDictionary();
        tData.LockedColor = new ColorData(this.LockedCaptureState ? this.LockedCaptureState.ThisTeamToColor() : Player.TeamToColor(Player.Team.None)).ToDictionary();
        tData.TempColor   = new ColorData(this.tempCaptureState ? this.tempCaptureState.ThisTeamToColor() : Player.TeamToColor(Player.Team.None)).ToDictionary();
        this.OnTerritoryExited(this, new TerritoryActivityEventArgs(player, tData));
    }
Ejemplo n.º 4
0
    void ExposedTriggerEnter(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e)
    {
        GameObject element = e.gameObject;

        if (element != null)
        {
            // Add elements
            List <GameObject> elementList;
            if (!this.elementListForTriggerDictionary.TryGetValue(sender, out elementList))
            {
                this.elementListForTriggerDictionary.Add(sender, elementList = new List <GameObject>());
            }

            // Add it to the list only if it doesn't exist already
            // This is just a safety, as it should get removed before triggered again
            if (!elementList.Contains(element))
            {
                elementList.Add(element);

                // Since this is a additive trigger
                // Any enter triggers a enter.
                // But we want to make sure to only send one enter if already in this additive trigger
                if (!triggerInstanceList.Contains(element))
                {
                    triggerInstanceList.Add(element);
                    ThisTriggerEnter(this, new ExposedTrigger.TriggerActivityEventArgs(element));
                }
            }
        }
    }
Ejemplo n.º 5
0
    void ExposedTriggerEnter(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e)
    {
        GameObject element = e.gameObject;

        if (element != null)
        {
            // Add elements
            List <GameObject> elementList;
            if (!this.elementListForTriggerDictionary.TryGetValue(sender, out elementList))
            {
                this.elementListForTriggerDictionary.Add(sender, elementList = new List <GameObject>());
            }

            // Add it to the list only if it doesn't exist already
            // This is just a safety, as it should get removed before triggered again
            if (!elementList.Contains(element))
            {
                elementList.Add(element);

                // Check if we entered all of the triggers
                if (this.CheckIfElementInComplexTrigger(element))
                {
                    if (!triggerInstanceList.Contains(element))
                    {
                        triggerInstanceList.Add(element);
                    }
                    ThisTriggerEnter(this, new ExposedTrigger.TriggerActivityEventArgs(element));
                }
            }
        }
    }
Ejemplo n.º 6
0
    void ExposedTriggerEnter(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e)
    {
        GameObject element = e.gameObject;
        if(element != null)
        {

            // Add elements
            List<GameObject> elementList;
            if (!this.elementListForTriggerDictionary.TryGetValue(sender, out elementList))
                this.elementListForTriggerDictionary.Add(sender, elementList = new List<GameObject>());

            // Add it to the list only if it doesn't exist already
            // This is just a safety, as it should get removed before triggered again
            if(!elementList.Contains(element))
            {
                elementList.Add(element);

                // Check if we entered all of the triggers
                if(this.CheckIfElementInComplexTrigger(element))
                {
                    if(!triggerInstanceList.Contains(element))
                        triggerInstanceList.Add(element);
                    ThisTriggerEnter(this, new ExposedTrigger.TriggerActivityEventArgs(element));
                }
            }
        }
    }
Ejemplo n.º 7
0
	// Use this to trigger the event
	protected virtual void ThisTriggerExit(ExposedTrigger sender, TriggerActivityEventArgs e)
	{
		ThisTriggerExitEventHandler handler = OnThisTriggerExit;
		if(handler != null)
		{
			handler(sender, e);
		}
	}
Ejemplo n.º 8
0
    // Use this to trigger the event
    protected virtual void ThisTriggerExit(ExposedTrigger sender, TriggerActivityEventArgs e)
    {
        ThisTriggerExitEventHandler handler = OnThisTriggerExit;

        if (handler != null)
        {
            handler(sender, e);
        }
    }
Ejemplo n.º 9
0
    void ExposedTriggerExit(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e)
    {
        GameObject element = e.gameObject;

        if (element != null)
        {
            // Remove the element
            List <GameObject> elementList;
            if (!this.elementListForTriggerDictionary.TryGetValue(sender, out elementList))
            {
                this.elementListForTriggerDictionary.Add(sender, elementList = new List <GameObject>());
            }

            elementList.Remove(element);

            // Check if we are still in any of the triggers
            if (!this.CheckIfElementInAdditiveTrigger(element))
            {
                triggerInstanceList.Remove(element);
                ThisTriggerExit(this, new ExposedTrigger.TriggerActivityEventArgs(element));
            }
        }
    }
Ejemplo n.º 10
0
	void TerritoryExit(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e)
	{
		Player player = e.gameObject.GetComponent<Player>();
		if(player != null)
		{
			// Remove the element
			List<Player> playerList;
			if (!this.playersCapturing.TryGetValue(player.PlayerTeam, out playerList))
				this.playersCapturing.Add(player.PlayerTeam, playerList = new List<Player>());

			playerList.Remove(player);
			this.CheckIfPlayerIsCapturing(); // Something changed so maybe someone is capturing
		}
		
		// Fire our own event from this script
		TerritoryData tData = new TerritoryData();
		tData.Progress = this.CaptureProgress;
		tData.Color = new ColorData(this.LockedCaptureState ? this.LockedCaptureState.ThisTeamToColor() : Player.TeamToColor(Player.Team.None)).ToDictionary();
		tData.LockedColor = new ColorData(this.LockedCaptureState ? this.LockedCaptureState.ThisTeamToColor() : Player.TeamToColor(Player.Team.None)).ToDictionary();
		tData.TempColor = new ColorData(this.tempCaptureState ? this.tempCaptureState.ThisTeamToColor() : Player.TeamToColor(Player.Team.None)).ToDictionary();
		this.OnTerritoryExited(this, new TerritoryActivityEventArgs(player, tData));
	}
Ejemplo n.º 11
0
    void ExposedTriggerExit(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e)
    {
        GameObject element = e.gameObject;
        if(element != null)
        {

            // Remove the element
            List<GameObject> elementList;
            if (!this.elementListForTriggerDictionary.TryGetValue(sender, out elementList))
                this.elementListForTriggerDictionary.Add(sender, elementList = new List<GameObject>());

            elementList.Remove(element);

            // Check if we are still in any of the triggers
            if(!this.CheckIfElementInAdditiveTrigger(element))
            {
                triggerInstanceList.Remove(element);
                ThisTriggerExit(this, new ExposedTrigger.TriggerActivityEventArgs(element));
            }
        }
    }
Ejemplo n.º 12
0
 void ExposedTriggerExit(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e)
 {
     Debug.Log("Exit ~~ Sender: " + sender + " Object: " + e.gameObject);
 }
Ejemplo n.º 13
0
 void ExposedTriggerExit(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e)
 {
     Debug.Log("Exit ~~ Sender: " + sender + " Object: " + e.gameObject);
 }
Ejemplo n.º 14
0
    void ExposedTriggerExit(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e)
    {
        GameObject element = e.gameObject;
        if(element != null)
        {

            // Remove the element
            List<GameObject> elementList;
            if (!this.elementListForTriggerDictionary.TryGetValue(sender, out elementList))
                this.elementListForTriggerDictionary.Add(sender, elementList = new List<GameObject>());

            elementList.Remove(element);

            // If the element exited a trigger
            // this means they are not in all of the triggers
            // so they exited the complex trigger
            // But they could of already exited a trigger so we don't want to double exit
            bool wasRemoved = triggerInstanceList.Remove(element);
            if(wasRemoved)
            {
                ThisTriggerExit(this, new ExposedTrigger.TriggerActivityEventArgs(element));
            }
        }
    }