//隐藏图标 -- 给新的动画添加    wxl
    public IEnumerator HideIcon(int pos, float delay, string name)
    {
        Debug.Log(" hide icon  = " + pos + " name = " + name);
        foreach (DragonAoYiItem tI in items)
        {
            if (tI.Icon != null && tI.Icon.spriteName != null)
            {
                {
                    int      tAY     = int.Parse(tI.Icon.spriteName);
                    AoYiData tAYData = Core.Data.dragonManager.getAoYiData(tAY);

                    if (tAYData.name == name)
                    {
                        tI.gameObject.SetActive(false);
                        yield return(new WaitForSeconds(delay));

                        AoYiList.GetComponent <UIGrid> ().Reposition();
                    }
                }
            }
        }

//		if(pos >= 0 && pos < items.Length) {
//			items[pos].gameObject.SetActive(false);
//			yield return new WaitForSeconds(delay);
//			//wxl
//			SlideUsedOne(pos);
//		}
    }
Beispiel #2
0
        // 提升己方奥义触发几率
        public void improveAoYiPossibility()
        {
            if (_AoYiItem._type == BT_AoYi.ImproveAoYi)
            {
                AoYiData tD = Core.Data.dragonManager.getAoYiData(_AoYiItem._ID);


                List <float[]> tLi = _AoYiItem._effect;
                _AoYiItem._effect = new List <float[]> ();


                foreach (float[] arrItem in tLi)
                {
                    float[] tF = new float[2] {
                        Formularf(arrItem [0]), arrItem[1]
                    };
                    tF[0] = Formularf(arrItem [0]);
                    tF[1] = arrItem[1];
                    _AoYiItem._effect.Add(tF);
                }

                //不知道为什么 还会引用到 config data
//                foreach(float[] arrItem in _AoYiItem._effect) {
//					ConsoleEx.Write (" arrItem  === " + arrItem[0] + " , " + arrItem[1] + "  iddd   == " + _AoYiItem._ID,"yellow"  );
//                    arrItem[0] = Formularf(arrItem[0]);
//                    arrItem[0] = arrItem[0] > 100 ? 100 : arrItem[0];//保证概率不超过100
//
//                }
            }
        }
    public List <AoYi> getAllAoYi()
    {
        List <AoYi>     aoYiList     = new List <AoYi>();
        List <AoYiData> aoYiDataList = new List <AoYiData>(AoyiConfig.Values);

        for (int i = 0; i < aoYiDataList.Count; i++)
        {
            AoYiData aoYiData = aoYiDataList[i];
            AoYi     aoYi     = null;

            foreach (AoYi aoyiTemp in this.AoYiDic.Values)
            {
                if (aoYiData.ID == aoyiTemp.AoYiDataConfig.ID)
                {
                    aoYi = aoyiTemp;
                    break;
                }
            }

            if (aoYi == null)
            {
                aoYi = new AoYi(new RTAoYi(aoYiData.ID), aoYiData);
                aoYiList.Insert(aoYiList.Count, aoYi);
            }
            else
            {
                aoYiList.Insert(0, aoYi);
            }
        }
        return(aoYiList);
    }
Beispiel #4
0
    public AoYi(RTAoYi runtime, DragonManager manager)
    {
        Utils.Assert(runtime == null || manager == null, "Invalidate argument in HugeBeast Class Constructor");

        RTData = runtime;
        config = manager.getAoYiData(RTData.num);

        Utils.Assert(config == null, "Aoyi Config data can't be initialized. AoYi Id = " + RTData.num.ToString());
    }
    public AoYiData getAoYiData(int num)
    {
        AoYiData result = null;

        if (!AoyiConfig.TryGetValue(num, out result))
        {
            result = null;
        }
        return(result);
    }
Beispiel #6
0
        public BattleAoYi(Battle_AoYi[] data, DragonManager dragonMgr, SkillManager skillMgr)
        {
            //初始化
            _AoYi       = new Dictionary <int, CAoYi>();
            AoYiNumList = new List <int>();

            if (data != null && dragonMgr != null && skillMgr != null)
            {
                foreach (Battle_AoYi item in data)
                {
                    if (item != null)
                    {
                        AoYiNumList.Add(item.num);

//						AoYiData config = dragonMgr.getAoYiData(item.num);

                        AoYiData config = Core.Data.dragonManager.getAoYiData(item.num);

                        AoYiData tConfig = new AoYiData();

                        tConfig.basic       = config.basic;
                        tConfig.description = config.description;
                        tConfig.dragonType  = config.dragonType;
                        tConfig.effect      = new List <float[]> ();
                        for (int i = 0; i < config.effect.Count; i++)
                        {
                            float[] tI = new float[2];
                            tI = config.effect [i];
                            tConfig.effect.Add(tI);
//							tConfig.effect.Add (config.effect[i]);
                        }
                        tConfig.efinfo      = config.efinfo;
                        tConfig.ef_first    = config.ef_first;
                        tConfig.enhanced    = config.enhanced;
                        tConfig.exp         = config.exp;
                        tConfig.growth      = config.growth;
                        tConfig.ID          = config.ID;
                        tConfig.info        = config.info;
                        tConfig.maxLevel    = config.maxLevel;
                        tConfig.name        = config.name;
                        tConfig.skillID     = config.skillID;
                        tConfig.type        = config.type;
                        tConfig.unlockLevel = config.unlockLevel;

                        _AoYi[item.num] = new CAoYi(tConfig, item.lv, item.num, skillMgr);
                    }
                }
            }
        }
Beispiel #7
0
    //装备奥义  changed by wxl
    void equipAoYiCompleted(AoYiData aoYiData)
    {
        Core.Data.dragonManager.equipAoYiCompletedDelegate = equipAoYiCompleted;

        foreach (AoYi aoYi in Core.Data.dragonManager.AoYiDic.Values)
        {
            if (aoYi.AoYiDataConfig.ID == aoYiData.ID)
            {
                ComLoading.Open();
                if (aoYi.Pos != -1)
                {
                    orgAYPos = aoYi.Pos;
                }
                Core.Data.dragonManager.equipAoYiRequest(aoYi.ID, currentEquipPos + 1);
                break;
            }
        }
        equipAoYiData = aoYiData;
    }
Beispiel #8
0
        public BT_AoYi(AoYiData aoyiConfig, int ID, SkillManager skillMgr)
        {
            if (aoyiConfig == null)
            {
                throw new DragonException("AoYi configure is empty.");
            }
            if (skillMgr == null)
            {
                throw new DragonException("Skill Manager is empty.");
            }

            this._ID     = ID;
            this._Name   = aoyiConfig.name;
            this._effect = aoyiConfig.effect;

            this._efinfo  = aoyiConfig.efinfo;
            this._skillOp = aoyiConfig.skillID;
            this._type    = aoyiConfig.type;
            this._basic   = aoyiConfig.basic;
            this._growth  = aoyiConfig.growth;

            this._SkillOpConfig = skillMgr.getSkillOpDataConfig(this._skillOp);
        }
Beispiel #9
0
 public CAoYi(AoYiData config, int lv, int Id, SkillManager skillMgr)
 {
     this._AoYiItem = new BT_AoYi(config, Id, skillMgr);
     this._Lv       = lv;
     this._used     = 0;
 }
Beispiel #10
0
    //重置红点的位置
    private void resetRedPoint(string aYName = null, bool resetAoYiList = false)
    {
        //位置
        int count = Att_AoYiList.items.Length;

        int posNum = -1;


        for (int i = 0; i < count; i++)
        {
            if (Att_AoYiList.items [i] != null)
            {
                if (Att_AoYiList.items [i].Icon.spriteName != null)
                {
                    if (Att_AoYiList.items [i].gameObject.activeInHierarchy == true)
                    {
                        int      tAoYiNum = int.Parse(Att_AoYiList.items [i].Icon.spriteName);
                        AoYiData tData    = Core.Data.dragonManager.getAoYiData(tAoYiNum);
                        if (tData != null && tData.name == aYName)
                        {
                            posNum += (i + 1);
                            break;
                        }
                    }
                    else
                    {
                        posNum--;
                    }
                }
            }
        }

        if (posNum == -1)
        {
            posNum = 0;
        }
        if (WhoAttack)
        {
            Att_Explore.transform.localPosition = initAttRedPosition + (40 * posNum) * Vector3.right;
        }
        else
        {
            Def_Explore.transform.localPosition = initDefRedPosition + (40 * posNum) * Vector3.right;
        }

//		Debug.Log ("     attt  pos  ===  " +Att_Explore.transform.localPosition  );


        if (resetAoYiList)
        {
            ResetAYList();
//			Att_AoYiList.AoYiList.transform.localPosition = initAttAoYiPosition;
//			Att_AoYiList.AoYiList.transform.localPosition = initAttAoYiPosition;
//			Def_AoYiList.AoYiList.transform.localPosition = initDefAoYiPosition;
        }



        //颜色
        UISprite sprite = Att_Explore.GetComponent <UISprite>();

        sprite.color = Color.white;

        sprite       = Def_Explore.GetComponent <UISprite>();
        sprite.color = Color.white;

        //大小
        Att_Explore.transform.localScale = Vector3.one;
        Def_Explore.transform.localScale = Vector3.one;

        //
        Att_Explore.gameObject.SetActive(false);
        Def_Explore.gameObject.SetActive(false);

        //龙要隐藏
        BigDragon.SetActive(false);
    }
Beispiel #11
0
    BanBattleProcess.Item AddSkillItem(int skillType, int attackIndex, int defenseIndex, int attackBP, int defenseBP, int attackAP, int defenseAP, int extra_1, int extra_2, int extra_3, int skillId, int leftAp, CMsgHeader item = null)
    {
        BanBattleProcess.Item proItem = null;

        //判定是SkillID 还是AoYiID
        //非常恶心的判定
        if (isAoYiSkill(skillId))
        {
            AoYiData aoyiCfg = Core.Data.dragonManager.getAoYiData(skillId);

            int pos = getAoYiSkillPos(skillId, attackIndex == extra_1);

            proItem            = new BanBattleProcess.Item(0, 0, attackIndex, defenseIndex, attackBP, defenseBP, attackAP, defenseAP, BanBattleProcess.Period.DragonAoYi, extra_1, extra_2, extra_3, pos, leftAp, aoyiCfg.name, item);
            proItem.aoyiConfig = aoyiCfg;
            BanBattleProcess.Instance.list_Item.Add(proItem);

            return(proItem);
        }
        else
        {
            int sAction = GetSkillAction(extra_1, skillId);

            SkillData data      = Core.Data.skillManager.getSkillDataConfig(skillId);
            string    skillname = "";
            if (data != null)
            {
                skillname = data.name;
            }

            CSkill_Type cskType = CSkill_Type.Normal;
            if (System.Enum.IsDefined(typeof(CSkill_Type), skillType))
            {
                cskType = (CSkill_Type)skillType;
            }


            if (cskType == CSkill_Type.Anger)
            {
                proItem = new BanBattleProcess.Item(data.param.num, 0, attackIndex, defenseIndex, attackBP, defenseBP, attackAP, defenseAP, BanBattleProcess.Period.AngrySkill, extra_1, extra_2, extra_3, sAction, leftAp, skillname, item);
            }
            else if (cskType == CSkill_Type.Normal)
            {
                proItem = new BanBattleProcess.Item(0, 0, attackIndex, defenseIndex, attackBP, defenseBP, attackAP, defenseAP, BanBattleProcess.Period.NormalSkill, extra_1, extra_2, extra_3, sAction, leftAp, skillname, item);
            }
            else if (cskType == CSkill_Type.Die)
            {
                proItem = new BanBattleProcess.Item(0, 0, attackIndex, defenseIndex, attackBP, defenseBP, attackAP, defenseAP, BanBattleProcess.Period.DieSkill, extra_1, extra_2, extra_3, sAction, leftAp, skillname, item);
            }
            else if (cskType == CSkill_Type.AfterWar)
            {
                proItem = new BanBattleProcess.Item(0, 0, attackIndex, defenseIndex, attackBP, defenseBP, attackAP, defenseAP, BanBattleProcess.Period.AfterBattle, extra_1, extra_2, extra_3, sAction, leftAp, skillname, item);
            }

            if (proItem != null)
            {
                proItem.skillType = cskType;
                proItem.skillId   = skillId;
                BanBattleProcess.Instance.list_Item.Add(proItem);
            }
        }


        return(proItem);
    }
Beispiel #12
0
 public AoYi(RTAoYi runtime, AoYiData config)
 {
     this.RTData = runtime;
     this.config = config;
 }