Почему не меняется цифра у объекта ?
Добавлено: 08 май 2023, 13:09
В общем, у меня есть онлайн режим на фотоне, и там может быть 7 игроков максимум (в одной комнате) у них у всех одинаковое имя без цифр в конце, а мне надо чтобы в конце каждой машины до 7-ой были соотв. цифры (1 машина - *название машины*1, 2 машина - *название машины*2 и т.д), у всех машины абсолютно одинаковые названия, но этот скрипт присваивает цифру только первой машине, а остальные создаются с одинаковыми именами
этот скрипт создает машину :
а этот пытается добавлять цифры к машинам :
Заранее большое спасибо!
этот скрипт создает машину :
Синтаксис:
Используется csharp
using Photon.Pun;
using UnityEngine;
public class SpawnManager : MonoBehaviour
{
public GameObject[] Spawns;
public Transform Player;
private void Awake()
{
// Получаем номер создаваемой машины
int carNumber = PhotonNetwork.CurrentRoom.PlayerCount;
// Создаем машину и добавляем номер в имя
GameObject car = PhotonNetwork.Instantiate(Player.name, Spawns[Random.Range(0, Spawns.Length)].transform.position, Quaternion.identity);
car.name += carNumber;
// Вызываем метод, который присвоит нужный тег машине
AllTheCarsController.AssignTagToCar(car.name, "Car" + carNumber);
}
}
using UnityEngine;
public class SpawnManager : MonoBehaviour
{
public GameObject[] Spawns;
public Transform Player;
private void Awake()
{
// Получаем номер создаваемой машины
int carNumber = PhotonNetwork.CurrentRoom.PlayerCount;
// Создаем машину и добавляем номер в имя
GameObject car = PhotonNetwork.Instantiate(Player.name, Spawns[Random.Range(0, Spawns.Length)].transform.position, Quaternion.identity);
car.name += carNumber;
// Вызываем метод, который присвоит нужный тег машине
AllTheCarsController.AssignTagToCar(car.name, "Car" + carNumber);
}
}
а этот пытается добавлять цифры к машинам :
Синтаксис:
Используется csharp
using UnityEngine;
public class AllTheCarsController : MonoBehaviour
{
public static void AssignTagToCar(string carName, string tag)
{
// Получаем все машины в сцене с тегом "Car"
GameObject[] allCars = GameObject.FindGameObjectsWithTag("Car");
// Ищем нужную машину по имени
foreach (GameObject car in allCars)
{
if (car.name == carName)
{
// Нашли нужную машину, присваиваем ей тег
car.tag = tag;
break;
}
}
}
public void Start()
{
// Нечего не нужно делать при старте
}
}
public class AllTheCarsController : MonoBehaviour
{
public static void AssignTagToCar(string carName, string tag)
{
// Получаем все машины в сцене с тегом "Car"
GameObject[] allCars = GameObject.FindGameObjectsWithTag("Car");
// Ищем нужную машину по имени
foreach (GameObject car in allCars)
{
if (car.name == carName)
{
// Нашли нужную машину, присваиваем ей тег
car.tag = tag;
break;
}
}
}
public void Start()
{
// Нечего не нужно делать при старте
}
}
Заранее большое спасибо!