/// <summary> /// 为每个大类下添加一个子物体 Main /// </summary> /// <param name="granule">某一颗粒大类</param> public void CreateMain(GameObject granule) { if (PrefabObj) { var prefab = Object.Instantiate(PrefabObj, granule.transform); Undo.RegisterCreatedObjectUndo(prefab, "MainPrefab"); prefab.name = PrefabObj.name; // 给 Main 更换 Sprite ,并且直接传值给颗粒大类的 Image; prefab.transform.GetComponent <Image>().sprite = ChinarAtlas.LoadSprite("UI/Assembling/Granule Library", "零件库-" + granule.name); granule.GetComponent <Button>().targetGraphic = granule.transform.Find("Main").GetComponent <Image>(); } else { WindowTips(" Main 的预设不能为空"); } }
/// <summary> /// 第二种:AssetBundle加载 —— 外部 /// </summary> private void AssetBundleLoadMethod() { UiAssetBundleImage.sprite = ChinarAtlas.LoadSprite(Application.streamingAssetsPath + "/ChinarAssetBundles/atlas/chinar.unity3d", "Chinar2", false); }
/// <summary> /// 第一种:Resources加载 —— 内部 /// </summary> private void ResourcesLoadMethod() { UiResourcesImage.sprite = ChinarAtlas.LoadSprite("Texture/Atlas/Chinar", "Chinar1"); }