public void LoadPrefab() { this.name = GetID().ToString(); this.isAlive = true; string path = GetPrefabPath(); assetRequest = AssetsLoader.I.Load(EAssetProcessFlag.Singleton, path, "prefab"); GameObject go = assetRequest.GetInstantiate() as GameObject; Canvas canvas = go.GetComponent <Canvas>(); canvas.renderMode = RenderMode.ScreenSpaceOverlay; CanvasScaler scaler = go.GetComponent <CanvasScaler>(); if (scaler != null) { scaler.screenMatchMode = CanvasScaler.ScreenMatchMode.Expand; } this.layout = new T(); this.layout.RootObject = go; this.layout.RootTransform = go.GetComponent <RectTransform>(); this.layout.Parse(go); this.OnInstantiated(); this.RegisterEvent(); layout.RootObject.SetActive(false); isActive = false; }