Пример #1
0
        public static Pilot CreateRandom(Teams.Team inTeam, int inLevel = 1)
        {
            if (inTeam == null)
            {
                return(null);
            }

            GameObject GO_Pilot = new GameObject();
            Pilot      OutPilot = GO_Pilot.AddComponent <Pilot>();

            OutPilot.Level  = inLevel;
            OutPilot.Gender = GameLoop.MAIN.RandomHelper.Primary.Next(100) <= 60 ? PilotGender.Male : PilotGender.Female;

            if (OutPilot.Gender == PilotGender.Male)
            {
                OutPilot._Name_First = PilotNames.Random_First_Male();
            }
            else
            {
                OutPilot._Name_First = PilotNames.Random_First_Female();
            }

            OutPilot._Name_Last = PilotNames.Random_Last();

            GO_Pilot.name             = OutPilot.Name_Full;
            GO_Pilot.transform.parent = inTeam.gameObject.transform;

            return(OutPilot);
        }
Пример #2
0
        public void CmdTeamChange(Teams.Team team)
        {
            string h;

            if (team == Teams.Team.DOGS)
            {
                h = "Dogs";
            }
            else
            {
                h = "Man";
            }
            Debug.Log("Selected Team is " + h);
            Debug.Log("Entering ManCount is " + LobbyManager.ManTeamCount);
            if (team == Teams.Team.MAN && LobbyManager.ManTeamCount < LobbyManager.ManTeamLimit)
            {
                LobbyManager.ManTeamCount++;
            }
            else if (team == Teams.Team.DOGS)
            {
                LobbyManager.ManTeamCount--;
            }
            else
            {
                Debug.Log("Too many men.");
                return;
            }
            playerTeam = team;
            LobbyManager.s_Singleton.SetTeamLobby(GetComponent <NetworkIdentity>().connectionToClient, team);
            RpcUpdateTeam(team);
        }
Пример #3
0
 public void SetTeamLobby(NetworkConnection conn, Teams.Team team)
 {
     if (currentPlayers.ContainsKey(conn.connectionId))
     {
         currentPlayers[conn.connectionId] = team;
     }
 }
Пример #4
0
    public void SpawnBuilding(BuildingType type, Teams.Team team, Vector3 position, Vector3 eulerAngle)
    {
        GameObject building = Instantiate(BuildingInfo.inf.GetPrefab(type), position, Quaternion.Euler(eulerAngle));
        PlayerData data     = GameManager.manager.GetPlayer(team);

        building.GetComponent <BaseBuilding>().input = data.brain.GetInputs();
        building.GetComponent <BaseBuilding>().team  = team;
    }
Пример #5
0
 public BaseBehav(PlayerInput inputs, Transform playerTrans, Teams.Team team)
 {
     this.inputs      = inputs;
     this.myTransform = playerTrans;
     this.enemyPlayer = GameManager.manager.GetOpposingPlayer(team);
     this.myPlayer    = GameManager.manager.GetPlayer(team);
     this.team        = team;
 }
Пример #6
0
    public void SpawnGhost(GameObject prefab, Teams.Team team)
    {
        GameObject  ghost = Instantiate(prefab, Vector3.zero, Quaternion.identity);
        PlayerData  data  = GameManager.manager.GetPlayer(team);
        PlayerInput input = data.brain.GetInputs();

        ghost.GetComponent <Ghost>().input       = input;
        ghost.GetComponent <BaseBuilding>().team = team;
        ghost.GetComponent <BaseBuilding>().SnapToMouse();
    }
Пример #7
0
 public PlayerData GetPlayer(Teams.Team t)
 {
     foreach (var player in players)
     {
         if (player.team == t)
         {
             return(player);
         }
     }
     return(null);
 }
Пример #8
0
 public void OnMyTeam(Teams.Team newTeam)
 {
     if (newTeam == Teams.Team.DOGS)
     {
         teamButton.GetComponent <Image>().sprite = dogTeamImage;
     }
     else
     {
         teamButton.GetComponent <Image>().sprite = manTeamImage;
     }
 }
Пример #9
0
 public static Teams.Team GetOpposingTeam(Teams.Team t)
 {
     if (t == Teams.Team.PLAYER)
     {
         return(Teams.Team.AI);
     }
     if (t == Teams.Team.AI)
     {
         return(Teams.Team.PLAYER);
     }
     return(Teams.Team.NONE);
 }
Пример #10
0
 public void RpcUpdateTeam(Teams.Team newTeam)
 {
     playerTeam = newTeam;
     if (newTeam == Teams.Team.DOGS)
     {
         teamButton.GetComponent <Image>().sprite = dogTeamImage;
     }
     else
     {
         teamButton.GetComponent <Image>().sprite = manTeamImage;
     }
 }
Пример #11
0
    /// <summary>Return a unused SpawnNode based on Team</summary>
    private Transform GetNodeBasedOnTeam(Teams.Team team)
    {
        var teamNode    = spawnList.Find(x => x.teamArea == team);
        var notUsedNode = teamNode.nodes.Find(x => x.used == false);

        if (notUsedNode == null)
        {
            Debug.LogWarningFormat("Not enough Spawn Nodes for Team {0} created. Please add more.", team);
            return(null);
        }
        notUsedNode.used = true;
        return(notUsedNode.transform);
    }
Пример #12
0
    public void PlayerEnterMode(PlayerController.Mode newMode, Teams.Team tagToChage)
    {
        List <PlayerData> players = GameManager.manager.players;

        foreach (PlayerData player in players)
        {
            PlayerController con = player.controller;
            if (con.team == tagToChage)
            {
                con.myMode = newMode;
            }
        }
    }
Пример #13
0
    public void ReduceCounter(Teams.Team selectedTeam)
    {
        if (selectedTeam == Teams.Team.Blue)
        {
            _blueTeamCounter--;
        }
        if (selectedTeam == Teams.Team.Red)
        {
            _redTeamCounter--;
        }

        UpdateTeamCounter(_blueTeamCounter, _redTeamCounter);
    }
    public static void TeamBasedRespawn(Teams.Team team, PhotonPlayer player)
    {
        if (SyncSpawnNodeEvent != null)
        {
            Transform spawnNode = TeamBasedRespawnEvent(team);

            PhotonNetwork.RaiseEvent(NetworkEvent.Spawn,
                                     new object[] { spawnNode.position, spawnNode.rotation }, true,
                                     new RaiseEventOptions
            {
                TargetActors  = new int[] { player.ID },
                CachingOption = EventCaching.AddToRoomCache
            });
        }
    }
Пример #15
0
    /// <summary>Switch that player's team to the one you assign.</summary>
    /// <remarks>Internally checks if this player is in that team already or not. Only team switches are actually sent.</remarks>
    /// <param name="player"></param>
    /// <param name="team"></param>
    public static void SetPlayerTeam(this PhotonPlayer player, Teams.Team team)
    {
        if (!PhotonNetwork.connectedAndReady)
        {
            Debug.LogWarning("JoinTeam was called in state: " + PhotonNetwork.connectionStateDetailed + ". Not connectedAndReady.");
            return;
        }

        Teams.Team currentTeam = player.GetPlayerTeam();
        if (currentTeam != team)
        {
            player.SetCustomProperties(new Hashtable()
            {
                { PlayerProperties.Team, team }
            });
        }
    }
Пример #16
0
    public void ChangeTeam(Teams.Team team)
    {
        switch (team)
        {
        case Teams.Team.NONE:
            myRenderer.sharedMaterial = defaultMat;
            break;

        case Teams.Team.AI:
            myRenderer.sharedMaterial = aiMat;
            break;

        case Teams.Team.PLAYER:
            myRenderer.sharedMaterial = playerMat;
            break;
        }
    }
Пример #17
0
    private void Start()
    {
        this.m_player                        = PhotonPlayer.Find(m_pView.OwnerActorNr);
        m_nameField.text                     = m_player.NickName;
        m_currentTeam                        = m_player.GetPlayerTeam();
        m_healthHandler.CurrentTeam          = m_currentTeam;
        m_healthHandler.OnChangeHealthEvent += OnHealthEventChanged;



        if (m_pView.isMine)
        {
            m_healthBarMode = HealthBarMode.ScreenSpace;
        }
        else
        {
            m_healthBarMode = HealthBarMode.WorldSpace;
        }
        Initialize();
    }
Пример #18
0
    public void UpdateHP(Teams.Team team, float maxHP, float currentHP)
    {
        if (team == Teams.Team.Blue)
        {
            blueHPBar.fillAmount = currentHP / maxHP;
            if (currentHP > maxHP / 2)
            {
                blueHPBar.color = new Color(0f, 0.5754717f, 0.1331484f);
            }

            if (currentHP <= maxHP / 2 && currentHP > maxHP / 4)
            {
                blueHPBar.color = Color.yellow;
            }

            if (currentHP <= maxHP / 4)
            {
                blueHPBar.color = Color.red;
            }
        }

        if (team == Teams.Team.Red)
        {
            redHPBar.fillAmount = currentHP / maxHP;
            if (currentHP > maxHP / 2)
            {
                redHPBar.color = new Color(0f, 0.5754717f, 0.1331484f);
            }

            if (currentHP <= maxHP / 2 && currentHP > maxHP / 4)
            {
                redHPBar.color = Color.yellow;
            }

            if (currentHP <= maxHP / 4)
            {
                redHPBar.color = Color.red;
            }
        }
    }
Пример #19
0
    public void EndGame(Teams.Team winningTeam)
    {
        foreach (PlayerData player in players)
        {
            player.controller.myMode = PlayerController.Mode.END;
        }

        string winner = "NONE";

        switch (winningTeam)
        {
        case Teams.Team.AI:
            winner = "AI Wins!";
            break;

        case Teams.Team.PLAYER:
            winner = "You win!";
            break;
        }

        endPanel.SetActive(true);
        endText.text = winner;
    }
Пример #20
0
    void RespawnPlayer()
    {
        m_currenGameMode = (Mode)PhotonNetwork.room.GetGamemode();
        PhotonPlayer localPlayer = PhotonNetwork.player;

        Teams.Team team = localPlayer.GetPlayerTeam();

        switch (m_currenGameMode)
        {
        case Mode.TeamDeathMatch:
            NetworkEventHandler.TeamBasedRespawn(team, localPlayer);
            break;

        case Mode.DeatchMatch:
            NetworkEventHandler.RespawnRandomSpawnNode(localPlayer);
            break;
        }
        m_countDown = m_respawnTime;

        if (m_counter.gameObject.activeInHierarchy)
        {
            m_counter.gameObject.SetActive(false);
        }
    }
Пример #21
0
        public static Pilot CreateFromSerialized(Teams.Team inTeam, _Pilot_Serialized inSerialized)
        {
            if (inTeam == null)
            {
                return(null);
            }

            GameObject GO_Pilot = new GameObject();
            Pilot      OutPilot = GO_Pilot.AddComponent <Pilot>();


            if (inSerialized.Level <= 0)
            {
                inSerialized.Level = 1;
            }

            OutPilot.Level = inSerialized.Level;

            if (inSerialized.Level_XPThisLevel < 0)
            {
                inSerialized.Level_XPThisLevel = 0;
            }

            OutPilot.Level_XPThisLevel = inSerialized.Level_XPThisLevel;

            if (Enum.IsDefined(typeof(PilotGender), inSerialized.Gender))
            {
                OutPilot.Gender = (PilotGender)inSerialized.Gender;
            }
            else
            {
                OutPilot.Gender = PilotGender.Unknown;
            }


            if (string.IsNullOrWhiteSpace(inSerialized.Name_First))
            {
                if (OutPilot.Gender == PilotGender.Male)
                {
                    OutPilot._Name_First = PilotNames.Random_First_Male();
                }
                else if (OutPilot.Gender == PilotGender.Female)
                {
                    OutPilot._Name_First = PilotNames.Random_First_Female();
                }
                else
                {
                    OutPilot._Name_First = PilotNames.Random_First_Male();
                }
            }
            else
            {
                OutPilot._Name_First = inSerialized.Name_First;
            }


            if (string.IsNullOrWhiteSpace(inSerialized.Name_Last))
            {
                OutPilot._Name_Last = PilotNames.Random_Last();
            }
            else
            {
                OutPilot._Name_Last = inSerialized.Name_Last;
            }


            if (!string.IsNullOrWhiteSpace(inSerialized.CallSign))
            {
                OutPilot._Callsign = inSerialized.CallSign;
            }

            //ToDo ShipIDPreferences:
            //string.Join(",", )
            //"".Split(",")

            GO_Pilot.name             = OutPilot.Name_Full;
            GO_Pilot.transform.parent = inTeam.gameObject.transform;

            return(OutPilot);
        }
Пример #22
0
 private static void AssignPlayerToTeam(Teams.Team team, PhotonPlayer player)
 {
     player.SetPlayerTeam(team);
     Teams.PlayersPerTeam[team].Add(player);
 }
Пример #23
0
    /// <summary>Return a Random SpawnNode Based on Team</summary>
    private Transform TeamBasedRespawn(Teams.Team team)
    {
        var teamNode = spawnList.Find(x => x.teamArea == team);

        return(teamNode.nodes[Random.Range(0, teamNode.nodes.Count)].transform);
    }
Пример #24
0
    public void AddResources(int numResources, Teams.Team team)
    {
        PlayerData player = GetPlayer(team);

        player.resources += numResources;
    }
Пример #25
0
 public PlayerData GetOpposingPlayer(Teams.Team t)
 {
     Teams.Team enemyTeam = GetOpposingTeam(t);
     return(GetPlayer(enemyTeam));
 }
Пример #26
0
 public void SetOwningPlayer(PlayerData player)
 {
     myPlayer = player;
     myTeam   = player.team;
 }
Пример #27
0
 internal void SetBarracks(Barracks barracks)
 {
     myBarracks = barracks;
     myTeam     = myBarracks.team;
 }
Пример #28
0
 public MoveBehav(PlayerInput inputs, Transform playerTrans, Teams.Team team) : base(inputs, playerTrans, team)
 {
     routeFollower = new RouteFollower(playerTrans, inputs);
 }
Пример #29
0
 public BuildBehav(PlayerInput inputs, Transform playerTrans, Teams.Team team) : base(inputs, playerTrans, team)
 {
 }