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; }
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; }