Здравствуйте. Сейчас я делаю игру, похожую на 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);
}
}