синхронизация переменых

Сеть в Unity3D

синхронизация переменых

Сообщение olegas 22 сен 2011, 09:37

Объясните пожалуйста на пальцах.
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class ComandControllers : MonoBehaviour {
        public string Name = "";
        public string Comand = "";
        public string ID;
        public string SComand = "";
        public int randomcom = 1;
        void Start () {
                ID = PlayerPrefs.GetString("playerName");
                networkView.RPC("ServerComSend", RPCMode.All,ID);
                if(Input.GetKey(KeyCode.Delete)){randomcom = 2;networkView.RPC("ServerComSend", RPCMode.All,ID);}
        }
       
       
        void Update () {
                  if(Comand == "blue"){renderer.material.color = Color.blue;}
                  if(Comand == "red"){renderer.material.color = Color.red;}
                  if(randomcom >=3){randomcom = 1;}
        }
       
        [RPC]
        void ClientComSend(string name, string scomand)
        {
                if(ID == name){Name = name;Comand = scomand;}
        }
        [RPC]
        void ServerComSend(string name)
        {
               
                if(Network.isServer)
                {
                       
                        if(randomcom==1){SComand = "blue";}
                        if(randomcom==2){SComand = "red";}
                        networkView.RPC("ClientComSend", RPCMode.All,name,SComand);
                       
                       
                       
                }
               
        }

но почему то для меня этот скрипт меняет цвет для всех префабов, где ошибка ? читал про OnSerializeNetworkView вообще непонял как это происходит.
olegas
UNец
 
Сообщения: 17
Зарегистрирован: 01 янв 2011, 23:32

Re: синхронизация переменых

Сообщение ladon 05 окт 2011, 08:59

В Update меняетя цвет, а апдейт вызывается на каждом клиенте.
RPCMode.All вызывает установку цвета на каждом клиенте.
ladon
UNец
 
Сообщения: 31
Зарегистрирован: 09 авг 2011, 07:03


Вернуться в Сеть

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2