Exemplo n.º 1
0
    public void CreateTarget()                                                           //  метод создания префаба
    {
        //Debug.Log("вызван создание префаба из спавн пойнта");
        currentType = spManager.AskTypeOfNew();                 // запросить тип нового объекта у менеджера
        switch (currentType)                                    //- выбрать рандомное число от 0 до длины списка префабов
        {
        case Types.typeOfTarget.green:
            randForCreate = Random.Range(0, spManager.PrefabsTargetsGreen.Length);
            currentTarget = Instantiate(spManager.PrefabsTargetsGreen[randForCreate]);
            spManager.SummAllTypesofTargets(Types.typeOfTarget.green, true);
            //currentTargetScript = currentTarget.GetComponent<TargetScript>();
            //Debug.Log("вызван случай зеленый");
            break;

        case Types.typeOfTarget.red:
            randForCreate = Random.Range(0, spManager.PrefabsTargetsRed.Length);
            currentTarget = Instantiate(spManager.PrefabsTargetsRed[randForCreate]);
            //currentTargetScript = currentTarget.GetComponent<TargetScript>();
            spManager.SummAllTypesofTargets(Types.typeOfTarget.red, true);

            //Debug.Log("вызван случай красный");
            break;

        case Types.typeOfTarget.yellow:
            randForCreate = Random.Range(0, spManager.PrefabsTargetsYellow.Length);
            currentTarget = Instantiate(spManager.PrefabsTargetsYellow[randForCreate]);
            //Debug.Log("вызван случай желтый");
            //currentTargetScript = currentTarget.GetComponent<TimeToTalkScript>();
            spManager.SummAllTypesofTargets(Types.typeOfTarget.yellow, true);
            break;
            //case Types.typeOfTarget.green:
            //    randForCreate = Random.Range(0, Types.PrefabsTargetsGreen.Length);
            //    currentTarget = Instantiate(Types.PrefabsTargetsGreen[randForCreate]);
            //    break;
            //case Types.typeOfTarget.red:
            //    randForCreate = Random.Range(0, Types.PrefabsTargetsRed.Length);
            //    currentTarget = Instantiate(Types.PrefabsTargetsRed[randForCreate]);
            //    break;
            //case Types.typeOfTarget.yellow:
            //    randForCreate = Random.Range(0, Types.PrefabsTargetsYellow.Length);
            //    currentTarget = Instantiate(Types.PrefabsTargetsYellow[randForCreate]);
            //    break;
        }

        currentTarget.transform.position = spawnPos.position;
        destroyScript = currentTarget.GetComponent <DestroyTargets>();
        destroyScript.SetType(currentType);
        // currentTargetScript = currentTarget.GetComponent<TargetScript>();
        //if (currentTargetScript != null)
        //{
        //    Debug.Log("currentTargetScript получен");
        //}

        //currentType = currentTargetScript.currentType;    // на всякий случай?
        isActive = true;
        //timer = 0f;
    }
Exemplo n.º 2
0
    public void DestroyTarget()                                                          //  метод уничтожения префаба
    {
        //Debug.Log("Метод дестрой из точки спавна");
        //if (currentTargetScript != null)
        //{
        //    Debug.Log("currentTargetScript != null");
        //}

        spManager.SummAllTypesofTargets(currentType, false);                      // отправить в менеджера спавнов тип объекта для учета
        //currentTargetScript.DestroyTarget();                                     //  - отключения скипта префаба можно вызвать у самого префаба
        destroyScript.DestroyTarget();
        //  - прозрачность можно сделать отдельным скриптом из Даниного

        Destroy(currentTarget);                                                 //  - дестрой префаба можно вызвать после завершения прозрачности
        currentTarget = null;
        // currentTargetScript = null;
        destroyScript = null;
        isActive      = false;
    }