Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
    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;
    }
Ejemplo n.º 3
0
    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);
    }
Ejemplo n.º 4
0
 void Start()
 {
     data = FightTmpManager.Instance.GetData();
     if (data.isBack)
     {
         tips.text = "是否返回城镇 <color=red> (选否会直接进入下一层) </color>";
     }
     if (data.curPlieNum == 15)
     {
         tips.text = " <color=red> 恭喜通关 </color>";
     }
 }
Ejemplo n.º 5
0
    private void GoBack()
    {
        FightTmpData data = FightTmpManager.Instance.GetData();

        if (FightTmpManager.Instance.GetData().isEnd)
        {
            FightChange.Instance.FightEnd();
        }
        else
        {
            FightChange.Instance.FightOver();
        }
    }
Ejemplo n.º 6
0
    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);
        }
    }
Ejemplo n.º 7
0
    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);
            }
        }
    }
Ejemplo n.º 8
0
    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;
    }
Ejemplo n.º 9
0
    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);
    }
Ejemplo n.º 10
0
 protected virtual void Start()
 {
     hud   = GameObject.Find("/HUDCanvas").transform;
     uifc  = GameObject.Find("/UI/Canvas/PhoneFightUI").GetComponent <UIFightController>();
     fData = FightTmpManager.Instance.GetData();
 }
Ejemplo n.º 11
0
 void Start()
 {
     data = FightTmpManager.Instance.GetData();
 }
Ejemplo n.º 12
0
    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();
    }