public void OnEnable() { skillAsset = (SkillAsset)target; skillAsset.ListSkillGroup.Sort((x, y) => { return(x.FrameTime < y.FrameTime ?-1:1); }); addTagFrame = 0; Init(); }
private void LoadAssetHandler(Object target, string path) { SkillAsset gameObject = target as SkillAsset; if (null == gameObject) { return; } SkillAsset skillAsset = GameObject.Instantiate(gameObject); if (null != skillAsset) { for (int i = 0; i < skillAsset.ListSkillGroup.Count; i++) { for (int k = 0; k < skillAsset.ListSkillGroup[i].ListSkillInfo.Count; k++) { uint frame = Command.StartFrame + skillAsset.ListSkillGroup[i].FrameTime; if (skillAsset.ListSkillGroup[i].FrameTime < 0) { frame = skillAsset.ListSkillGroup[i].FrameTime; } if (!_skillActionDic.ContainsKey(frame)) { _skillActionDic.Add(frame, new List <SkillActionBase>()); } _skillActionDic[frame].Add(GetSkillActionBase(frame, skillAsset.ListSkillGroup[i].ListSkillInfo[k])); } } } }
public void ShowDetail(string skillId) { SkillAsset sa = pSkillMgr.GetSkillAsset(skillId); if (sa == null) { view.DetailMask.gameObject.SetActive(true); return; } view.DetailName.text = sa.SkillName; view.DetailDesp.text = sa.SkingDesp; SkillInfo info = pSkillMgr.GetOwnedSkill(skillId); if (info == null) { //未学习技能 view.AfterStudyPanel.gameObject.SetActive(false); view.BeforeStudyPanel.gameObject.SetActive(true); view.MoneyCost.text = "1000"; string s = ""; for (int i = 0; i < sa.PrerequistSkills.Count; i++) { s += sa.PrerequistSkills[i].skillId; s += sa.PrerequistSkills[i].level; s += "\n"; } view.Prerequist.text = s; string cards = sa.AttachCards[0]; string[] cardsArray = cards.Split(','); view.CurLevelCards.text = ""; for (int i = 0; i < cardsArray.Length; i++) { view.NextLevelCards.text += cardsArray[i] + "\n"; } } else { view.AfterStudyPanel.gameObject.SetActive(true); view.BeforeStudyPanel.gameObject.SetActive(false); view.Difficulty.text = "300"; UpdateExp(info); string cards = sa.AttachCards[info.SkillLvl - 1]; string[] cardsArray = cards.Split(','); view.CurLevelCards.text = ""; for (int i = 0; i < cardsArray.Length; i++) { view.CurLevelCards.text += cardsArray[i] + "\n"; } } view.DetailMask.gameObject.SetActive(false); }
public SkillAsset GetSkillAsset(string skillId) { SkillAsset asset = null; if (!SkillAssetDict.TryGetValue(skillId, out asset)) { asset = LoadSkillAsset(skillId); } return(asset); }
public SkillAsset LoadSkillAsset(string SkillId) { SkillAsset asset = mResLoader.LoadResource <SkillAsset>("Skills/SkillId"); if (asset != null) { SkillAssetDict.Add(SkillId, asset); } return(asset); }
public int Func(string rootSkill, int depth) { SkillAsset sa = GetSkillAsset(rootSkill); int totalWidth = 0; foreach (SkillPrerequist pre in sa.PrerequistSkills) { string nextId = pre.skillId; int width = Func(nextId, depth + 1); totalWidth += width; } return(totalWidth); }
private int CalculateExp(SkillInfo skillInfo) { SkillAsset sa = GetSkillAsset(skillInfo.SkillId); if (sa == null) { return(0); } //难度 属性值 track经验值 计算出来 有min 和 max //int difficult=sa.Difficulties[0]; //mRoleMdl.AddExpBonux return(30); }
public static void main() { string path = GetSelectedPathOrFallback(); SkillAsset skillAsset = AssetDatabase.LoadAssetAtPath(path + "/skillTemp.asset", typeof(SkillAsset)) as SkillAsset; bool isNewAsset = skillAsset == null ? true : false; if (isNewAsset) { skillAsset = ScriptableObject.CreateInstance <SkillAsset>(); skillAsset.ListSkillGroup = new List <SkillAssetInforGroup>(); AssetDatabase.CreateAsset(skillAsset, path + "/skillTemp.asset"); } }
public void LearnCurSkill() { //if(selectedSkill == -1 || selectedSkill >= model.NowSkills.Count) //{ // return; //} if (selectedSkillId == "") { return; } //string skillId = model.NowSkills[selectedSkill]; string skillId = selectedSkillId; SkillInfo skill = pSkillMgr.GetOwnedSkill(skillId); //满级则返回 if (skill != null && skill.SkillLvl == pSkillMgr.GetSkillAsset(skillId).MaxLevel) { return; } int targetLevel = 1; if (skill != null) { targetLevel = skill.SkillLvl + 1; } SkillAsset sa = pSkillMgr.GetSkillAsset(selectedSkillId); if (rmgr.Money < sa.Prices[targetLevel - 1]) { mUIMgr.ShowHint("没钱"); return; } rmgr.GainMoney(sa.Prices[targetLevel - 1]); pSkillMgr.GainSkills(skillId); ShowDetail(skillId); }
public void GainSkills(string skillId) { if (GetSkillAsset(skillId) == null) { return; } SkillAsset sa = GetSkillAsset(skillId); foreach (SkillPrerequist s in sa.PrerequistSkills) { SkillInfo preSkill = GetOwnedSkill(s.skillId); if (preSkill == null || preSkill.SkillLvl < s.level) { return; } } SkillInfo skillInfo = GetOwnedSkill(skillId); if (skillInfo == null) { skillInfo = new SkillInfo(skillId); OwnedSkills.Add(skillInfo); skillInfo.SkillLvl = 1; } else { skillInfo.SkillLvl += 1; mCardMgr.RemoveSkillCards(skillId); } if (skillInfo.SkillLvl - 1 < sa.AttachCards.Count) { string[] cards = sa.AttachCards[skillInfo.SkillLvl - 1].Split(','); mCardMgr.AddSkillCards(skillId, new List <string>(cards)); } }
private void DisplaySelectedSkillContent(SkillAsset skill) { GUILayout.BeginVertical(); GUILayout.BeginVertical(EditorStyles.helpBox); GUILayout.Label("Parameters", EditorStyles.boldLabel); GUILayout.BeginHorizontal(); GUILayout.Label("Skill Name", GUILayout.Width(100)); skill.Name = EditorGUILayout.TextField(skill.Name); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Cooldown", GUILayout.Width(100)); skill.Cooldown = EditorGUILayout.FloatField(skill.Cooldown); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Cast Time", GUILayout.Width(100)); skill.CastTime = EditorGUILayout.FloatField(skill.CastTime); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Range", GUILayout.Width(100)); skill.Range = EditorGUILayout.FloatField(skill.Range); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Duration", GUILayout.Width(100)); skill.Delay = EditorGUILayout.FloatField(skill.Delay); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Interruptable", GUILayout.Width(100)); skill.Interruptable = EditorGUILayout.Toggle(skill.Interruptable); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Unlocked Level", GUILayout.Width(100)); skill.RequiredLevel = EditorGUILayout.IntField(skill.RequiredLevel); GUILayout.EndHorizontal(); foreach (var extension in SkillEditorUtility.GetExtensions()) { if (extension.CanHandleType(skill.GetType())) { extension.OnGUI(skill); } } GUILayout.EndVertical(); GUILayout.BeginVertical(EditorStyles.helpBox, GUILayout.Height(200)); GUILayout.Label("Prerequisites", EditorStyles.boldLabel); skillPrerequisiteScroll = GUILayout.BeginScrollView(skillPrerequisiteScroll, false, true); for (int i = 0; i < skill.Prerequisites.Count; i++) { SkillPrerequisiteAsset prerequisite = skill.Prerequisites [i]; GUILayout.BeginHorizontal(EditorStyles.toolbar); if (GUILayout.Button("-", EditorStyles.toolbarButton, GUILayout.Width(30)) && EditorUtility.DisplayDialog("Remove prerequisite", "Are you sure you want to delete the prerequisite?", "Delete", "Cancel")) { skill.Prerequisites.RemoveAt(i); } GUILayout.Label("StatType", GUILayout.Width(100)); //prerequisite.StatName = EditorGUILayout.TextField (prerequisite.StatName); var targetStatType = RPGStatTypeDatabase.Instance.Get(prerequisite.StatName, true); if (GUILayout.Button(targetStatType == null ? "Assign Type" : targetStatType.Name, EditorStyles.toolbarButton, GUILayout.Width(100))) { XmlDatabaseEditorUtility.ShowContext(RPGStatTypeDatabase.Instance, (statTypeAsset) => { prerequisite.StatName = statTypeAsset.Id; }, typeof(RPGStatTypeWindow)); } GUILayout.Label("StatValue", GUILayout.Width(100)); prerequisite.StatValue = EditorGUILayout.IntField(prerequisite.StatValue); GUILayout.EndHorizontal(); } GUILayout.FlexibleSpace(); GUILayout.EndScrollView(); if (GUILayout.Button("Add Prerequisite", EditorStyles.toolbarButton)) { var newPrerequisite = new SkillPrerequisiteAsset(); skill.Prerequisites.Add(newPrerequisite); } GUILayout.EndVertical(); GUILayout.BeginVertical(EditorStyles.helpBox); GUILayout.Label("Effects", EditorStyles.boldLabel); skillEffectScroll = GUILayout.BeginScrollView(skillEffectScroll, false, true); GUILayout.BeginHorizontal(); GUILayout.Label("", EditorStyles.boldLabel, GUILayout.Width(30)); GUILayout.Label("Type", EditorStyles.boldLabel, GUILayout.Width(150)); GUILayout.Label("Delay", EditorStyles.boldLabel, GUILayout.Width(50)); GUILayout.EndHorizontal(); for (int i = 0; i < skill.Effects.Count; i++) { //foreach(var effect in skill.Effects){ EffectAsset effect = skill.Effects[i]; GUILayout.BeginHorizontal(EditorStyles.toolbar); if (GUILayout.Button("-", EditorStyles.toolbarButton, GUILayout.Width(30)) && EditorUtility.DisplayDialog("Remove effect", "Are you sure you want to delete the effect?", "Delete", "Cancel")) { skill.Effects.RemoveAt(i); } bool clicked = GUILayout.Toggle(i == SelectedEffectIndex, effect.GetType().Name, ToggleButtonStyle, GUILayout.Width(150)); if (clicked != (i == SelectedEffectIndex)) { if (clicked) { SelectedEffectIndex = i; GUI.FocusControl(null); } else { SelectedEffectIndex = -1; } } effect.Delay = EditorGUILayout.FloatField(effect.Delay, GUILayout.Width(50)); GUILayout.EndHorizontal(); if (SelectedEffectIndex == i) { GUILayout.BeginVertical(EditorStyles.helpBox); foreach (var extension in EffectEditorUtility.GetExtensions()) { if (extension.CanHandleType(effect.GetType())) { extension.OnGUI(effect); } } GUILayout.EndVertical(); } } //Object source = null; //source = EditorGUILayout.ObjectField(source, typeof(Object), true); //AssetDatabase.GetAssetPath (source); GUILayout.FlexibleSpace(); GUILayout.EndScrollView(); if (GUILayout.Button("Add Effect", EditorStyles.toolbarButton)) { if (typeof(PositionSkillAsset).IsAssignableFrom(skill.GetType())) { XmlDatabaseEditorUtility.GetGenericMenu(EffectEditorUtility.GetPositionEffectNames(), (index) => { var skillEffectAsset = EffectEditorUtility.CreatePositionEffectAsset(index); skill.Effects.Add(skillEffectAsset); EditorWindow.FocusWindowIfItsOpen <SkillCollectionWindow> (); }).ShowAsContext(); } else if (typeof(TargetSkillAsset).IsAssignableFrom(skill.GetType())) { XmlDatabaseEditorUtility.GetGenericMenu(EffectEditorUtility.GetTargetEffectNames(), (index) => { var skillEffectAsset = EffectEditorUtility.CreateTargetEffectAsset(index); skill.Effects.Add(skillEffectAsset); EditorWindow.FocusWindowIfItsOpen <SkillCollectionWindow> (); }).ShowAsContext(); } else { XmlDatabaseEditorUtility.GetGenericMenu(EffectEditorUtility.GetNames(), (index) => { var skillEffectAsset = EffectEditorUtility.CreateAsset(index); skill.Effects.Add(skillEffectAsset); EditorWindow.FocusWindowIfItsOpen <SkillCollectionWindow> (); }).ShowAsContext(); } } GUILayout.EndVertical(); GUILayout.EndVertical(); }
public void GainSkills(string skillId) { if (GetSkillAsset(skillId) == null) { return; } SkillAsset sa = GetSkillAsset(skillId); foreach (SkillPrerequist s in sa.PrerequistSkills) { SkillInfo preSkill = GetOwnedSkill(s.skillId); if (preSkill == null || preSkill.SkillLvl < s.level) { return; } } SkillInfo skillInfo = GetOwnedSkill(skillId); if (skillInfo == null) { skillInfo = new SkillInfo(skillId, sa); OwnedSkills.Add(skillInfo); skillInfo.SkillLvl = 1; BaseSkillAsset bsa = sa as BaseSkillAsset; if (bsa != null) { mCardMgr.AddSkillCards(skillId, new List <string>(bsa.BaseCardList)); } } else { skillInfo.SkillLvl += 1; } mRoleMdl.AddAllStatus(sa.LevelStatusAdd[skillInfo.SkillLvl - 1]); Debug.Log("加了" + sa.LevelStatusAdd[skillInfo.SkillLvl - 1]); ExtentSkillAsset esa = sa as ExtentSkillAsset; if (esa == null) { return; } if (skillInfo.SkillLvl > 1) { AttachCardsInfo attachInfo = esa.AttachCardInfos[skillInfo.SkillLvl - 2]; for (int i = 0; i < attachInfo.operators.Count; i++) { mCardMgr.ChangeSkillCard(esa.BaseSkillId, attachInfo.operators[i].to, attachInfo.operators[i].from); } } { AttachCardsInfo attachInfo = esa.AttachCardInfos[skillInfo.SkillLvl - 1]; for (int i = 0; i < attachInfo.operators.Count; i++) { mCardMgr.ChangeSkillCard(esa.BaseSkillId, attachInfo.operators[i].from, attachInfo.operators[i].to); } } }
public SkillInfo(string skillId, SkillAsset sa) { this.SkillId = skillId; this.sa = sa; }
public void SwitchChoose(int newTab) { if (newTab == -1 || model.nowTab == newTab) { return; } model.nowTab = newTab; for (int i = 0; i < view.TypeTabGroup.tabs.Count; i++) { CardsTabView childView = view.TypeTabGroup.tabs[i] as CardsTabView; childView.BG.color = Color.white; } { CardsTabView childView = view.TypeTabGroup.tabs[newTab] as CardsTabView; childView.BG.color = Color.red; } List <string> skills = new List <string>(); if (newTab == 0) { skills = pSkillMgr.GetSkillByType("common"); } else if (newTab == 1) { skills = pSkillMgr.GetSkillByType("quality"); } else if (newTab == 2) { skills = pSkillMgr.GetSkillByType("caiyi"); } else if (newTab == 3) { skills = pSkillMgr.GetSkillByType("game"); } model.NowSkills = skills; foreach (SkillItemView vv in view.SkillViewList) { resLoader.ReleaseGO("UI/Schedule/ScheduleItem", vv.root.gameObject); } view.SkillViewList.Clear(); foreach (string sid in skills) { SkillAsset sa = pSkillMgr.GetSkillAsset(sid); GameObject go = resLoader.Instantiate("UI/Schedule/ScheduleItem", view.ChoicesContainer); SkillItemView vv = new SkillItemView(); vv.BindView(go.transform); vv.Title.text = sa.SkillName; view.SkillViewList.Add(vv); vv.Unselect(); ClickEventListerner listener = vv.Icon.gameObject.GetComponent <ClickEventListerner>(); if (listener == null) { listener = vv.Icon.gameObject.AddComponent <ClickEventListerner>(); } listener.ClearClickEvent(); listener.OnClickEvent += delegate { SelectSkill(vv); }; } HideDetail(); }
public void ShowDetail(string skillId) { SkillAsset sa = pSkillMgr.GetSkillAsset(skillId); if (sa == null) { HideDetail(); return; } view.DetailName.text = sa.SkillName; view.DetailDesp.text = sa.SkingDesp; SkillInfo info = pSkillMgr.GetOwnedSkill(skillId); if (info == null) { //未学习技能 view.PracticeePanel.gameObject.SetActive(false); view.LearnPanel.gameObject.SetActive(true); view.LearnBtn.gameObject.SetActive(true); { view.MoneyCost.gameObject.SetActive(true); view.MoneyCost.text = sa.Prices[0] + ""; view.LearningNextLevel.text = "(0->1)"; } view.PracticeBtn.gameObject.SetActive(false); view.CurLevelComp.gameObject.SetActive(false); view.NextLevelComp.gameObject.SetActive(true); string s = ""; for (int i = 0; i < sa.PrerequistSkills.Count; i++) { s += sa.PrerequistSkills[i].skillId; s += sa.PrerequistSkills[i].level; s += "\n"; } view.NextLevelCards.text = sa.LevelDesp[0]; view.NextLevelAward.text = "属性+" + sa.LevelStatusAdd[0]; view.Prerequist.text = s; //ExtentSkillAsset esa = sa as ExtentSkillAsset; //if(esa != null && esa.AttachCardInfos.Count!=0) //{ // AttachCardsInfo attach = esa.AttachCardInfos[0]; // view.CurLevelCards.text = ""; // for (int i = 0; i < attach.operators.Count; i++) // { // } //} } else { BaseSkillAsset bsa = info.sa as BaseSkillAsset; if (bsa == null) { //普通技能 view.PracticeePanel.gameObject.SetActive(true); view.LearnPanel.gameObject.SetActive(false); view.Difficulty.text = "300"; if (info.SkillLvl == info.sa.MaxLevel) { view.PracticeBtn.gameObject.SetActive(false); } else { view.PracticeBtn.gameObject.SetActive(true); } view.LearnBtn.gameObject.SetActive(false); } else { //base技能 view.PracticeePanel.gameObject.SetActive(false); view.LearnPanel.gameObject.SetActive(true); if (info.SkillLvl == info.sa.MaxLevel) { view.LearnBtn.gameObject.SetActive(false); view.MoneyCost.gameObject.SetActive(false); view.LearningNextLevel.text = "(已满级)"; } else { view.LearnBtn.gameObject.SetActive(true); view.MoneyCost.text = sa.Prices[info.SkillLvl] + ""; view.MoneyCost.gameObject.SetActive(true); view.LearningNextLevel.text = "(" + (info.SkillLvl) + "->" + (info.SkillLvl + 1) + ")"; } view.PracticeBtn.gameObject.SetActive(false); } view.CurLevelComp.gameObject.SetActive(true); UpdateExp(info); view.CurLevelCards.text = sa.LevelDesp[info.SkillLvl - 1]; view.CurLevelAward.text = "属性+" + sa.LevelStatusAdd[info.SkillLvl - 1]; if (info.SkillLvl == sa.MaxLevel) { view.NextLevelComp.gameObject.SetActive(false); } else { view.NextLevelComp.gameObject.SetActive(true); view.NextLevelCards.text = sa.LevelDesp[info.SkillLvl]; view.NextLevelAward.text = "属性+" + sa.LevelStatusAdd[info.SkillLvl]; } //ExtentSkillAsset esa = sa as ExtentSkillAsset; //if (esa != null && esa.AttachCardInfos.Count != 0) //{ // AttachCardsInfo attach = esa.AttachCardInfos[0]; // view.CurLevelCards.text = ""; // for (int i = 0; i < attach.operators.Count; i++) // { // } //} } //view.DetailMask.gameObject.SetActive(false); view.Detail.gameObject.SetActive(true); }
public IEnumerator Init(MVersion versions) { CScene scene = SceneManager.CurrentScene; SUser sUser = Global.SUser; List <IEnumerator> list = new List <IEnumerator>(); list.Add(sUser.Download(PromptMessageAsset.Url, versions.prompt_message, (AssetBundle assetbundle) => { Debug.Log("CLogo assetbundle=" + assetbundle); PromptMessageAsset.assetbundle = assetbundle; })); list.Add(sUser.Download(LanguageAsset.WORD_URL, versions.word, (AssetBundle assetbundle) => { LanguageAsset.assetbundle = assetbundle; Language.Reset(LanguageAsset.Data.words); LanguageAsset.Clear(); })); list.Add(sUser.Download(ImageAssetBundleManager.horseUrl, versions.horse_img, (AssetBundle assetbundle) => { AvatarSpriteAsset.assetbundle = assetbundle; ImageAssetBundleManager.horse = AvatarSpriteAsset.Data.meshs; })); list.Add(sUser.Download(ImageAssetBundleManager.headUrl, versions.head_img, (AssetBundle assetbundle) => { AvatarSpriteAsset.assetbundle = assetbundle; ImageAssetBundleManager.head = AvatarSpriteAsset.Data.meshs; })); list.Add(sUser.Download(ImageAssetBundleManager.clothesUrl, versions.clothes_img, (AssetBundle assetbundle) => { AvatarSpriteAsset.assetbundle = assetbundle; ImageAssetBundleManager.clothes = AvatarSpriteAsset.Data.meshs; })); list.Add(sUser.Download(ImageAssetBundleManager.weaponUrl, versions.weapon_img, (AssetBundle assetbundle) => { AvatarSpriteAsset.assetbundle = assetbundle; ImageAssetBundleManager.weapon = AvatarSpriteAsset.Data.meshs; })); list.Add(sUser.Download(WorldAsset.Url, versions.world, (AssetBundle assetbundle) => { WorldAsset.assetbundle = assetbundle; Global.worlds = WorldAsset.Data.worlds; })); list.Add(sUser.Download(ConstantAsset.Url, versions.constant, (AssetBundle assetbundle) => { ConstantAsset.assetbundle = assetbundle; Global.Constant = ConstantAsset.Data.constant; })); list.Add(sUser.Download(NpcAsset.Url, versions.npc, (AssetBundle assetbundle) => { NpcAsset.assetbundle = assetbundle; NpcCacher.Instance.Reset(NpcAsset.Data.npcs); NpcAsset.Clear(); })); list.Add(sUser.Download(NpcEquipmentAsset.Url, versions.npc_equipment, (AssetBundle assetbundle) => { NpcEquipmentAsset.assetbundle = assetbundle; NpcEquipmentCacher.Instance.Reset(NpcEquipmentAsset.Data.npc_equipments); NpcEquipmentAsset.Clear(); })); list.Add(sUser.Download(CharacterStarAsset.Url, versions.characterstar, (AssetBundle assetbundle) => { CharacterStarAsset.assetbundle = assetbundle; CharacterStarCacher.Instance.Reset(CharacterStarAsset.Data.characterStars); CharacterStarAsset.Clear(); })); /*list.Add(sUser.Download(AreaAsset.Url, versions.area, (AssetBundle assetbundle)=>{ * AreaAsset.assetbundle = assetbundle; * AreaCacher.Instance.Reset(AreaAsset.Data.areas); * AreaAsset.Clear(); * }));*/ list.Add(sUser.Download(ItemAsset.Url, versions.item, (AssetBundle assetbundle) => { ItemAsset.assetbundle = assetbundle; ItemCacher.Instance.Reset(ItemAsset.Data.items); ItemAsset.Clear(); })); /*list.Add(sUser.Download(MissionAsset.Url, versions.mission, (AssetBundle assetbundle)=>{ * MissionAsset.assetbundle = assetbundle; * MissionCacher.Instance.Reset(MissionAsset.Data.missions); * MissionAsset.Clear(); * }));*/ list.Add(sUser.Download(SkillAsset.Url, versions.skill, (AssetBundle assetbundle) => { SkillAsset.assetbundle = assetbundle; SkillCacher.Instance.Reset(SkillAsset.Data.skills); SkillAsset.Clear(); })); list.Add(sUser.Download(StrategyAsset.Url, versions.strategy, (AssetBundle assetbundle) => { StrategyAsset.assetbundle = assetbundle; StrategyCacher.Instance.Reset(StrategyAsset.Data.strategys); StrategyAsset.Clear(); })); list.Add(sUser.Download(ExpAsset.Url, versions.exp, (AssetBundle assetbundle) => { ExpAsset.assetbundle = assetbundle; ExpCacher.Instance.Reset(ExpAsset.Data.exps); ExpAsset.Clear(); })); list.Add(sUser.Download(BattlefieldAsset.Url, versions.battlefield, (AssetBundle assetbundle) => { BattlefieldAsset.assetbundle = assetbundle; BattlefieldCacher.Instance.Reset(BattlefieldAsset.Data.battlefields); BattlefieldAsset.Clear(); })); list.Add(sUser.Download(BuildingAsset.Url, versions.building, (AssetBundle assetbundle) => { BuildingAsset.assetbundle = assetbundle; BuildingCacher.Instance.Reset(BuildingAsset.Data.buildings); BuildingAsset.Clear(); })); list.Add(sUser.Download(BaseMapAsset.Url, versions.top_map, (AssetBundle assetbundle) => { BaseMapAsset.assetbundle = assetbundle; BaseMapCacher.Instance.Reset(BaseMapAsset.Data.baseMaps); BaseMapAsset.Clear(); })); list.Add(sUser.Download(CharacterAsset.Url, versions.character, (AssetBundle assetbundle) => { CharacterAsset.assetbundle = assetbundle; CharacterCacher.Instance.Reset(CharacterAsset.Data.characters); CharacterAsset.Clear(); })); list.Add(sUser.Download(TileAsset.Url, versions.tile, (AssetBundle assetbundle) => { TileAsset.assetbundle = assetbundle; TileCacher.Instance.Reset(TileAsset.Data.tiles); TileAsset.Clear(); })); list.Add(sUser.Download(LoginBonusAsset.Url, versions.loginbonus, (AssetBundle assetbundle) => { LoginBonusAsset.assetbundle = assetbundle; LoginBonusCacher.Instance.Reset(LoginBonusAsset.Data.loginbonuses); LoginBonusAsset.Clear(); })); list.Add(sUser.Download(ImageAssetBundleManager.mapUrl, versions.map, (AssetBundle assetbundle) => { ImageAssetBundleManager.map = assetbundle; }, false)); list.Add(sUser.Download(ImageAssetBundleManager.equipmentIconUrl, versions.equipmenticon_icon, (AssetBundle assetbundle) => { ImageAssetBundleManager.equipmentIcon = assetbundle; }, false)); list.Add(sUser.Download(ImageAssetBundleManager.itemIconUrl, versions.item_icon, (AssetBundle assetbundle) => { ImageAssetBundleManager.itemIcon = assetbundle; }, false)); list.Add(sUser.Download(ImageAssetBundleManager.skillIconUrl, versions.skill_icon, (AssetBundle assetbundle) => { ImageAssetBundleManager.skillIcon = assetbundle; }, false)); list.Add(sUser.Download(HorseAsset.Url, versions.horse, (AssetBundle assetbundle) => { HorseAsset.assetbundle = assetbundle; EquipmentCacher.Instance.ResetHorse(HorseAsset.Data.equipments); HorseAsset.Clear(); })); list.Add(sUser.Download(WeaponAsset.Url, versions.weapon, (AssetBundle assetbundle) => { WeaponAsset.assetbundle = assetbundle; EquipmentCacher.Instance.ResetWeapon(WeaponAsset.Data.equipments); WeaponAsset.Clear(); })); list.Add(sUser.Download(ClothesAsset.Url, versions.clothes, (AssetBundle assetbundle) => { ClothesAsset.assetbundle = assetbundle; EquipmentCacher.Instance.ResetClothes(ClothesAsset.Data.equipments); ClothesAsset.Clear(); })); list.Add(sUser.Download(StoryProgressAsset.Url, versions.character, (AssetBundle assetbundle) => { StoryProgressAsset.assetbundle = assetbundle; foreach (string key in StoryProgressAsset.Data.keys) { App.Util.LSharp.LSharpVarlable.SetVarlable(key, "0"); } StoryProgressAsset.Clear(); })); if (App.Util.Global.SUser.self != null) { list.Add(sUser.RequestGet()); } float step = 100f / list.Count; for (int i = 0; i < list.Count; i++) { CLoadingDialog.SetNextProgress((i + 1) * step); yield return(scene.StartCoroutine(list[i])); } yield return(0); }
public static IEnumerator LoadAssetbundle(MVersion versions) { SUser sUser = Global.SUser; List <IEnumerator> list = new List <IEnumerator>(); list.Add(sUser.Download(ImageAssetBundleManager.horseUrl, versions.horse_img, (AssetBundle assetbundle) => { AvatarSpriteAsset.assetbundle = assetbundle; ImageAssetBundleManager.horse = AvatarSpriteAsset.Data.meshs; })); list.Add(sUser.Download(ImageAssetBundleManager.headUrl, versions.head_img, (AssetBundle assetbundle) => { AvatarSpriteAsset.assetbundle = assetbundle; ImageAssetBundleManager.head = AvatarSpriteAsset.Data.meshs; })); list.Add(sUser.Download(ImageAssetBundleManager.clothesUrl, versions.clothes_img, (AssetBundle assetbundle) => { AvatarSpriteAsset.assetbundle = assetbundle; ImageAssetBundleManager.clothes = AvatarSpriteAsset.Data.meshs; })); list.Add(sUser.Download(ImageAssetBundleManager.weaponUrl, versions.weapon_img, (AssetBundle assetbundle) => { AvatarSpriteAsset.assetbundle = assetbundle; ImageAssetBundleManager.weapon = AvatarSpriteAsset.Data.meshs; })); list.Add(sUser.Download(ImageAssetBundleManager.equipmentIconUrl, versions.equipmenticon_icon, (AssetBundle assetbundle) => { ImageAssetBundleManager.equipmentIcon = assetbundle; }, false)); list.Add(sUser.Download(CharacterAsset.Url, versions.character, (AssetBundle assetbundle) => { CharacterAsset.assetbundle = assetbundle; CharacterCacher.Instance.Reset(CharacterAsset.Data.characters); CharacterAsset.Clear(); })); list.Add(sUser.Download(BattlefieldAsset.Url, versions.battlefield, (AssetBundle assetbundle) => { BattlefieldAsset.assetbundle = assetbundle; BattlefieldCacher.Instance.Reset(BattlefieldAsset.Data.battlefields); BattlefieldAsset.Clear(); })); list.Add(sUser.Download(SkillAsset.Url, versions.skill, (AssetBundle assetbundle) => { SkillAsset.assetbundle = assetbundle; SkillCacher.Instance.Reset(SkillAsset.Data.skills); SkillAsset.Clear(); })); list.Add(sUser.Download(NpcAsset.Url, versions.npc, (AssetBundle assetbundle) => { NpcAsset.assetbundle = assetbundle; NpcCacher.Instance.Reset(NpcAsset.Data.npcs); NpcAsset.Clear(); })); list.Add(sUser.Download(TileAsset.Url, versions.tile, (AssetBundle assetbundle) => { TileAsset.assetbundle = assetbundle; TileCacher.Instance.Reset(TileAsset.Data.tiles); TileAsset.Clear(); })); list.Add(sUser.Download(HorseAsset.Url, versions.horse, (AssetBundle assetbundle) => { HorseAsset.assetbundle = assetbundle; EquipmentCacher.Instance.ResetHorse(HorseAsset.Data.equipments); HorseAsset.Clear(); })); list.Add(sUser.Download(WeaponAsset.Url, versions.weapon, (AssetBundle assetbundle) => { WeaponAsset.assetbundle = assetbundle; EquipmentCacher.Instance.ResetWeapon(WeaponAsset.Data.equipments); WeaponAsset.Clear(); })); list.Add(sUser.Download(ClothesAsset.Url, versions.clothes, (AssetBundle assetbundle) => { ClothesAsset.assetbundle = assetbundle; EquipmentCacher.Instance.ResetClothes(ClothesAsset.Data.equipments); ClothesAsset.Clear(); })); list.Add(sUser.Download(ConstantAsset.Url, versions.constant, (AssetBundle assetbundle) => { ConstantAsset.assetbundle = assetbundle; Global.Constant = ConstantAsset.Data.constant; })); float step = 100f / list.Count; for (int i = 0; i < list.Count; i++) { //CLoadingDialog.SetNextProgress((i + 1) * step); yield return(AppManager.CurrentScene.StartCoroutine(list[i])); } yield return(0); }