void ChangeNick(NetworkPlayer player, string nick)
    {
        Player p = NetVars.getPlayer(player);

        chat      += "<GAME> Player " + p.nickname + " changed name to " + nick + "\n";
        p.nickname = nick;
    }
示例#2
0
    // Use this for initialization
    void Start()
    {
        speed             = startSpeed;
        camPos            = cam.localPosition;
        Screen.lockCursor = true;
        player            = NetVars.getPlayer(networkView.owner);

        foreach (Renderer o in reticule.gameObject.GetComponentsInChildren <Renderer>())
        {
            o.material.renderQueue = 4000;             //4000+ is overlay
        }

        if (!IsMine())
        {
            Destroy(reticule.gameObject);
            Destroy(cam.gameObject);
            Destroy(healthBar.gameObject);
        }
        else
        {
            //Position health bar
            Ray   ray   = Camera.main.ScreenPointToRay(new Vector3(100, Screen.height - 100, 0));
            Plane plane = new Plane(transform.forward, healthBar.gameObject.transform.position);

            float d = 0;
            if (plane.Raycast(ray, out d))
            {
                healthBar.gameObject.transform.position = ray.GetPoint(d);
            }

            GameObjectUtils.SetLayerRecursively(gameObject, 9);            // Ignore Reticle
        }
    }
 public void RequestMessage(NetworkViewID view, string msg)
 {
     if (Network.isServer)
     {
         networkView.RPC("OnSendChatMessage", RPCMode.All, NetVars.getPlayer(view.owner).nickname, msg);
     }
 }
示例#4
0
    void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info)
    {
        if (stream.isWriting)
        {
            float r_velocity = velocity;
            stream.Serialize(ref r_velocity);

            NetworkPlayer r_friendlyPlayer = friendlyPlayer.UnityPlayer;
            stream.Serialize(ref r_friendlyPlayer);
        }
        else if (stream.isReading)
        {
            float r_velocity = 0;
            stream.Serialize(ref r_velocity);
            velocity = r_velocity;

            NetworkPlayer r_friendlyPlayer = new NetworkPlayer();
            stream.Serialize(ref r_friendlyPlayer);
            if (friendlyPlayer == null || !friendlyPlayer.UnityPlayer.Equals(r_friendlyPlayer))
            {
                friendlyPlayer = NetVars.getPlayer(r_friendlyPlayer);
            }
//			else if(!friendlyPlayer.UnityPlayer.Equals(r_friendlyPlayer))
//				friendlyPlayer = new Player(r_friendlyPlayer,friendlyPlayer.nickname);
        }
    }
示例#5
0
 void Update()
 {
     if (!NetVars.SinglePlayer())
     {
         currentNick = NetVars.getPlayer(Network.player).nickname;
     }
 }
示例#6
0
    void SpawnShip(NetworkPlayer p)
    {
        player = NetVars.getPlayer(p);

        if (!p.Equals(Network.player))
        {
            return;
        }

        Debug.Log("Spawning Ship");
        Ship ship;

        ship            = (Network.Instantiate(shipPrefab, transform.position, Quaternion.identity, 0) as Transform).GetComponent <Ship>();
        ship.guiManager = guiManager;
        ship.player     = player;
    }
示例#7
0
    void ChatFunction(int windowID)
    {
        Vector2 labelSize = GUI.skin.label.CalcSize(new GUIContent(handler.chat));

        chatScroll = GUI.BeginScrollView(new Rect(10, 10, 180, chatArea.height - 40), chatScroll, new Rect(0, 0, labelSize.x, labelSize.y));
        GUI.Label(new Rect(0, 0, labelSize.x, labelSize.y), handler.chat);     // Read-only
        GUI.EndScrollView();

        GUI.SetNextControlName("chatbox");
        chatBox = GUI.TextField(new Rect(10, chatArea.height - 30, 180, 20), chatBox);
        if (GUI.GetNameOfFocusedControl().CompareTo("chatbox") == 0 && (Event.current.isKey && Event.current.keyCode == KeyCode.Return))
        {
            NetworkViewID viewID = Network.AllocateViewID();
            if (Network.isClient)
            {
                handler.networkView.RPC("RequestMessage", RPCMode.Server, viewID, chatBox);
            }
            else if (Network.isServer)
            {
                handler.RequestMessage(networkView.viewID, chatBox);
            }
            chatBox = "";
        }

        if (currentNick.Equals(""))
        {
            currentNick = NetVars.getPlayer(Network.player).nickname;
        }

        GUI.SetNextControlName("namebox");
        labelSize = GUI.skin.label.CalcSize(new GUIContent("Change Name"));
        GUI.Label(new Rect(200, 20, chatArea.width - 200, 20), "Change Name");
        nickBox = GUI.TextField(new Rect(200, 20 + labelSize.y, chatArea.width - 200, 20), nickBox);
        if (GUI.GetNameOfFocusedControl().CompareTo("namebox") == 0 && (Event.current.isKey && Event.current.keyCode == KeyCode.Return) && !nickBox.Trim().Equals(""))
        {
            handler.networkView.RPC("ChangeNick", RPCMode.AllBuffered, Network.player, nickBox);
            nickBox = "";
        }
        GUI.Label(new Rect(200, 40 + labelSize.y, chatArea.width - 200, 20), currentNick);

        GUI.DragWindow(new Rect(0, 0, 100000, 20));
    }
示例#8
0
    void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info)
    {
        if (stream.isWriting)
        {
            bool r_alive = alive;
            stream.Serialize(ref r_alive);

            float r_speed = speed;
            stream.Serialize(ref r_speed);

            Vector3 r_rot = rawRot;
            stream.Serialize(ref r_rot);

            NetworkPlayer r_player = player.UnityPlayer;
            stream.Serialize(ref r_player);
        }
        else if (stream.isReading)
        {
            bool r_alive = false;
            stream.Serialize(ref r_alive);
            alive = r_alive;

            float r_speed = 0;
            stream.Serialize(ref r_speed);
            speed = r_speed;

            Vector3 r_rot = Vector3.zero;
            stream.Serialize(ref r_rot);
            rawRot = r_rot;

            NetworkPlayer r_player = new NetworkPlayer();
            stream.Serialize(ref r_player);
            if (player == null || !player.UnityPlayer.Equals(r_player))
            {
                player = NetVars.getPlayer(r_player);
            }
        }
    }