Пример #1
0
    private void CreateWingItem(int index)
    {
        GameObject go = UIResourceManager.Instance.CloneGameObject(wingItemProfab);

        if (go == null)
        {
            GameDebug.Log("wingItemProfab not found");
        }

        UIEventListener.Get(go).onDrag = OnWingItemDrag;
        UIEventTrigger et = go.GetComponent <UIEventTrigger>();

        EventDelegate.Add(et.onPress, OnWingItemPress);
        EventDelegate.Add(et.onRelease, OnWingItemRelease);
        go.SetActive(true);
        go.name                 = index.ToString(CultureInfo.InvariantCulture);
        go.transform.parent     = winggrid.transform;
        go.transform.localScale = Vector3.one;
        WingItemUI tempItem  = new WingItemUI(go);
        var        commonRes = DataManager.WingCommonTable[mWingMoudle.GetWingIdByIndex(index)] as WingCommonTableItem;

        UIAtlasHelper.SetSpriteImage(tempItem.mWingSprite, commonRes.wingPicLow);
        mWingItemUIList.Add(tempItem);

        //tempItem.mWingPicAni = AnimationManager.Instance.CreateParticleAnimation(4, go);
        // GameDebug.Log(commonRes.wingPicAni);
        // tempItem.mWingPicAni.gameObject.SetActive(true);
//         tempItem.mWingPicAni.RebuildSpriteList();
//         tempItem.mWingPicAni.Reset();
    }
Пример #2
0
 /// <summary>
 /// 切换翅膀
 /// </summary>
 void OnChangeToggle(GameObject go)
 {
     for (int i = 0; i < listGame.Count; i++)
     {
         if (listGame[i] != null && listGame[i].GetComponent <UIToggle>().value)
         {
             //刷新激活界面
             WingItemUI wingItemUI = listGame[i].GetComponent <WingItemUI>();
             WingRef    info       = null;
             if (wingItemUI != null)
             {
                 info = wingItemUI.Info;
             }
             if (info != null && WingDicton.ContainsKey(info.id))
             {
                 wingActive.SetWingActiveUI(WingDicton[info.id] as WingInfo);
                 if (notActiveGo != null)
                 {
                     notActiveGo.SetActive(false);
                 }
                 if (ActiveGo != null)
                 {
                     ActiveGo.SetActive(true);
                 }
                 curWingInfo = WingDicton[info.id] as WingInfo;
                 RefreshModel(activeWing);
             }
             //刷新未激活界面
             else if (info != null)
             {
                 wingNotActive.SetWingNotActiveUI(info);
                 if (notActiveGo != null)
                 {
                     notActiveGo.SetActive(true);
                 }
                 if (ActiveGo != null)
                 {
                     ActiveGo.SetActive(false);
                 }
                 curWingInfo = new WingInfo(info);
                 RefreshModel(notActiveWing);
             }
         }
     }
 }
Пример #3
0
    /// <summary>
    /// 动态创建翅膀
    /// </summary>
    void CreateWing()
    {
        int index = 0;

        if (wingGo != null)
        {
            wingGo.SetActive(true);
        }
        for (int i = 0; i < listGame.Count; i++)
        {
            DestroyImmediate(listGame[i].gameObject);
        }
        listGame.Clear();
        using (var data = DataDic.GetEnumerator())
        {
            while (data.MoveNext())
            {
                GameObject go = GameObject.Instantiate(wingGo);
                go.transform.parent        = wingGo.transform.parent;
                go.transform.localScale    = Vector3.one;
                go.transform.localPosition = new Vector3(-316 + 125 * index, 206, 0);
                //默认是选中第一个翅膀
                //if (index == 0) go.GetComponent<UIToggle>().startsActive = true;
                //刷新翅膀toggle
                WingItemUI ui = go.GetComponent <WingItemUI>();
                if (ui != null)
                {
                    ui.ShowWingInfo(data.Current.Value);
                    listGame.Add(ui);
                }
                index++;
            }
        }
        if (wingGo != null)
        {
            wingGo.SetActive(false);
        }
    }
Пример #4
0
    private void UpdateUI()
    {
        mIsDirty = false;
        jinglianBtn.isEnabled     = !mWingMoudle.IsFullLevel();
        jinglianTxt.applyGradient = jinglianBtn.isEnabled;

        WingCommonTableItem mCommorRes;

        WingItemUI wing_item_ui = mWingItemUIList[CurPageNum - 1];

        if (wing_item_ui == null)
        {
            GameDebug.LogError("获取wing_item_ui失败");
            return;
        }

        IsTryOn            = wing_item_ui.IsTryOn;
        State              = mWingMoudle.GetWingState(CurPageNum);
        wing_item_ui.State = State;
        mCommorRes         = mWingMoudle.GetCommonResByIndex(CurPageNum);
        //GameDebug.Log("state:"+State);
        wingName.text = mCommorRes.wingName;

        if (State == WingState.Locked)
        {
            int  condition;
            bool isActive = mWingMoudle.CheckCondition(ref mCommorRes, out condition);
            wing_item_ui.SetDaChengPicVisable(Convert.ToInt32(condition));
            WingDescriptText.text = mCommorRes.desc;
            jihuotiaojianTxt.text = StringHelper.GetString("wing_condition");
            zhanValue.text        = StringHelper.GetString("wing_no_active");
            for (int i = 0; i < WingDefine.MaxConditonNum; ++i)
            {
                if ((condition & (1 << i)) == 0) //条件没有达成
                {
                    UIAtlasHelper.SetSpriteImage(mConditionUIList[i].biaoji1, "wing0:wing0-nocom", true);
                    UIAtlasHelper.SetSpriteImage(mConditionUIList[i].num1, "wing0:wing0-019");
                }
                else
                {
                    UIAtlasHelper.SetSpriteImage(mConditionUIList[i].biaoji1, "wing0:wing0-003", true);
                    UIAtlasHelper.SetSpriteImage(mConditionUIList[i].num1, "wing0:wing0-011");
                }

                Type tp                = mCommorRes.GetType();
                int  conditionId       = Convert.ToInt32(tp.GetField(("condition" + (i + 1))).GetValue(mCommorRes));
                ConditionTableItem cti = DataManager.ConditionTable[conditionId] as ConditionTableItem;
                if (cti != null)
                {
                    mConditionUIList[i].content1.text = cti.mDesc;
                }
            }

            jihuoAni.gameObject.SetActive(isActive);
            equipWord.text = StringHelper.GetString("wing_equip");
            UIAtlasHelper.SetButtonImage(equipBtn, "common:btn_yellow_4word");
            tip.gameObject.SetActive(true);
            tip.text = StringHelper.GetString("wingtip").Replace("?", mCommorRes.middleLevel.ToString());
        }
        else
        {
            WingItemData       wing_item_data;
            WingLevelTableItem wing_level_res;

            if (!mWingMoudle.GetWingItemData(CurPageNum, out wing_item_data))
            {
                return;
            }
            if (!mWingMoudle.GetWingLevelRes(wing_item_data.id, (int)wing_item_data.level, out wing_level_res))
            {
                return;
            }
            levelnum.text         = "LV" + wing_item_data.level;
            zhanValue.text        = wing_level_res.battleScore.ToString();
            jihuotiaojianTxt.text = StringHelper.GetString("wing_property");
            if (wing_item_data.level < WingDefine.Max_Wing_Level)
            {
                string re             = StringHelper.GetString("nextlevel") + ":";
                var    next_level_res = DataManager.WingLevelTable[wing_item_data.id * 1000 + wing_item_data.level + 1] as WingLevelTableItem;
                if (next_level_res != null)
                {
                    nextLevel.text        = re + GetPropString(next_level_res.propertyType, next_level_res.propertyNum);
                    levelPercent.text     = wing_item_data.process + "/" + next_level_res.costNum;
                    levelProcessbar.value = (float)wing_item_data.process / (float)next_level_res.costNum;
                }
            }
            else
            {
                nextLevel.text        = "";
                levelPercent.text     = "已满级";
                levelProcessbar.value = 1;
            }
            buffDesc.text = wing_level_res.buffDesc;
            string picName = WingModule.GetWingPic(wing_item_data.id, (int)wing_item_data.level);
            if (picName != mWingItemUIList[CurPageNum - 1].mWingSprite.spriteName)
            {
                UIAtlasHelper.SetSpriteImage(mWingItemUIList[CurPageNum - 1].mWingSprite, picName);
            }

            for (int i = 0; i < WingDefine.PropertyNum; i++)
            {
                uint num      = 0;
                uint totalnum = 0;
                switch (i)
                {
                case 0:
                    num      = wing_item_data.life;
                    totalnum = wing_item_data.liftTotal;
                    break;

                case 1:
                    num      = wing_item_data.attack;
                    totalnum = wing_item_data.attackTotal;
                    break;

                case 2:
                    num      = wing_item_data.defence;
                    totalnum = wing_item_data.defenceTotal;
                    break;

                case 3:
                    num      = wing_item_data.critical;
                    totalnum = wing_item_data.criticalTotal;
                    break;

                case 4:
                    num      = wing_item_data.power;
                    totalnum = wing_item_data.powerTotal;
                    break;
                }

                mProps[i].propname.text        = GetPropString(i, num);
                mProps[i].propProcessBar.value = (float)num / (float)totalnum;

                if (mProps[i].propProcessBar.value.Equals(1))
                {
                    UIAtlasHelper.SetSpriteImage(mProps[i].foreGround, "common:process_short_fg1");
                }
                else
                {
                    UIAtlasHelper.SetSpriteImage(mProps[i].foreGround, "common:processbar_short_fg2");
                }
            }

            UIAtlasHelper.SetSpriteImage(stuff, ItemManager.Instance.getItemBmp(mCommorRes.costId));
            stuffname.text = ItemManager.Instance.getItemName(mCommorRes.costId);
            PlayerDataModule pdm = ModuleManager.Instance.FindModule <PlayerDataModule>();
            stuffnum.text = pdm.GetItemNumByID(mCommorRes.costId).ToString();

            if (State == WingState.Wear)
            {
                equipWord.text = StringHelper.GetString("wing_takeoff");
                UIAtlasHelper.SetButtonImage(equipBtn, "common:btn_blue_4word");
            }
            else
            {
                equipWord.text = StringHelper.GetString("wing_equip");
                UIAtlasHelper.SetButtonImage(equipBtn, "common:btn_yellow_4word");
            }
            int level = wing_item_data.level < mCommorRes.middleLevel ? mCommorRes.middleLevel : mCommorRes.hightLevel;
            tip.text = StringHelper.GetString("wingtip").Replace("?", level.ToString());
            tip.gameObject.SetActive(wing_item_data.level < mCommorRes.middleLevel);
        }
        pageBar.CurPageNum = mWingMoudle.GetWingPageCount();
        pageBar.LockPage   = PlayerDataPool.Instance.MainData.mWingData.GetLockIndex();
    }