Итак, я пытаюсь создать многопользовательскую игру здесь с различными игровыми объектами и скриптами на c # для каждого объекта на сцене.
Дело в том, что когда я порождаю объекты, контролируемые игроком, каждый игрок делит контроль над сценариями для каждого порожденного игрового объекта на сцене, это означает, что когда кто-то нажимает, например, «s», каждый игрок движется назад, и это не так, как я хочу игра вести себя.
- Итак, единственный способ, который я знаю, чтобы решить эту проблему, это порождать их со всеми их скриптами (компонентами) отключенными и включать их с другим скриптом в игровом объекте, но мне пришлось сделать скрипт, чтобы каждый компонент один за другим, и у него действительно есть время на создание или редактирование нового скрипта каждый раз, когда я добавляю новый к новым блокам, и так далее, поэтому я решил, что могу сделать что-то вроде этого скрипта ниже.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
public class PlayerNetControl : NetworkBehaviour {
public MonoBehaviour[] components2enable;
public override void OnStartLocalPlayer()
{
foreach (MonoBehaviour cmp in components2enable)
{
cmp.enabled = true;
}
}
}
после этого я ожидал, что каждый "компонент монобихи-поведения", который я добавил в сценарий с помощью единицы, будет включен, когда для игрока, который контролирует только игровой объект, но он ничего не делает, я проверяю компоненты в игровом объекте, тестирующем это все они все еще отключены.
Кроме того, могу ли я решить эту проблему любым другим способом, кроме того, который я знаю? если это так, я бы хотел, чтобы вы осветили меня, научив меня, как.
Пожалуйста, помогите, я недавно начал кодировать, и мне действительно нужна помощь с C #