예제 #1
0
        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;
        }