private void OnPointerEnter() { Debug.Log("Enter !"); itemDescription = PrefabLoader.LoadPrefab(PrefabLoader.cPrefabDir, "ItemDescription"); transform.root.gameObject.AddChild(itemDescription); RectTransform rt = itemDescription.GetComponent <RectTransform>(); rt.pivot = new Vector2(0, 1); itemDescription.transform.position = new Vector3( GetComponent <RectTransform>().position.x + (GetComponent <RectTransform>().rect.width / 2), GetComponent <RectTransform>().position.y + (GetComponent <RectTransform>().rect.height / 2), itemDescription.transform.position.z ); itemDescription.transform.localScale = new Vector3( (rt.localScale.x * transform.root.localScale.x) * 0.7f, (rt.localScale.y * transform.root.localScale.y) * 0.7f, (rt.localScale.z * transform.root.localScale.z) * 0.7f ); ItemDescription description = itemDescription.GetComponent <ItemDescription>(); description.descriptions[(int)ItemDescription.Description.Name].text = item.nameString; description.descriptions[(int)ItemDescription.Description.DungeonLevel].text = item.dungeonLevelString; description.descriptions[(int)ItemDescription.Description.Wearable].text = item.wearableString; description.descriptions[(int)ItemDescription.Description.WearingLocation].text = item.locationString; description.descriptions[(int)ItemDescription.Description.Stat].text = item.statString; description.descriptions[(int)ItemDescription.Description.Classes].text = item.classesString; description.descriptions[(int)ItemDescription.Description.RequiredLevel].text = item.requireLevelString; description.descriptions[(int)ItemDescription.Description.Price].text = item.priceString; }
public static async UniTask <TDialog> CreateDialog <TDialog>(DialogType dialogType, Action <TDialog> onInitialized = null) where TDialog : DialogPresenterBase { RectTransform parent = UICanvasManager.Instance.DialogRoot; TDialog prefab = PrefabLoader.LoadPrefab <TDialog>(dialogType); return(await CommonDialogManager.Instance.CreateDialog(prefab, onInitialized)); }
void Awake() { if (!isLoaded && !isLoading) { isLoading = true; PrefabLoader.LoadPrefab("ui/prefabs.u3dassetbundle", "UICanvas", LoadCallBack, false); } }
void OnGUI() { EditorGUILayout.BeginVertical(); { EditorGUILayout.BeginHorizontal(); { EditorGUILayout.BeginVertical(); { UserName = EditorGUILayout.TextField("Name", UserName); ServerKind = (Server.Name)EditorGUILayout.EnumPopup("Server", ServerKind); CampKind = (Camp.Name)EditorGUILayout.EnumPopup("Camp", CampKind); RacesKind = (Races.Name)EditorGUILayout.EnumPopup("Races", RacesKind); SexKind = (Sex.Name)EditorGUILayout.EnumPopup("Sex", SexKind); ClassesKind = (Classes.Name)EditorGUILayout.EnumPopup("Classes", ClassesKind); EditorGUILayout.EndVertical(); if (GUILayout.Button("Clear")) { } } } EditorGUILayout.EndHorizontal(); g = (GameObject)EditorGUILayout.ObjectField("GameObject", g, typeof(GameObject), false); m = (MonoBehaviour)EditorGUILayout.ObjectField("MonoBehaviour", m, typeof(MonoBehaviour), false); if (GUILayout.Button("Add Part of Player")) { /* * foreach(KeyValuePair<> val in PartsOfPlayer) * { * * } */ } if (GUILayout.Button("Make Player")) { GameObject playerObject = GameObject.Find("Player"); if (playerObject) { DestroyImmediate(playerObject); playerObject = null; } GameObject cameraObject = GameObject.FindWithTag("MainCamera"); if (cameraObject) { Destroy(cameraObject); cameraObject = null; } playerObject = PrefabLoader.LoadPrefab(PrefabLoader.cCharacter, "Player", new Vector3(0, 0.5f, 0)); } } EditorGUILayout.EndVertical(); }
private void CreateSlot(int index) { var slotPrefab = PrefabLoader.LoadPrefab("Prefabs/InventorySlot"); var slot = Instantiate(slotPrefab, _options.contentTransform).GetComponent <InventorySlot>(); slot.Init(index); _slots.Add(index, slot); slot.OnItemDropEvent += OnItemDrop; }
/// <summary> /// 用于增加缓冲池中对应路径的对象数量 /// </summary> /// <param name="path">prefab路径</param> /// <param name="number">需要增加的数目</param> public static void AddGameObject(string abName, string assetName, int number = 1) { PrefabLoader.LoadPrefab(abName, assetName, (prefab) => { for (int i = 0; i < number; i++) { //根据路径读取并且实例化对象 Quaternion qu = new Quaternion(); qu.eulerAngles = Vector3.zero; //随机摆放实例化的对象池对象,因为怕对象之间的物理力相互影响 GameObject go = GameObject.Instantiate(prefab, new Vector3(Random.Range(1, 100), Random.Range(1, 100), Random.Range(1, 100)), qu) as GameObject; //把实例化的对象取消激活,打入缓冲池 Instance.DestroyGO(go); } }); }
// Start is called before the first frame update void Start() { PrefabLoader.LoadPrefab("ui/prefabs.u3dassetbundle", "Canvas", LoadCallBack); }
void OnGUI() { EditorGUILayout.HelpBox("Simple dynamic list editor.\nPress Enter to apply field changes.", MessageType.Info); EditorGUILayout.BeginVertical(); { ScrollPosition = EditorGUILayout.BeginScrollView(ScrollPosition); ClassesKind = (Classes.Name)EditorGUILayout.EnumPopup("Classes", ClassesKind); foreach (Skill val in skills) { EditorGUILayout.BeginVertical(); { EditorGUILayout.BeginHorizontal(); { EditorGUILayout.BeginVertical(); { val.Name = EditorGUILayout.TextField("Name", val.Name); val.UseDistance = EditorGUILayout.FloatField("UseDistance", val.UseDistance); val.CooldownDuration = EditorGUILayout.FloatField("CooldownDuration", val.CooldownDuration); val.Cooldown = EditorGUILayout.FloatField("Cooldown", val.Cooldown); val.CastingDuration = EditorGUILayout.FloatField("CastingDuration", val.CastingDuration); val.Casting = EditorGUILayout.FloatField("CastingTime", val.Casting); } EditorGUILayout.EndVertical(); val.Icon = (Sprite)EditorGUILayout.ObjectField("Sprite", val.Icon, typeof(Sprite), false); } EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); } EditorGUILayout.EndVertical(); } } if (GUILayout.Button("Add Skill")) { skills.Add(new Skill()); } if (GUILayout.Button("Create Skill")) { GameObject skillCanvas = PrefabLoader.LoadPrefab(PrefabLoader.cSkills, "SkillCanvas"); skillBook = PrefabLoader.LoadPrefab(PrefabLoader.cSkills, "SkillBook"); GameObject skillWindow = PrefabLoader.LoadPrefab(PrefabLoader.cSkills, "SkillWindow"); GameObject cooldownManager = PrefabLoader.LoadPrefab(PrefabLoader.cSkills, "CooldownManager"); castingBar = PrefabLoader.LoadPrefab(PrefabLoader.cSkills, "CastingBar"); skillCanvas.AddChild(skillBook, new Vector3(-150f, 78, 0), new Vector2(682, 462)); skillCanvas.AddChild(skillWindow); skillCanvas.AddChild(cooldownManager); skillCanvas.AddChild(castingBar); for (int i = 0; i < skills.Count; i++) { GameObject skillObject = PrefabLoader.LoadPrefab(PrefabLoader.cSkills, "SkillObject"); skillObject.GetComponent <Image>().sprite = skills[i].Icon; skillObject.GetComponent <Button>().image.sprite = skills[i].Icon; skillObject.GetComponent <Button>().onClick.AddListener(skillObject.GetComponent <CoolDown>().StartCoolDown); skillObject.GetComponent <CoolDown>().icon = skillObject.GetComponent <Image>(); skillObject.GetComponent <CoolDown>().duration = skills[i].CooldownDuration; skillObject.GetComponent <CoolDown>().cooldown = 0f; skillObject.GetComponent <CoolDown>().castingBar = castingBar.GetComponent <Slider>(); skillObject.GetComponent <CoolDown>().castingDuration = skills[i].CastingDuration; skillObject.GetComponent <CoolDown>().castingTime = 0f; skillObject.transform.GetChild(0).GetComponentInChildren <Image>().sprite = skills[i].Icon; skillBook.AddChild(skillObject); } } EditorGUILayout.EndScrollView(); EditorGUILayout.EndVertical(); }
// Start is called before the first frame update void Start() { LoadCallBackDel += LoadCallBack;; PrefabLoader.LoadPrefab("ui/prefabs.u3dassetbundle", "Canvas", LoadCallBackDel); }
// 根据需加载队列,加载面板 void LoadView() { if (_QueNeedOpen.Count > 0) { ViewOpenStruct viewOpenStruct = _QueNeedOpen.Dequeue(); // 从需加载队列中读取界面 // 判断面板是否已经显示出来 if (IsDisplay(viewOpenStruct.asset)) { // 由于已经打开所以缓存中一定会有面板实例 BaseView tempBaseView = GetBaseViewFromCache(viewOpenStruct.asset); DisplayView(tempBaseView, viewOpenStruct); return; } // 尝试从缓存中读取面板实例 BaseView baseView = GetBaseViewFromCache(viewOpenStruct.asset); if (baseView != null) { baseView.CancelDispose(); // 取消释放 SetViewParent(baseView); OpenView(baseView, viewOpenStruct); return; } PrefabLoader.LoadPrefab(viewOpenStruct.asset, (obj) => { GameObject prefab = obj as GameObject; baseView = prefab.GetComponent <BaseView>(); GameObject go = null; if (baseView != null) { switch (baseView.uiType.uiViewType) { case UIViewType.Normal: go = Instantiate(prefab); baseView = go.GetComponent <BaseView>(); _DicNormalViews.Add(viewOpenStruct.asset.ToString(), baseView); break; case UIViewType.Fixed: go = Instantiate(prefab); baseView = go.GetComponent <BaseView>(); _DicFixedViews.Add(viewOpenStruct.asset.ToString(), baseView); break; case UIViewType.PopUp: go = GameObjectPool.Instance.InstantiateGO(prefab); baseView = go.GetComponent <BaseView>(); break; default: break; } SetViewParent(baseView); OpenView(baseView, viewOpenStruct); } else { Debug.LogError("预制体:" + prefab.name + "上没有挂载baseview脚本"); } }); } }// function_end