Private Multiplayer Chat

Hi! I’m testing a Chat on my multiplayer game using the M2H Networking tutorial’s chat script!
I want improve it adding the possibility of a private chat: if I click on a remote player both him and me become RED and messager are sended ONLY between these 2 players.

So by clicking (OnMouseDown) the remote player I want two things happen

  1. Both players becomes of RED color
  2. The boolean variable “privateChat” become True on BOTH players

At now only the remote player becomes of RED color and only its pribateChat become TRUE.

This is the script! Thanks in advance

var parlaConMe:boolean;

var privateChat:boolean;

var idGiocatore:NetworkViewID;



function Update(){



if(privateChat){

var children : Renderer[];

children = GetComponentsInChildren.<Renderer>();

for (var i : Renderer in children) {

                           if( i.gameObject.name == "Capsula"){

                                                       i.material.color = Color.red;

                                                                                }

                          }

}

if(!privateChat){

var children1 : Renderer[];

children1 = GetComponentsInChildren.<Renderer>();

for (var i : Renderer in children1) {

                         if( i.gameObject.name == "Capsula"){

                                                     i.material.color = Color.grey;

                                                                              }
  
                                           }

}

}



function OnMouseDown () {

privateChat=! privateChat;


if(!networkView.isMine){

                 idGiocatore=networkView.viewID;

                 if(parlato){

                                 networkView.RPC("Parlato",RPCMode.AllBuffered,parlato);

                              }

                    if(!parlato){

                               networkView.RPC("nonParlato",RPCMode.AllBuffered,parlato);

                                  }

                                   }

}

function OnGUI(){

if(parlato){

              GUI.Label(Rect(10,100,150,30),idGiocatore.ToString());

               }

}



@RPC

function Parlato(parl:boolean){

var children : Renderer[];

children = GetComponentsInChildren.<Renderer>();

for (var i : Renderer in children) {

                            if( i.gameObject.name == "Capsula"){

                                                              i.material.color = Color.red;
 
                                                               privateChat=true;

                                                                                }
               
                                        }

}



@RPC

function nonParlato(parl:boolean){

var children : Renderer[];

children = GetComponentsInChildren.<Renderer>();

for (var i : Renderer in children) {

                         if( i.gameObject.name == "Capsula"){

                                                               i.material.color = Color.grey;

                                                                privateChat=false;

                                                                              }
                                         
                                      }
                                            
}

up