Question by
Sladeth_316 · Jan 19, 2021 at 03:31 PM ·
listssynchronizationmirror
How to sync variables with mirror?
Hi, im getting issues with my project, im making a dice game and i can't get the dices synchronized.
public class cacho_player_manager : NetworkBehaviour
{
// Start is called before the first frame update
[Header("Dados")]
[SyncVar][SerializeField]public List<int> dados=new List<int>{0,0,0,0,0,0};
[Header("Propuestas")]
[SerializeField] public List<int> propuesta_Local=new List<int>{1,1};
[SyncVar][SerializeField]public List<int> propuesta_Global=new List<int>{0,0};
[SyncVar][SerializeField] int Jugadores=NetworkServer.connections.Count;
[SyncVar][SerializeField] int Turno=0;
void Start()
{
Cmdget_dices(5);
if (isLocalPlayer)
{
cacho_HUD.instance.localPlayer = this;
Update_LHUD();
}
}
// Update is called once per frame
void Update()
{
//Update_GHUD();
//Update_LHUD();
}
[ClientRpc]
internal void Update_GHUD(){
cacho_HUD.instance.Cantidad_G.text=""+propuesta_Global[0];
cacho_HUD.instance.Pinta_G.sprite = Resources.Load<Sprite>("Imagenes/Cara_Dados/"+propuesta_Global[1]);
}
internal void Update_LHUD(){
if (isLocalPlayer)
{
cacho_HUD.instance.Cantidad_L.text=""+propuesta_Local[0];
cacho_HUD.instance.Pinta_L.sprite = Resources.Load<Sprite>("Imagenes/Cara_Dados/"+propuesta_Local[1]);
}
}
[Command]
public void Cmdget_dices(int cantidad_de_dados){
newdices(cantidad_de_dados);
}
public void newdices(int cantidad_de_dados){
for (int i = 0; i < cantidad_de_dados; i++)
{
dados[i]=Random.Range(1, 7);
}
dados[5]=cantidad_de_dados;
}
[Command]
public void Cmdsubmit_apuesta(){
if(cacho_rules.Validar_propuesta(propuesta_Local,propuesta_Global)){
Debug.Log("Verdadero");
propuesta_Global=new List<int>(propuesta_Local);
Update_GHUD();
}
Debug.Log("Falso");
}
internal void submit_a(){
Cmdsubmit_apuesta();
}
internal void cantidad(int x){
if (isLocalPlayer)
{
propuesta_Local[0]=(x+propuesta_Local[0])%11;
if(propuesta_Local[0]<0){propuesta_Local[0]=0;}
Update_LHUD();
}
}
internal void pinta(int x){
if (isLocalPlayer)
{
propuesta_Local[1]=(propuesta_Local[1]+6+x)%6;
if(propuesta_Local[1]==0){propuesta_Local[1]=6;}
Update_LHUD();
}
}
}
Comment
Your answer
Follow this Question
Related Questions
Unity Mirror OnStartServer spawn GameObjects 1 Answer
What is the best way to send data from a client to the server using Mirror? 1 Answer
My SyncVar resets each time a client joins. 0 Answers
I'm getting an error: "AudioClip can't be deserialized because it has no default constructor" 1 Answer
Having problems with multiplayer syncing 0 Answers