Переключение управления с игрока на бота

Общие вопросы о Unity3D

Переключение управления с игрока на бота

Сообщение MrDmitry 10 июл 2020, 06:35

На могу сделать правильно переключение с игрока на бота, после смерти игрока.

Синтаксис:
Используется 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();
        }
    }
 


Это скрипт камеры, которая следует за игроком. Spawn.Players - список всех ботов, индексом 0 игрок.

Вот часть функции смерти игрока
Синтаксис:
Используется csharp
public void 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";
    }


Все срабатывает. Но бывают ситуации когда в один момент времени умирает игрок и несколько ботов. Рандом срабатывает как раз на одного из погибших ботов и ни какого переключения не происходит. А у правление остается у мертвого игрока (Катается труп без анимации)
MrDmitry
UNITрон
 
Сообщения: 223
Зарегистрирован: 05 авг 2017, 17:21

Re: Переключение управления с игрока на бота

Сообщение MakarGrom 12 июл 2020, 16:03

После смерти игрока сделай задержку. Потом уже выполняй скрипт переключения.
MakarGrom
UNец
 
Сообщения: 20
Зарегистрирован: 08 апр 2020, 09:12


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12