public FightTmpData GetData(FightTmpData data = null) { if (data != null) { this.data = data; } else { if (this.data == null) { this.data = new FightTmpData(); this.data.curPlieNum = 0; this.data.nNum = 0; this.data.rNum = 0; this.data.srNum = 0; this.data.ssrNum = 0; this.data.gold = 0; this.data.exp = 0; this.data.sword = null; this.data.ss = null; this.data.wand = null; this.data.consumable1 = null; this.data.consumable2 = null; this.data.consumable3 = null; this.data.isBack = false; this.data.isEnd = false; } } return(this.data); }
private void DeadEvent(RoleData roleData, RoleType roleType, Vector3 pos) { curDeadNum++; data = FightTmpManager.Instance.GetData(); //掉落 int dropPoint = Random.Range(1, 101); if (dropPoint > 50) { switch (roleType) { case RoleType.xiaoguai: Pool.Instance.GetObj(AllPath.Instance.dropPrefabsPath + ItemQuality.N.ToString(), pos, Quaternion.identity, transform.parent); break; case RoleType.jyg: Pool.Instance.GetObj(AllPath.Instance.dropPrefabsPath + ItemQuality.R.ToString(), pos, Quaternion.identity, transform.parent); break; case RoleType.boss: if (Random.Range(1, 101) > 50) { Pool.Instance.GetObj(AllPath.Instance.dropPrefabsPath + ItemQuality.SR.ToString(), pos, Quaternion.identity, transform.parent); } else { Pool.Instance.GetObj(AllPath.Instance.dropPrefabsPath + ItemQuality.SSR.ToString(), pos, Quaternion.identity, transform.parent); } break; } } data.gold += roleData.LV * 10; data.exp += roleData.Exp; }
public void FightEnd() { FightTmpData data = FightTmpManager.Instance.GetData(); if (data.curPlieNum % 5 == 0) { data.isBack = true; } Tool.Instance.InstantiateObjOffset(AllPath.Instance.uiPrefabsPath + "Fight_Czy/NextChange", uiCanvas); }
void Start() { data = FightTmpManager.Instance.GetData(); if (data.isBack) { tips.text = "是否返回城镇 <color=red> (选否会直接进入下一层) </color>"; } if (data.curPlieNum == 15) { tips.text = " <color=red> 恭喜通关 </color>"; } }
private void GoBack() { FightTmpData data = FightTmpManager.Instance.GetData(); if (FightTmpManager.Instance.GetData().isEnd) { FightChange.Instance.FightEnd(); } else { FightChange.Instance.FightOver(); } }
void No() { FightTmpData data = FightTmpManager.Instance.GetData(); if (data.isBack) { if (data.curPlieNum == 15) { Destroy(gameObject); return; } data.isBack = false; FightChange.Instance.callback = DestroySelf; StartCoroutine(FightChange.Instance.LoadScene()); } else { Destroy(gameObject); } }
private void ItemAni() { if (takeList.Count == 0) { return; } for (int i = 0; i < takeList.Count; i++) { takeList[i].transform.position = Vector3.Lerp(takeList[i].transform.position, transform.position + transform.up, 0.1f); if (Vector3.Distance(takeList[i].transform.position, transform.position + transform.up) < 0.1f) { ItemQuality quality = (ItemQuality)System.Enum.Parse(typeof(ItemQuality), takeList[i].gameObject.name); FightTmpData getData = FightTmpManager.Instance.GetData(); switch (quality) { case ItemQuality.N: getData.nNum += 1; break; case ItemQuality.R: getData.rNum += 1; break; case ItemQuality.SR: getData.srNum += 1; break; case ItemQuality.SSR: getData.ssrNum += 1; break; } Pool.Instance.RecyleObj(takeList[i].gameObject, "Item"); takeList.RemoveAt(i); } } }
void Start() { HeroManager.Instance.GetCurHero().transform.position = heroTf.position; data = FightTmpManager.Instance.GetData(); data.isEnd = false; GameObject.Find("/UI/Canvas/PhoneFightUI").GetComponent <UIFightController>().ChangePile(); roleList = new List <RoleData>(); List <RoleData> tmpList = RoleManager.Instance.GetAllRole(); roleLv = 0; roleType = 1; path = new System.Text.StringBuilder(); if (data.curPlieNum == 4) { //精英层 roleLv = 50; roleType = 2; deadLimit = 3; } else if (data.curPlieNum == 9) { //精英层 roleLv = 50; roleType = 2; deadLimit = 6; } else if (data.curPlieNum == 14) { //Boss层 roleLv = 60; roleType = 3; deadLimit = 1; } else if (data.curPlieNum < 5) { roleLv = 20; roleType = 1; } else if (data.curPlieNum < 10) { roleLv = 30; roleType = 1; } else if (data.curPlieNum < 15) { roleLv = 40; roleType = 1; } int min = 0; int max = 0; switch (roleType) { case 1: min = 20000; max = 30000; path.Append("XiaoGuai/"); break; case 2: min = 30000; max = 40000; path.Append("JYG/"); break; case 3: min = 40000; max = 50000; path.Append("Boss/"); break; } for (int i = 0; i < tmpList.Count; i++) { if (tmpList[i].ID > min && tmpList[i].ID < max && tmpList[i].LV <= roleLv) { roleList.Add(tmpList[i]); } } //HeroManager.Instance.GetCurHero().GetComponent<Hero>().curHp = HeroManager.Instance.GetCurHeroData().HP; }
void Start() { uiCanvas = GameObject.Find("/Canvas").transform; FightTmpData data = FightTmpManager.Instance.GetData(); if (data.isBack && data.isEnd) { GameObject go = Tool.Instance.InstantiateObjOffset(AllPath.Instance.uiPrefabsPath + "Fight_Czy/Settlement", uiCanvas); Transform content = go.transform.Find("Scroll View/Viewport/Content"); Button closeBtn; closeBtn = go.transform.Find("CloseBtn").GetComponent <Button>(); closeBtn.onClick.AddListener(() => { Destroy(go); }); GameObject gold = Tool.Instance.InstantiateObjOffset(AllPath.Instance.uiPrefabsPath + "Fight_Czy/ItemCell", content); gold.transform.Find("Icon").GetComponent <Image>().sprite = Resources.Load <Sprite>("UI/Sprites/Ui_jinbi5"); gold.transform.Find("Text").GetComponent <Text>().text = "Gold:" + data.gold; GameObject exp = Tool.Instance.InstantiateObjOffset(AllPath.Instance.uiPrefabsPath + "Fight_Czy/ItemCell", content); exp.transform.Find("Icon").GetComponent <Image>().sprite = Resources.Load <Sprite>("UI/Sprites/Ui_jingyan"); exp.transform.Find("Text").GetComponent <Text>().text = "Exp:" + data.exp; List <Item> itemList = ItemManager.Instance.GetAllItem(); quickSort(itemList); itemList.Reverse(); int ssr = 0; int sr = 0; int r = 0; for (int i = 0; i < itemList.Count; i++) { switch (itemList[i].Quality) { case ItemQuality.SSR: ssr = i; break; case ItemQuality.SR: sr = i; break; case ItemQuality.R: r = i; break; } } List <Item> resultList = new List <Item>(); Item tmp = null; GameObject item = null; for (int i = 0; i < data.ssrNum; i++) { tmp = itemList[Random.Range(0, ssr)]; resultList.Add(tmp); item = Tool.Instance.InstantiateObjOffset(AllPath.Instance.uiPrefabsPath + "Fight_Czy/ItemCell", content); item.transform.Find("Icon").GetComponent <Image>().sprite = Resources.Load <Sprite>(tmp.Icon); item.transform.Find("Text").GetComponent <Text>().text = "名称:" + tmp.Name + " 品质:" + tmp.Quality.ToString(); } for (int i = 0; i < data.srNum; i++) { tmp = itemList[Random.Range(ssr + 1, sr)]; resultList.Add(tmp); item = Tool.Instance.InstantiateObjOffset(AllPath.Instance.uiPrefabsPath + "Fight_Czy/ItemCell", content); item.transform.Find("Icon").GetComponent <Image>().sprite = Resources.Load <Sprite>(tmp.Icon); item.transform.Find("Text").GetComponent <Text>().text = "名称:" + tmp.Name + " 品质:" + tmp.Quality.ToString(); } for (int i = 0; i < data.rNum; i++) { tmp = itemList[Random.Range(sr + 1, r)]; resultList.Add(tmp); item = Tool.Instance.InstantiateObjOffset(AllPath.Instance.uiPrefabsPath + "Fight_Czy/ItemCell", content); item.transform.Find("Icon").GetComponent <Image>().sprite = Resources.Load <Sprite>(tmp.Icon); item.transform.Find("Text").GetComponent <Text>().text = "名称:" + tmp.Name + " 品质:" + tmp.Quality.ToString(); } for (int i = 0; i < data.nNum; i++) { tmp = itemList[Random.Range(r + 1, itemList.Count)]; resultList.Add(tmp); item = Tool.Instance.InstantiateObjOffset(AllPath.Instance.uiPrefabsPath + "Fight_Czy/ItemCell", content); item.transform.Find("Icon").GetComponent <Image>().sprite = Resources.Load <Sprite>(tmp.Icon); item.transform.Find("Text").GetComponent <Text>().text = "名称:" + tmp.Name + " 品质:" + tmp.Quality.ToString(); } PackageData packageData = PackageManager.Instance.GetPackageData(); PackageManager.Instance.Gold += data.gold; RoleData heroData = HeroManager.Instance.GetCurHeroData(); heroData.Exp += data.exp; heroData.LV += Tool.Instance.LvCheck(heroData.BaseExp, heroData.Exp, heroData.LV)[3]; bool isFind = false; for (int i = 0; i < resultList.Count; i++) { if (resultList[i] is Consumables) { isFind = false; for (int j = 0; j < packageData.consumablesList.Count; j++) { if (packageData.consumablesList[j].ID == resultList[i].ID) { isFind = true; PackageManager.Instance.GetPackageData().consumablesList[j].count += 3; break; } } if (isFind == false) { Consumables con = new Consumables((resultList[i] as Consumables).itemData, 1); PackageManager.Instance.AddItem(con); packageData.consumablesList.Add(con); } } else { PackageManager.Instance.AddItem(new Equip((resultList[i] as Equip).itemData)); } } HeroManager.Instance.SaveData(heroData); PackageManager.Instance.SaveData(PackageManager.Instance.GetPackageData()); } Pool.Instance.ReSet(); data = new FightTmpData(); data.curPlieNum = 0; data.nNum = 0; data.rNum = 0; data.srNum = 0; data.ssrNum = 0; data.gold = 0; data.exp = 0; data.sword = null; data.ss = null; data.wand = null; data.consumable1 = null; data.consumable2 = null; data.consumable3 = null; data.isBack = false; data.isEnd = false; FightTmpManager.Instance.GetData(data); }
protected virtual void Start() { hud = GameObject.Find("/HUDCanvas").transform; uifc = GameObject.Find("/UI/Canvas/PhoneFightUI").GetComponent <UIFightController>(); fData = FightTmpManager.Instance.GetData(); }
void Start() { data = FightTmpManager.Instance.GetData(); }
public void Init() { RoleData tempData = HeroManager.Instance.GetCurHeroData(); roledata = new RoleData( tempData.ID, tempData.Name, tempData.Prefab, tempData.HP, tempData.BaseExp, tempData.LV, tempData.Exp, tempData.ATK, tempData.DEF, tempData.Speed, tempData.ATKSpeed, tempData.Crit, tempData.Repel, tempData.WeaponId, tempData.ArmorId, //TODO //因为先加载了角色加载器 所以背包管理器是空的 所以拿不到背包里面的东西 tempData.Weapon, tempData.Armor, tempData.StrSkillList, tempData.SkillList ); //Debug.Log(PackageManager.Instance.GetItem<Equip>(roledata.WeaponId)); curATK = (int)(roledata.ATK * (roledata.LV / 2 + 0.5f)) + PackageManager.Instance.GetItem <Equip>(roledata.WeaponId).ATK; curRepel = roledata.Repel + PackageManager.Instance.GetItem <Equip>(roledata.WeaponId).Repel - 3; moveSpeed = roledata.Speed; takeList = new List <GameObject>(); rightHard = transform.Find("Root/Hips/Spine_01/Spine_02/Spine_03/Clavicle_R/Shoulder_R/Elbow_R/Hand_R"); leftHard = transform.Find("Root/Hips/Spine_01/Spine_02/Spine_03/Clavicle_L/Shoulder_L/Elbow_L/Hand_L"); weapon = rightHard.GetChild(rightHard.childCount - 1); curSkill = null; //cc.enabled = true; //canMove = true; atkNum = 0; isDead = false; rollDir = Vector3.zero; curHp = roledata.HP * roledata.LV; ItemCD = -1; curItemCD = 0; skillList = HeroSkillManager.Instance.GetSkillList(); weaponType = ItemType.LongHandle; curAniName = new System.Text.StringBuilder(); BindSkillCD(); //排序技能顺序 quickSort(curSkillList); fightData = FightTmpManager.Instance.GetData(); //TODO 要改为 roledata.Prefab //List<int> aa = Tool.Instance.GetShortcut("1#3#4|4#0#0"); List <int> aa = Tool.Instance.GetShortcut(roledata.Prefab); fightData.sword = PackageManager.Instance.GetItem <Equip>(aa[0]); fightData.ss = PackageManager.Instance.GetItem <Equip>(aa[1]); fightData.wand = PackageManager.Instance.GetItem <Equip>(aa[2]); fightData.consumable1 = PackageManager.Instance.GetItem <Consumables>(aa[3]); fightData.consumable2 = PackageManager.Instance.GetItem <Consumables>(aa[4]); fightData.consumable3 = PackageManager.Instance.GetItem <Consumables>(aa[5]); consumablesList = new List <Consumables>() { fightData.consumable1, fightData.consumable2, fightData.consumable3 }; BindItemCD(); }