Advertisement
DeathGodAOTTG

In Room Chat

Aug 8th, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 11.07 KB | None | 0 0
  1. using Photon;
  2. using System;
  3. using System.Collections.Generic;
  4. using UnityEngine;
  5.  
  6. public class InRoomChat : Photon.MonoBehaviour
  7. {
  8.     private bool AlignBottom = true;
  9.     public static readonly string ChatRPC = "Chat";
  10.     public static Rect GuiRect = new Rect(0f, 100f, 300f, 470f);
  11.     public static Rect GuiRect2 = new Rect(30f, 575f, 300f, 25f);
  12.     private string inputLine = string.Empty;
  13.     public bool IsVisible = true;
  14.     public static List<string> messages = new List<string>();
  15.     private Vector2 scrollPos = Vector2.zero;
  16.     public string ChatName;
  17.     public FengGameManagerMKII GameManager;
  18.  
  19.     public void addLINE(string newLine)
  20.     {
  21.         messages.Add(newLine);
  22.     }
  23.  
  24.     public void AddLine(string newLine)
  25.     {
  26.         messages.Add(newLine);
  27.     }
  28.  
  29.     public void OnGUI()
  30.     {
  31.         if (this.IsVisible && (PhotonNetwork.connectionStateDetailed == PeerState.Joined))
  32.        {
  33.            if ((Event.current.type == EventType.KeyDown) && ((Event.current.keyCode == KeyCode.KeypadEnter) || (Event.current.keyCode == KeyCode.Return)))
  34.            {
  35.                if (!string.IsNullOrEmpty(this.inputLine))
  36.                {
  37.                    if (this.inputLine == "\t")
  38.                    {
  39.                        this.inputLine = string.Empty;
  40.                         GUI.FocusControl(string.Empty);
  41.                         return;
  42.                     }
  43.                     if (this.inputLine == "/restart")
  44.                     {
  45.                         this.inputLine = string.Empty;
  46.                         GUI.FocusControl(string.Empty);
  47.                         GameObject.Find("MultiplayerManager").GetComponent<FengGameManagerMKII>().restartGame(false);
  48.                         return;
  49.                     }
  50.                     if (inputLine == "/clear")
  51.                     {
  52.                         messages.Clear();
  53.                     }
  54.                     if (inputLine == ("/clean"))
  55.                     {
  56.                         for (int i = 0; i < 20; i++)
  57.                        {
  58.                            GameObject.Find("MultiplayerManager").GetComponent<FengGameManagerMKII>().photonView.RPC("Chat", PhotonTargets.All, new object[] { "", string.Empty });
  59.                         }
  60.                         GameObject.Find("MultiplayerManager").GetComponent<FengGameManagerMKII>().photonView.RPC("Chat", PhotonTargets.All, new object[] { "<color=#ff0000>D</color><color=#ff1200>e</color><color=#ff2400>a</color><color=#ff3600>t</color><color=#ff4900>h</color><color=#ff5b00>G</color><color=#ff6d00>o</color><color=#ff7f00>d</color><color=#ff9100> </color><color=#ffa400>h</color><color=#ffb600>a</color><color=#ffc800>s</color><color=#ffda00> </color><color=#ffed00>c</color><color=#ffff00>l</color><color=#dbff00>e</color><color=#b6ff00>a</color><color=#92ff00>r</color><color=#6dff00>e</color><color=#49ff00>d</color><color=#24ff00> </color><color=#00ff00>t</color><color=#00ff24>h</color><color=#00ff49>e</color><color=#00ff6d> </color><color=#00ff92>c</color><color=#00ffb6>h</color><color=#00ffdb>a</color><color=#00ffff>t</color><color=#00dbff> </color><color=#00b6ff>f</color><color=#0092ff>o</color><color=#006dff>r</color><color=#0049ff> </color><color=#0024ff>y</color><color=#0000ff>o</color><color=#1400ff>u</color><color=#2800ff> </color><color=#3c00ff>n</color><color=#4f00ff>o</color><color=#6300ff>o</color><color=#7700ff>b</color><color=#8b00ff>s</color>", string.Empty });
  61.                     }
  62.                     if (inputLine == "/memekill")
  63.                     {
  64.                         bool[] team = new bool[] { true, false };
  65.                         string[] killer = new string[] { "Harambe", "Arthur", "New Memes" };
  66.                         string[] victim = new string[] { "Pepe", "Dat Boi", "Old Memes" };
  67.                         int[] dmg = new int[] { UnityEngine.Random.Range(69696969, 69696969) };
  68.                         GameObject.Find("MultiplayerManager").GetComponent<FengGameManagerMKII>().sendKillInfo(team[UnityEngine.Random.Range(0, team.Length)], killer[UnityEngine.Random.Range(0, killer.Length)], team[UnityEngine.Random.Range(0, team.Length)], victim[UnityEngine.Random.Range(0, victim.Length)], dmg[UnityEngine.Random.Range(0, dmg.Length)]);
  69.                     }
  70.                     if (this.inputLine.StartsWith("/day"))
  71.                     {
  72.                         GameObject.Find("MainCamera").GetComponent<IN_GAME_MAIN_CAMERA>().setDayLight(DayLight.Day);
  73.                     }
  74.                     if (this.inputLine.StartsWith("/dawn"))
  75.                     {
  76.                         GameObject.Find("MainCamera").GetComponent<IN_GAME_MAIN_CAMERA>().setDayLight(DayLight.Dawn);
  77.                     }
  78.                     if (this.inputLine.StartsWith("/night"))
  79.                     {
  80.                         GameObject.Find("MainCamera").GetComponent<IN_GAME_MAIN_CAMERA>().setDayLight(DayLight.Night);
  81.                     }
  82.                     if (this.inputLine.Equals("/life"))
  83.                     {
  84.                         GameObject.Find("MultiplayerManager").GetComponent<FengGameManagerMKII>().sendChatContentInfo("<b><i><color=#000000>Life is like a nigger, tough and fucks you in the anus.</color></i></b>");
  85.                     }
  86.                     if (this.inputLine.StartsWith("/all the way up"))
  87.                     {
  88.                         this.addLINE("<color=#ff0000>D</color><color=#ff1900>e</color><color=#ff3300>a</color><color=#ff4c00>t</color><color=#ff6600>h</color><color=#ff7f00>G</color><color=#ff9f00>o</color><color=#ffbf00>d</color><color=#ffdf00> </color><color=#ffff00>i</color><color=#ccff00>s</color><color=#99ff00> </color><color=#66ff00>A</color><color=#33ff00>L</color><color=#00ff00>L</color><color=#00ff33> </color><color=#00ff66>t</color><color=#00ff99>h</color><color=#00ffcc>e</color><color=#00ffff> </color><color=#00bfff>w</color><color=#0080ff>a</color><color=#0040ff>y</color><color=#0000ff> </color><color=#1c00ff>u</color><color=#3800ff>p</color><color=#5300ff>!</color><color=#6f00ff>!</color><color=#8b00ff>!</color>");
  89.                     }
  90.                     if (this.inputLine.StartsWith("/joined"))
  91.                     {
  92.                         this.addLINE("<color=#ff0000>D</color><color=#ff1200>e</color><color=#ff2400>a</color><color=#ff3600>t</color><color=#ff4900>h</color><color=#ff5b00>G</color><color=#ff6d00>o</color><color=#ff7f00>d</color><color=#ff8f00> </color><color=#ff9f00>j</color><color=#ffaf00>o</color><color=#ffbf00>i</color><color=#ffcf00>n</color><color=#ffdf00>e</color><color=#ffef00>d</color><color=#ffff00> </color><color=#dbff00>t</color><color=#b6ff00>h</color><color=#92ff00>e</color><color=#6dff00> </color><color=#49ff00>s</color><color=#24ff00>e</color><color=#00ff00>r</color><color=#00ff24>v</color><color=#00ff49>e</color><color=#00ff6d>r</color><color=#00ff92> </color><color=#00ffb6>t</color><color=#00ffdb>o</color><color=#00ffff> </color><color=#00dfff>r</color><color=#00bfff>e</color><color=#009fff>k</color><color=#0080ff> </color><color=#0060ff>t</color><color=#0040ff>i</color><color=#0020ff>t</color><color=#0000ff>a</color><color=#1400ff>n</color><color=#2800ff> </color><color=#3c00ff>f</color><color=#4f00ff>a</color><color=#6300ff>c</color><color=#7700ff>e</color><color=#8b00ff>s</color>");
  93.                     }
  94.                     if ((this.inputLine.Length <= 7) || (this.inputLine.Substring(0, 7) != "/kick #"))
  95.                        {
  96.                            object[] parameters = new object[] { this.inputLine, LoginFengKAI.player.name };
  97.                            GameObject.Find("MultiplayerManager").GetComponent<FengGameManagerMKII>().photonView.RPC("Chat", PhotonTargets.All, parameters);
  98.                         }
  99.                         else if (this.inputLine.Remove(0, 7) == PhotonNetwork.masterClient.ID.ToString())
  100.                         {
  101.                             GameObject.Find("Chatroom").GetComponent<InRoomChat>().addLINE("error:can't kick master client.");
  102.                         }
  103.                         else if (this.inputLine.Remove(0, 7) == PhotonNetwork.player.ID.ToString())
  104.                         {
  105.                             GameObject.Find("Chatroom").GetComponent<InRoomChat>().addLINE("error:can't kick yourself.");
  106.                         }
  107.                         else
  108.                         {
  109.                             bool flag = false;
  110.                             foreach (PhotonPlayer player in PhotonNetwork.playerList)
  111.                             {
  112.                                 if (player.ID.ToString() == this.inputLine.Remove(0, 7))
  113.                                 {
  114.                                     flag = true;
  115.                                     break;
  116.                                 }
  117.                             }
  118.                             if (!flag)
  119.                             {
  120.                                 GameObject.Find("Chatroom").GetComponent<InRoomChat>().addLINE("error:no such player.");
  121.                             }
  122.                             else
  123.                             {
  124.                                 object[] objArray2 = new object[] { this.inputLine, LoginFengKAI.player.name };
  125.                                 GameObject.Find("MultiplayerManager").GetComponent<FengGameManagerMKII>().photonView.RPC("Chat", PhotonTargets.All, objArray2);
  126.                             }
  127.                         }
  128.                         this.inputLine = string.Empty;
  129.                         GUI.FocusControl(string.Empty);
  130.                         return;
  131.                     }
  132.                     this.inputLine = "\t";
  133.                     GUI.FocusControl("ChatInput");
  134.                 }
  135.                 GUI.SetNextControlName(string.Empty);
  136.                 GUILayout.BeginArea(GuiRect);
  137.                 GUILayout.FlexibleSpace();
  138.                 string text = string.Empty;
  139.                 if (messages.Count < 10)
  140.                {
  141.                    for (int i = 0; i < messages.Count; i++)
  142.                    {
  143.                        text = text + messages[i] + "\n";
  144.                    }
  145.                }
  146.                else
  147.                {
  148.                    for (int j = messages.Count - 10; j < messages.Count; j++)
  149.                    {
  150.                        text = text + messages[j] + "\n";
  151.                    }
  152.                }
  153.                GUILayout.Label(text, new GUILayoutOption[0]);
  154.                GUILayout.EndArea();
  155.                GUILayout.BeginArea(GuiRect2);
  156.                GUILayout.BeginHorizontal(new GUILayoutOption[0]);
  157.                GUI.SetNextControlName("ChatInput");
  158.                this.inputLine = GUILayout.TextField(this.inputLine, new GUILayoutOption[0]);
  159.                GUILayout.EndHorizontal();
  160.                GUILayout.EndArea();
  161.            }
  162.        }
  163.  
  164.    public void setPosition()
  165.    {
  166.        if (this.AlignBottom)
  167.        {
  168.            GuiRect = new Rect(0f, (float) (Screen.height - 500), 300f, 470f);
  169.            GuiRect2 = new Rect(30f, (float) ((Screen.height - 300) + 0x113), 300f, 25f);
  170.        }
  171.    }
  172.  
  173.    public void Start()
  174.    {
  175.        this.setPosition();
  176.    }
  177. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement