Example #1
0
    //----

    public void Init(Action <MemoryStream> _sendDataCallBack, Action _overCallBack)
    {
        battle = new Battle();

        overCallBack = _overCallBack;

        battle.ClientInit(_sendDataCallBack, Refresh, SendCommandOK, BattleOver);

        SuperRaycast.SetIsOpen(true, "1");

        SuperRaycast.checkBlockByUi = true;

        SuperRaycast.SetCamera(battleCamera);

        Dictionary <int, UnitSDS> tmpDic = StaticData.GetDic <UnitSDS> ();

        Dictionary <int, UnitSDS> .ValueCollection.Enumerator enumerator = tmpDic.Values.GetEnumerator();

        while (enumerator.MoveNext())
        {
            UnitSDS sds = enumerator.Current;

            if (sds.isHero)
            {
                HeroCellData cellData = new HeroCellData(sds.ID, false, 0, true);

                heroList.Add(cellData);

                heroDic.Add(sds.ID, cellData);
            }
            else
            {
                UnitCellData cellData = new UnitCellData(sds.ID, 0);

                unitList.Add(cellData);

                unitDic.Add(sds.ID, cellData);
            }
        }

        unitSuperList.SetData(unitList);

        heroSuperList.SetData(heroList);

        unitSuperList.CellClickHandle = UnitCellClick;

        gameObject.SetActive(false);

        SuperFunction.Instance.AddEventListener <RaycastHit, int> (quad, SuperRaycast.GetMouseClick, QuadClick);
    }
Example #2
0
    public override void OnPointerClick(PointerEventData eventData)
    {
        if (selected)
        {
            superList.SetSelectedIndex(-1);
        }
        else
        {
            HeroCellData cellData = data as HeroCellData;

            if (cellData.selectable)
            {
                base.OnPointerClick(eventData);
            }
        }
    }
Example #3
0
    public override bool SetData(object _data)
    {
        HeroCellData cellData = _data as HeroCellData;

        UnitSDS sds = StaticData.GetData <UnitSDS> (cellData.id);

        idTf.text = sds.ID.ToString();

        prizeTf.text = sds.prize.ToString();

        if (cellData.added)
        {
            idTf.color = Color.red;
        }
        else
        {
            idTf.color = Color.black;
        }

        if (cellData.cd == 0)
        {
            cdImg.gameObject.SetActive(false);
        }
        else
        {
            cdImg.gameObject.SetActive(true);

            UnitSDS unitSDS = StaticData.GetData <UnitSDS>(cellData.id);

            SkillSDS skillSDS = StaticData.GetData <SkillSDS>(unitSDS.skill);

            cdImg.fillAmount = (float)cellData.cd / skillSDS.cd;
        }

        if (selected && !cellData.selectable)
        {
            superList.SetSelectedIndex(-1);
        }

        return(base.SetData(_data));
    }
Example #4
0
    private void RefreshUi()
    {
        bool refresh = false;

        Dictionary <int, int> unitPool;

        Dictionary <int, Unit> heroPool;

        Dictionary <int, Dictionary <int, UnitCommandData> > unitCommandPool;

        Dictionary <int, HeroCommandData> heroCommandPool;

        Dictionary <int, SkillCommandData> skillCommandPool;

        if (battle.clientIsMine)
        {
            unitPool = battle.mUnitPool;

            heroPool = battle.mHeroPool;

            unitCommandPool = battle.mUnitCommandPool;

            heroCommandPool = battle.mHeroCommandPool;

            skillCommandPool = battle.mSkillCommandPool;
        }
        else
        {
            unitPool = battle.oUnitPool;

            heroPool = battle.oHeroPool;

            unitCommandPool = battle.oUnitCommandPool;

            heroCommandPool = battle.oHeroCommandPool;

            skillCommandPool = battle.oSkillCommandPool;
        }

        Dictionary <int, UnitCellData> .ValueCollection.Enumerator enumerator = unitDic.Values.GetEnumerator();

        while (enumerator.MoveNext())
        {
            UnitCellData cellData = enumerator.Current;

            int num;

            if (unitPool.ContainsKey(cellData.id))
            {
                num = unitPool [cellData.id];
            }
            else
            {
                num = 0;
            }

            Dictionary <int, Dictionary <int, UnitCommandData> > .ValueCollection.Enumerator enumerator3 = unitCommandPool.Values.GetEnumerator();

            while (enumerator3.MoveNext())
            {
                Dictionary <int, UnitCommandData> .ValueCollection.Enumerator enumerator4 = enumerator3.Current.Values.GetEnumerator();

                while (enumerator4.MoveNext())
                {
                    if (enumerator4.Current.id == cellData.id)
                    {
                        num++;
                    }
                }
            }

            if (cellData.num != num)
            {
                cellData.num = num;

                refresh = true;
            }
        }

        if (refresh)
        {
            unitSuperList.SetDataAndKeepLocation(unitList);

            refresh = false;
        }

        Dictionary <int, HeroCellData> .ValueCollection.Enumerator enumerator2 = heroDic.Values.GetEnumerator();

        while (enumerator2.MoveNext())
        {
            HeroCellData cellData = enumerator2.Current;

            bool added = heroPool.ContainsKey(cellData.id);

            int cd = 0;

            bool selectable = true;

            if (!added)
            {
                if (heroCommandPool.ContainsKey(cellData.id))
                {
                    added = true;

                    selectable = false;
                }
            }
            else
            {
                Unit hero = heroPool[cellData.id];

                if (hero.sds.GetSkill() != 0)
                {
                    cd = hero.skillCd;
                }
            }

            if (selectable && added)
            {
                if (cd > 0)
                {
                    selectable = false;
                }
                else
                {
                    if (skillCommandPool.ContainsKey(cellData.id))
                    {
                        selectable = false;
                    }
                }
            }

            if (cellData.added != added)
            {
                cellData.added = added;

                refresh = true;
            }

            if (cellData.cd != cd)
            {
                cellData.cd = cd;

                refresh = true;
            }

            if (cellData.selectable != selectable)
            {
                cellData.selectable = selectable;

                refresh = true;
            }
        }

        if (refresh)
        {
            heroSuperList.SetDataAndKeepLocation(heroList);
        }

        moneyTf.text = battle.clientIsMine ? battle.mMoney.ToString() : battle.oMoney.ToString();
    }