Синтаксис:
Используется csharp
void LateUpdate()
{
if (Spawn.Players.Count > 0)
{
transform.position = new Vector3(Spawn.Players[0].transform.localPosition.x, transform.position.y, Spawn.Players[0].transform.localPosition.z);
}
}
void Update()
{
if(Spawn.Players[0].name == "Dead")
{
FindBot();
}
}
{
if (Spawn.Players.Count > 0)
{
transform.position = new Vector3(Spawn.Players[0].transform.localPosition.x, transform.position.y, Spawn.Players[0].transform.localPosition.z);
}
}
void Update()
{
if(Spawn.Players[0].name == "Dead")
{
FindBot();
}
}
Это скрипт камеры, которая следует за игроком. Spawn.Players - список всех ботов, индексом 0 игрок.
Вот часть функции смерти игрока
Синтаксис:
Используется csharp
public void Dead()
{
//Отключаем все компоненты с персонажа и помечаем его как мертвый
GetComponent<NavMeshAgent>().enabled = false;
GetComponent<PlayerControl>().enabled = false;
tag = "Dead";
name = "Dead";
}
{
//Отключаем все компоненты с персонажа и помечаем его как мертвый
GetComponent<NavMeshAgent>().enabled = false;
GetComponent<PlayerControl>().enabled = false;
tag = "Dead";
name = "Dead";
}
Ну и вот само переключение режима бота в режим игрока
Синтаксис:
Используется csharp
private void FindBot()
{
int r = Random.Range(1, Spawn.Players.Count);
Spawn.Players[0] = Spawn.Players[r];
Spawn.Players.Remove(Spawn.Players[r]);
Spawn.Players[0].GetComponent<NavMeshAgent>().enabled = false;
Spawn.Players[0].GetComponent<PlayerControl>().enabled = true;
Spawn.Players[0].tag = "Player";
}
{
int r = Random.Range(1, Spawn.Players.Count);
Spawn.Players[0] = Spawn.Players[r];
Spawn.Players.Remove(Spawn.Players[r]);
Spawn.Players[0].GetComponent<NavMeshAgent>().enabled = false;
Spawn.Players[0].GetComponent<PlayerControl>().enabled = true;
Spawn.Players[0].tag = "Player";
}
Все срабатывает. Но бывают ситуации когда в один момент времени умирает игрок и несколько ботов. Рандом срабатывает как раз на одного из погибших ботов и ни какого переключения не происходит. А у правление остается у мертвого игрока (Катается труп без анимации)