Ejemplo n.º 1
0
 private void AddInternal(On.RoR2.Networking.GameNetworkManager.orig_OnServerAddPlayerInternal orig, global::RoR2.Networking.GameNetworkManager self, NetworkConnection conn, short playerControllerId, NetworkReader extraMessageReader)
 {
     Logger.LogWarning("Add Player Internal");
 }
Ejemplo n.º 2
0
        static void DisplayCustomCharacters(On.RoR2.Networking.GameNetworkManager.orig_OnServerAddPlayerInternal orig, GameNetworkManager self, NetworkConnection conn, short playerControllerId, NetworkReader extraMessageReader)
        {
            if (NetworkServer.active)
            {
                //Ghetto code to prevent duplicates
                if (self.playerPrefab == null)
                {
                    return;
                }
                if (self.playerPrefab.GetComponent <NetworkIdentity>() == null)
                {
                    return;
                }
                if ((int)playerControllerId < conn.playerControllers.Count && conn.playerControllers[(int)playerControllerId].IsValid && conn.playerControllers[(int)playerControllerId].gameObject != null)
                {
                    return;
                }
                if (NetworkUser.readOnlyInstancesList.Count >= self.maxConnections)
                {
                    return;
                }

                string text = "";
                for (int i = 0; i < Settings.PlayableCharactersList.Count; i++)
                {
                    string slotName = "";
                    switch (i)
                    {
                    case 0:
                        slotName = "Commando";
                        break;

                    case 1:
                        slotName = "Huntress";
                        break;

                    case 2:
                        slotName = "Bandit";
                        break;

                    case 3:
                        slotName = "MUL-T";
                        break;

                    case 4:
                        slotName = "Engineer";
                        break;

                    case 5:
                        slotName = "Artificer";
                        break;

                    case 6:
                        slotName = "Mercenary";
                        break;

                    case 7:
                        slotName = "REX";
                        break;

                    case 8:
                        slotName = "Loader";
                        break;

                    case 9:
                        slotName = "Acrid";
                        break;

                    case 10:
                        slotName = "Captain";
                        break;
                    }
                    text += Util.GenerateColoredString(slotName, new Color32(255, 255, 0, 255)) + " = " + BodyCatalog.GetBodyName(BodyCatalog.FindBodyIndex(Settings.PlayableCharactersList[i])) + " ";

                    if (i + 1 % 3 == 0 || i + 1 == Settings.PlayableCharactersList.Count)
                    {
                        Tools.SendPM(conn, new Chat.SimpleChatMessage
                        {
                            baseToken = text
                        });
                        text = "";
                    }
                }
            }
            orig(self, conn, playerControllerId, extraMessageReader);
        }