Как активировать SetActive(false) GameObject в Unity3D?

282
27 ноября 2017, 15:55

Есть активный объект с прикреленным скриптом. Есть два объекта в режиме SetActive(false).

if (db_char_id != char_id)
            {
                CreatePlayer = gameObject.AddComponent<CreatePlayerScript>();
                CreatePlayer.RecUserId(char_id);
                CreatePlayer.SetActiveOn();
                Debug.Log("Open CreatePlayerPanel");
            }
            if (db_char_id == char_id)
            {
                Game = gameObject.AddComponent<GameScript>();
                Game.SetActiveOn();
                Debug.Log("Open GamePanel");
            }

Срабатывает логика и запускает метод SetActiveOn() в скрипте, прикрепленном к неактивному объекту на сцене.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GameScript : MonoBehaviour {
public void SetActiveOn()
{
    gameObject.SetActive(true);
}
}

Отладчик спокойно проходит все этапы. В Unity гаснет главное окно (как и положено, командой gameObject.SetActive(false);), но не срабатывает активация неактивного объекта. Почему? Ошибок не выдает.

READ ALSO
Плавное построение графика в chart (C#)

Плавное построение графика в chart (C#)

ЗдравствуйтеКак сделать так, что бы было видно как в chart строится график? Что бы потом его можно было остановить в любой момент по кнопке

341
Интеграция hmailserver и windows forms application

Интеграция hmailserver и windows forms application

Установил и настроил hmailserverХочу написать под него клиент

255
Как сделать blur всего экрана[Unity C#]

Как сделать blur всего экрана[Unity C#]

Есть играПо нажатию на Escape игра становится на паузу

267
Состояние объекта в Unity3D

Состояние объекта в Unity3D

Как можно сохранить текущее состояние объекта, чтобы его можно было загрузить? Например, в течение игры компоненты меняют свои параметры,...

284