Как посчитать очки игрока на локальном хосте и клиенте - PullRequest
0 голосов
/ 11 сентября 2018

Здравствуйте. Сейчас я делаю игру, похожую на pacman, но многопользовательскую. У меня проблемы с тем, как объединить в сеть результаты. Я хочу показать свой счет на локальном хосте и собственный счет на клиенте. До сих пор я мог обновлять только оценки для локального хоста Может ли кто-нибудь помочь, пожалуйста?

Оценка менеджера:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Networking;

public class ScoreManager : NetworkBehaviour {


public static int score;        


Text text;                     


void Start()
{

    text = GetComponent<Text>();


    score = 0;
}


void Update()
{
    if (!isServer)
    {
        return;
    }

    text.text = "Score: " + score;
}
}

Ontriggerstart для оценки

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;




public class PacDot : MonoBehaviour {




void OnTriggerEnter2D(Collider2D co)
{

    if (co.tag == "UFO")
    {
        Destroy(gameObject);
        ScoreManager.score++;
    }

}



}

Код игрока:

using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.Networking;


 public class UFOMove : NetworkBehaviour {

public float speed;


private Rigidbody2D rb2d;  



void Start()
{
    rb2d = GetComponent<Rigidbody2D>();
}

void FixedUpdate()
{
    if (!isLocalPlayer)
    {
        return;
    }

    float moveHorizontal = Input.GetAxis("Horizontal");       
    float moveVertical = Input.GetAxis("Vertical");      
    Vector2 movement = new Vector2(moveHorizontal, moveVertical);       
    rb2d.AddForce(movement * speed);
}

}
...