FlagCapturePoint.OnTriggerEnter C# (CSharp) Method

OnTriggerEnter() public method

public OnTriggerEnter ( Collider other ) : void
other Collider
return void
    void OnTriggerEnter(Collider other)
    {
        if (!BoltNetwork.isServer) return;
        IGameMode currentGameMode = GameManager.instance.gameMode;
        if(GameManager.instance.gameMode.Mode == GameModes.CAPTURE_THE_FLAG)
        {
            CaptureTheFlagMode mode = (CaptureTheFlagMode)currentGameMode;
            Flag f = other.gameObject.GetComponent<Flag>();
            if (f != null)
            {
                if(f.player != null && f.player.Team == teamID)
                {
                    if(f.teamID == teamID)
                    {
                        //We are returning the flag to our base
                        mode.setFlagAtBase(teamID,true);
                        f.ReturnFlag();
                    } else
                    {
                        //The flag we are returning is not ours. Check and see if ours is returned and if so, you score!
                        if (mode.isFlagAtBaseForTeam(teamID))
                        {
                            //update scores
                            if (ServerConnectionEventListener.IndexMap.ContainsPlayer(f.player.Username)) {
                                int playerStatIndex = ServerConnectionEventListener.IndexMap[f.player.Username];
                                GameStats.SetIntegerStat(playerStatIndex, "Flags", GameStats.GetIntegerStat(playerStatIndex, "Flags") + 1);
                            }

                            GameManager.instance.CheckForGameOver();
                            f.ReturnFlag();
                        }
                    }

                }
            }
        }
    }
FlagCapturePoint