using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class MFIScript : MonoBehaviour { public GameObject mfiPrefab; GameObject ScreenGO; string mfiName = ""; // mfi1,... Dictionary MFIObjects = new Dictionary(); // МФИ запчасти Manager man; ScEditor sce; string curScr = ""; string prevScr = ""; public bool ses=true; private bool isShowPIRedMsg = false; void Start() { man = GameObject.Find("Manager").GetComponent(); if (man.mode == "scedit") sce = GameObject.Find("ScEditor").GetComponent(); else sce = null; } public void LoadPrefab(string _mfiName) { if (man == null) Start(); mfiName = _mfiName; for (int i = 0; i < mfiPrefab.transform.childCount; i++) Instantiate(mfiPrefab.transform.GetChild(i).gameObject, this.gameObject.transform); this.gameObject.SetActiveRecursively(true); Transform[] allMFIObjects = this.gameObject.transform.GetComponentsInChildren(); foreach(Transform MFIObj in allMFIObjects) if(!MFIObj.name.StartsWith("Panel")) { MFIObj.gameObject.SetActive(true); MFIObj.gameObject.name = mfiName + "_" + MFIObj.gameObject.name.Replace("(Clone)", ""); MFIObj.gameObject.layer = LayerMask.NameToLayer(mfiName.ToUpper()); string newname = MFIObj.gameObject.name.Replace(mfiName + "_", ""); if (!newname.StartsWith("Button") && newname != "selScreenBtn" && newname != "BlackBack" && newname != "test") if(!MFIObjects.ContainsKey(newname)) MFIObjects.Add(newname, MFIObj.gameObject); else { Debug.LogError("Duplicate of MFI objects: " + mfiName+newname); } if(MFIObj.gameObject.name == mfiName + "_" + "selScreenBtn") { if (man.mode != "scedit") MFIObj.gameObject.SetActive(false); else MFIObj.gameObject.GetComponent