Example #1
0
 /// <summary>
 /// 填充物品信息
 /// </summary>
 private static void FillBaseItemInfo(s_itemtypeInfo info, ref ItemTypeInfo I)
 {
     if (I == null || info == null)
     {
         return;
     }
     I.SetType(info.type);
     I.itemType           = info.id;
     I.m_stype            = info.stype;
     I.m_Icon             = info.icon;
     I.m_Quality          = info.quality;
     I.m_Name             = info.name;
     I.m_Supperpose_limit = info.superpose_limit;
     I.m_isuser           = info.isuse;
     I.m_level            = info.level;
     I.m_money            = info.money;
     I.m_emoney           = info.emoney;
     I.m_sellemoney       = info.sellmoney;
     I.m_title            = info.title;
     I.m_message          = info.message;
     I.m_gtype            = info.gtype;
     I.m_gid  = info.gid;
     I.m_args = info.args;
     I.m_func = info.func;
 }
Example #2
0
    public static ItemTypeInfo GetItemInfo(s_itemtypeInfo info)
    {
        if (info == null)
        {
            return(null);
        }
        ItemTypeInfo I = new ItemTypeInfo();

        I.SetType(info.type);
        I.m_stype            = info.stype;
        I.m_Icon             = info.icon;
        I.m_Quality          = info.quality;
        I.m_Name             = info.name;
        I.m_Supperpose_limit = info.superpose_limit;
        I.m_isuser           = info.isuse;
        I.m_level            = info.level;
        I.m_money            = info.money;
        I.m_emoney           = info.emoney;
        I.m_sellemoney       = info.sellmoney;
        I.m_title            = info.title;
        I.m_message          = info.message;
        I.m_gtype            = info.gtype;
        I.m_gid = info.gid;

        return(I);
    }
Example #3
0
 public void SetData(s_itemtypeInfo info, SoldierInfo soldierInfo, BuildInfo BuildInfo, int wndType = 1)
 {
     m_itemInfo    = info;
     m_wndType     = wndType;
     m_soldierInfo = soldierInfo;
     m_buildInfo   = BuildInfo;
     SetUI();
 }
Example #4
0
    void BtnSure_OnClickEventHandler(UIButton sender)
    {
        switch (m_wndType)
        {
        case 1:    //确定
            BtnWndBg_OnClickEventHandler(null);
            break;

        case 2:    //合成公式
            TweenLeft();
            EquipComposeWnd wnd = WndManager.GetDialog <EquipComposeWnd>();
            if (wnd)
            {
                EnableBtn(false);
                wnd.SetData(m_iItemTypeID);
            }
            break;

        case 3:    //穿装备
            PdbycWnd wnd1 = WndManager.FindDialog <PdbycWnd>();
            if (wnd1)
            {
                wnd1.SetEquipDataNoReady();
            }
            MyHead.BtnSure.isEnabled = false;
            SoldierDC.Send_SoldierEquipRequest(m_soldierInfo.ID, m_posIndex);
            WndManager.DestoryDialog <EquipmentInfoWnd>();
            break;

        case 4:    //购买
            //堆叠数量上限判定
            bool overLimit = ItemDC.CheckItemOverLimit(m_iItemTypeID, m_iBuyCount);
            if (overLimit)
            {
                NGUIUtil.ShowTipWndByKey(30000030);
                break;
            }
            //持有代币是否足够
            bool currencyEnough = UserDC.CheckCurrencyEnough(m_iBuyCurrency, m_iBuyPrice);
            if (currencyEnough)
            {
            }
            else
            {
                string currencyName = NGUIUtil.GetStringByKey(99700000 + m_iBuyCurrency);
                string tipText      = string.Format(NGUIUtil.GetStringByKey(30000029), currencyName);
                //NGUIUtil.ShowTipWnd(tipText);
                NGUIUtil.ShowFreeSizeTipWnd(tipText);
            }
            break;

        case 5:    //获得途径
            ItemComeFromWnd Formwnd = WndManager.GetDialog <ItemComeFromWnd>();
            s_itemtypeInfo  info    = ItemM.GetItemInfo(m_iItemTypeID);
            Formwnd.SetData(info, m_soldierInfo, null);
            break;
        }
    }
Example #5
0
    void SetUI(ref List <int> listUsedItem)
    {
        s_itemtypeInfo info = ItemM.GetItemInfo(m_itemTypeID);

        if (info != null)
        {
            NGUIUtil.Set2DSprite(Spr2dEquipIcon, "Textures/item/", info.icon.ToString());
            int quality = ConfigM.GetBigQuality(info.quality);
            NGUIUtil.SetSprite(SprEquipQuality, quality.ToString());
        }
        else
        {
            NGUIUtil.DebugLog(" ItemM.GetItemInfo " + m_itemTypeID.ToString() + " not found!");
            return;
        }
        //设置装备总数量和合成所需的数量
        int totalCount = ItemDC.GetItemCount(m_itemTypeID);
        int countUsed  = listUsedItem.Count;

        if (totalCount > 0)
        {
            int nCountTemp = totalCount;
            int nCnt       = 0;
            for (nCnt = 0; nCnt < countUsed; nCnt++)
            {
                if (listUsedItem[nCnt] == m_itemTypeID)
                {
                    nCountTemp--;
                    if (nCountTemp == 0)
                    {
                        break;
                    }
                }
            }
            for (nCnt = 0; nCnt < m_iNeedNum; nCnt++)
            {
                listUsedItem.Add(m_itemTypeID);
            }
            if (nCountTemp < m_iNeedNum)
            {
                totalCount = nCountTemp;
            }
        }
        string numText = "";

        if (totalCount >= m_iNeedNum)
        {
            numText = string.Format("[FFFFFF]{0}/{1}[-]", totalCount, m_iNeedNum);
        }
        else
        {
            numText = string.Format("[FF0000]{0}/{1}[-]", totalCount, m_iNeedNum);
        }
        NGUIUtil.SetLableText <string>(LblNum, numText);
    }
Example #6
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="dItemID"></param>
    /// <param name="posIndex">装备索引 0~5</param>
    /// <param name="solderierInfo"></param>
    public void SetData(int dItemID, int posIndex, SoldierInfo solderierInfo)
    {
        m_iItemID     = dItemID;
        m_soldierInfo = solderierInfo;
        m_iPosIndex   = posIndex;
        m_itemTypeID  = SoldierM.GetSoldierEquip(solderierInfo.SoldierTypeID, solderierInfo.Quality, posIndex);
        if (m_itemTypeID == 0)
        {
            NGUIUtil.DebugLog(string.Format(" SoldierTypeID={0},Quality={1},EquipIndex={2} 装备静态数据未配置", solderierInfo.SoldierTypeID, solderierInfo.Quality, posIndex));
            return;
        }
        if (m_iItemID == 0)//当未穿装备时
        {
            ItemTypeInfo info = ItemDC.SearchItem(m_itemTypeID);
            if (info != null)
            {
                m_iItemID    = info.ID;
                m_itemTypeID = info.itemType;
                m_icon       = info.m_Icon;
            }
            else
            {
                s_itemtypeInfo sInfo = ItemM.GetItemInfo(m_itemTypeID);
                if (sInfo != null)
                {
                    m_icon = sInfo.icon;
                }
                else
                {
                    NGUIUtil.DebugLog("itemTypeID =" + m_itemTypeID + " 未配置");
                }
            }
        }
        else//已装备
        {
            ItemTypeInfo info1 = ItemDC.GetItem(m_iItemID);
            if (info1 == null || info1.Positon == 0)
            {
                NGUIUtil.DebugLog("获取已装备的信息失败 itemID =" + m_iItemID);
                return;
            }
            m_icon = info1.m_Icon;
            if (info1 != null)
            {
                m_iEquipQuality = info1.m_Quality;
            }
        }
        int itemTypeid = 0;

        m_equipmentPutType = SoldierM.CheckCanPutEquip(solderierInfo, dItemID, posIndex, ref itemTypeid);
        SetUI();
    }
Example #7
0
    /// <summary>
    ///  显示获取灵魂石窗口
    /// </summary>
    void BtnGetSoulStone_OnClickEventHandler(UIButton sender)
    {
        s_itemtypeInfo info = ItemM.GetItemInfo(m_soldierInfo.fragmentTypeID);

        if (info != null)
        {
            ItemComeFromWnd wnd = WndManager.GetDialog <ItemComeFromWnd>();
            if (wnd != null)
            {
                wnd.SetData(info, m_soldierInfo, null, 2);
            }
        }
    }
Example #8
0
    /// <summary>
    /// 检测装备是否存在且符合穿的条件
    /// </summary>
    /// <returns></returns>
    public bool CheckEquipExist()
    {
        m_wndType = 3;
        SetWndType();
        s_itemtypeInfo info = ItemM.GetItemInfo(m_iItemTypeID);

        if (ItemDC.GetItemCount(m_iItemTypeID) > 0 && m_soldierInfo.Level >= info.level)
        {
            MyHead.BtnSure.isEnabled = true;
            return(true);
        }
        MyHead.BtnSure.isEnabled = false;
        return(false);
    }
Example #9
0
    private void CreateItem(s_itemtypeInfo info, int num)
    {
        GameObject go = NDLoad.LoadWndItem("BeiBaoItem", MyHead.TabItem.transform);

        if (go)
        {
            BeiBaoItem item = go.GetComponent <BeiBaoItem>();
            if (item != null)
            {
                item.SetData(ItemM.GetItemInfo(info), num, null);
            }
        }
        MyHead.TabItem.Reposition();
    }
Example #10
0
 /// <summary>
 /// 设置装备附加属性
 /// </summary>
 public void SetAddAttrInfo(s_itemtypeInfo Info)
 {
     if (Info == null)
     {
         Debug.LogError("SetAddAttrInfo is null");
         return;
     }
     AddAttr(AddAttrType.Equip, Info.data0, Info.values0);
     AddAttr(AddAttrType.Equip, Info.data1, Info.values1);
     AddAttr(AddAttrType.Equip, Info.data2, Info.values2);
     AddAttr(AddAttrType.Equip, Info.data3, Info.values3);
     AddAttr(AddAttrType.Equip, Info.data3, Info.values4);
     AddAttr(AddAttrType.Equip, Info.data5, Info.values5);
 }
Example #11
0
    /// <summary>
    /// 获取物品图标
    /// </summary>
    public static string GetItemIcon(int ItemTypeID)
    {
        s_itemtypeInfo info = GetItemInfo(ItemTypeID);

        if (info != null)
        {
            return(info.icon.ToString());
        }
        else
        {
            NGUIUtil.DebugLog("静态表s_itemtypeInfo id=" + ItemTypeID + " 未找到!");
        }
        return(null);
    }
Example #12
0
 public void SetRewardItem(int itemType, int id, int num)
 {
     if (itemType == 1)        //英雄整卡
     {
         s_soldier_typeInfo info = SoldierM.GetSoldierType(id);
         if (info == null)
         {
             NGUIUtil.DebugLog("s_soldiertype id = " + id + " 静态表数据未配置!");
             return;
         }
         else
         {
             SetHead(itemType, 0, info.modeltype);
             MyHead.SprQuality.spriteName = "1";
             MyHead.SprQuality.gameObject.SetActive(true);
         }
     }
     else if (itemType == 2)        //道具/碎片
     {
         s_itemtypeInfo info = ItemM.GetItemInfo(id);
         if (info == null)
         {
             NGUIUtil.DebugLog("s_itemtype id = " + id + " 静态表数据未配置!");
             return;
         }
         else
         {
             SetHead(info.gtype, info.icon, info.gid);
             int quality = ConfigM.GetBigQuality(info.quality);
             MyHead.SprQuality.spriteName = quality.ToString();
         }
     }
     else if (itemType == 3)        //陷阱
     {
         s_building_typeInfo buildinfo = buildingM.GetBuildType(id);
         MyHead.Roomhead.gameObject.SetActive(true);
         NGUIUtil.Set2DSprite(MyHead.Roomhead, "Textures/room/", buildinfo.modeltype.ToString());
         MyHead.SprQuality.spriteName = "1";
     }
     else if (itemType == 4)        //黑科技
     {
         string icon = "Textures/role/" + id;
         MyHead.SprQuality.gameObject.SetActive(true);
         MyHead.CaptainHead.gameObject.SetActive(true);
         NGUIUtil.Set2DSprite(MyHead.CaptainHead, icon);
         MyHead.SprQuality.spriteName = "1";
     }
 }
Example #13
0
    /// <summary>
    /// 获取装备材料的用途
    /// </summary>
    /// <param name="EquipMaterialType">装备原料类型type ID</param>
    /// <returns>返回能合成装备的列表list</returns>
    public static List <s_itemtypeInfo> GetEquipMaterialUse(int EquipMaterialType)
    {
        List <s_itemtypeInfo> l = new List <s_itemtypeInfo> ();

        foreach (s_equipcomposeInfo item in m_lEquipCompose)
        {
            if (CanCombineEquip(item, EquipMaterialType) == true)
            {
                s_itemtypeInfo Info = GetItemInfo(item.itemtypeid);
                if (Info != null)
                {
                    l.Add(Info);
                }
            }
        }
        return(l);
    }
Example #14
0
    private void SetUI()
    {
        //设置要合成装备的名称和所需的金币
        s_itemtypeInfo info = ItemM.GetItemInfo(m_itemTypeID);

        if (info != null)
        {
            NGUIUtil.SetLableText <string>(MyHead.LblName, info.name);

            string coinText = "";
            if (m_coin > UserDC.GetCoin())   //金币不够时红色
            {
                coinText = string.Format("{0}{1}", "[B05659]", m_coin);
            }
            else
            {
                coinText = m_coin.ToString();
            }
            NGUIUtil.SetLableText <string>(MyHead.LblCoin, coinText);

            NGUIUtil.Set2DSprite(MyHead.m_ComposeMid.Spr2dEquipIcon, "Textures/item/", info.icon.ToString());
            int quality = ConfigM.GetBigQuality(info.quality);
            NGUIUtil.SetSprite(MyHead.m_ComposeMid.SprEquipQuality, quality.ToString());

            NGUIUtil.Set2DSprite(MyHead.m_ComposeEquip.Spr2dEquipIcon, "Textures/item/", info.icon.ToString());
            NGUIUtil.Set2DSprite(MyHead.m_ComposeMid.Spr2dEquipIcon, "Textures/item/", info.icon.ToString());
            NGUIUtil.SetSprite(MyHead.m_ComposeEquip.SprEquipQuality, quality.ToString());
            NGUIUtil.SetSprite(MyHead.m_ComposeMid.SprEquipQuality, quality.ToString());
        }
        else
        {
            NGUIUtil.DebugLog(" ItemM.GetItemInfo " + m_itemTypeID.ToString() + " not found!");
        }
        m_lCurEquipItems.Clear();
        //创建子装备
        List <int> listUsedItem = new List <int>();

        foreach (var item in m_composeEquipList)
        {
            CreateEquipComposeItem(item.key, item.value, ref listUsedItem);
        }
        listUsedItem.Clear();
        NGUIUtil.RepositionTablePivot(MyHead.EquipMidTable.gameObject);
        ShowSprLines(m_composeEquipList.Count - 1);
    }
Example #15
0
    /// <summary>
    /// 新手引导可用的简化接口
    /// </summary>
    public void SetTropiesData(int soldierTypeID)
    {
        s_itemtypeInfo              itypeInfo   = new s_itemtypeInfo();
        s_soldier_typeInfo          soldierInfo = SoldierM.GetSoldierType(soldierTypeID);
        List <sdata.s_itemtypeInfo> l           = new List <s_itemtypeInfo>();

        if (soldierInfo != null)
        {
            itypeInfo.name  = soldierInfo.name;
            itypeInfo.gtype = 1;
            itypeInfo.gid   = soldierTypeID;
        }
        if (itypeInfo != null)
        {
            l.Add(itypeInfo);
            AddTropiesData(l);
        }
    }
Example #16
0
    /// <summary>
    /// 获取建筑数据
    /// </summary>
    /// <param name="item">战役副本摆设</param>
    /// <returns>建筑数据,null 获取失败</returns>
    public static BuildInfo  GetBuildInfo(int buildID, s_itemtypeInfo item)
    {
        if (item == null || item.gtype != 2)
        {
            return(null);
        }
        BuildInfo Info = GetStartBuildInfo(item.gid);

        if (Info != null)
        {
            Info.ID             = buildID;
            Info.m_cx           = 0;
            Info.m_cy           = 0;
            Info.m_ShipPutdata0 = 0;
            Info.m_ShipPutdata1 = 0;
        }
        return(Info);
    }
Example #17
0
    /// <summary>
    /// 获取章节星级奖励
    /// </summary>
    public static Dictionary <s_itemtypeInfo, int> GetChapterRewardItem(int ChapterRewardID, ref int Coin, ref int Diamond)
    {
        Dictionary <s_itemtypeInfo, int> l = new Dictionary <s_itemtypeInfo, int>();

        foreach (s_stage_rewardInfo Info in m_lchapterreward)
        {
            if (Info.id == ChapterRewardID)
            {
                Coin    = Info.reward_coin;
                Diamond = Info.reward_diamond;
                if (Info.num1 > 0 && Info.item1id > 0)
                {
                    s_itemtypeInfo I = new s_itemtypeInfo();
                    I = ItemM.GetItemInfo(Info.item1id);
                    l.Add(I, Info.num1);
                }
                if (Info.num2 > 0 && Info.item2id > 0)
                {
                    s_itemtypeInfo I = new s_itemtypeInfo();
                    I = ItemM.GetItemInfo(Info.item2id);
                    l.Add(I, Info.num2);
                }
                if (Info.num3 > 0 && Info.item3id > 0)
                {
                    s_itemtypeInfo I = new s_itemtypeInfo();
                    I = ItemM.GetItemInfo(Info.item3id);
                    l.Add(I, Info.num3);
                }
                if (Info.num4 > 0 && Info.item4id > 0)
                {
                    s_itemtypeInfo I = new s_itemtypeInfo();
                    I = ItemM.GetItemInfo(Info.item4id);
                    l.Add(I, Info.num4);
                }
                if (Info.num5 > 0 && Info.item5id > 0)
                {
                    s_itemtypeInfo I = new s_itemtypeInfo();
                    I = ItemM.GetItemInfo(Info.item5id);
                    l.Add(I, Info.num5);
                }
            }
        }
        return(l);
    }
Example #18
0
    /// <summary>
    /// 获取炮弹兵适合穿的装备数据
    /// </summary>
    private static void AddEquipAttr(ref SoldierInfo Info)
    {
        if (Info == null || Info.m_AddAttr == null)
        {
            return;
        }
        Info.m_AddAttr.Clear(AddAttrType.Equip);

        List <int> lEquipType = GetAllEquipType(Info);

        foreach (int ItemID in lEquipType)
        {
            s_itemtypeInfo I = ItemM.GetItemInfo(ItemID);
            if (I != null)
            {
                Info.m_AddAttr.SetAddAttrInfo(I);
            }
        }
    }
Example #19
0
    /// <summary>
    /// 获取物品
    /// </summary>
    /// <returns></returns>
    public static ItemTypeInfo GetItemInfo(stage.StageRewardGetResponse.ItemInfo item)
    {
        if (item == null)
        {
            return(null);
        }
        ItemTypeInfo   I    = new ItemTypeInfo();
        s_itemtypeInfo info = GetItemInfo(item.sitemtypeid);

        if (info == null)
        {
            return(null);
        }
        //
        I.ID      = item.did;
        I.Positon = 0;
        I.Num     = item.num;
        FillBaseItemInfo(info, ref I);

        return(I);
    }
Example #20
0
    /// <summary>
    /// 获取物品
    /// </summary>
    /// <returns></returns>
    public static ItemTypeInfo GetItemInfo(item.ItemInfo item)
    {
        if (item == null)
        {
            return(null);
        }
        ItemTypeInfo   I    = new ItemTypeInfo();
        s_itemtypeInfo info = GetItemInfo(item.itemtypeid);

        if (info == null)
        {
            return(null);
        }

        I.ID      = item.id;
        I.Positon = item.position;
        I.Num     = item.superpose;
        FillBaseItemInfo(info, ref I);

        return(I);
    }
Example #21
0
    /// <summary>
    /// 获取炮弹兵信息
    /// </summary>
    /// <param name="Info">炮弹兵数据</param>
    public static SoldierInfo GetSoldierInfo(int SoldierID, s_itemtypeInfo I)
    {
        if (I == null)
        {
            return(null);
        }
        SoldierInfo Info = new SoldierInfo();

        Info.ID            = SoldierID;
        Info.SoldierTypeID = I.gid;
        Info.Level         = I.level;
        Info.StarLevel     = 1;
        Info.EXP           = 0;
        Info.Quality       = I.quality;
        Info.CX            = 0;
        Info.CY            = 0;
        //装备
        Info.Equipment0 = 0;
        Info.Equipment1 = 0;
        Info.Equipment2 = 0;
        Info.Equipment3 = 0;
        Info.Equipment4 = 0;
        Info.Equipment5 = 0;
        //技能
        List <int> lSkillLevel = new List <int>();

        lSkillLevel.Add(I.level);
        lSkillLevel.Add(I.level);
        lSkillLevel.Add(I.level);
        lSkillLevel.Add(I.level);
        lSkillLevel.Add(I.level);
        lSkillLevel.Add(I.level);
        Info.m_Skill.SetSkillLevel(lSkillLevel);

        GetSoldierInfo(ref Info);

        return(Info);
    }
Example #22
0
    private void SoldierSummonResponse(int nErrorCode)
    {
        if (nErrorCode == 0 && m_iWndType == 1)
        {
            GameObjectActionExcute gae      = GameObjectActionExcute.CreateExcute(gameObject);
            s_itemtypeInfo         info     = new s_itemtypeInfo();
            s_soldier_typeInfo     TypeInfo = SoldierM.GetSoldierType(m_soldierInfo.SoldierTypeID);
            if (TypeInfo != null)
            {
                info.name = TypeInfo.name;
            }
            info.gtype = 1;
            info.gid   = m_soldierInfo.SoldierTypeID;

            if (info == null)
            {
#if UNITY_EDITOR_LOG
                NGUIUtil.DebugLog("SoldierSummonResponse soldTypeId get s_itemtypeInfo is null" + soldTypeId.ToString());
#endif

                return;
            }
            List <s_itemtypeInfo> l = new List <s_itemtypeInfo>();
            l.Add(info);

            TrophiesActionWnd TropWnd = WndManager.GetDialog <TrophiesActionWnd>();
            if (TropWnd)
            {
                TropWnd.ClearTropiesData();
                TropWnd.AddTropiesData(l);
                TropWnd.SetWndType(3);
                TropWnd.MyHead.LblDes.gameObject.SetActive(false);
            }

            WndManager.DestoryDialog <SummonHeroWnd>();
        }
    }
Example #23
0
    private void BuildSummonResponse(int nErrorCode)
    {
        if (nErrorCode == 0 && m_iWndType == 2)
        {
            GameObjectActionExcute gae       = GameObjectActionExcute.CreateExcute(gameObject);
            s_itemtypeInfo         info      = new s_itemtypeInfo();
            s_building_typeInfo    buildInfo = buildingM.GetBuildType(m_buildInfo.BuildType);
            if (buildInfo != null && buildInfo.name != null)
            {
                info.name = buildInfo.name;
            }
            info.gtype = 3;//item.ErnieRewardType;//如果是碎片该类型也是1.
            info.gid   = m_buildInfo.BuildType;

            if (info == null)
            {
#if UNITY_EDITOR_LOG
                NGUIUtil.DebugLog("SoldierSummonResponse soldTypeId get s_itemtypeInfo is null" + soldTypeId.ToString());
#endif

                return;
            }
            List <s_itemtypeInfo> l = new List <s_itemtypeInfo>();
            l.Add(info);

            TrophiesActionWnd TropWnd = WndManager.GetDialog <TrophiesActionWnd>();
            if (TropWnd)
            {
                TropWnd.ClearTropiesData();
                TropWnd.AddTropiesData(l);
                TropWnd.SetWndType(4);
                TropWnd.MyHead.LblDes.gameObject.SetActive(false);
            }

            WndManager.DestoryDialog <SummonHeroWnd>();
        }
    }
Example #24
0
    /// <summary>
    /// 炮弹兵装备格的状态
    /// </summary>
    /// <returns>The can put equip.</returns>
    /// <param name="info">Info.</param>
    /// <param name="EquipID">Equip I.</param>
    /// <param name="index">Index.</param>
    /// <param name="itemTypeID">Item type I.</param>
    public static EquipmentPutType CheckCanPutEquip(SoldierInfo info, int EquipID, int index, ref int itemTypeID)
    {
        itemTypeID = SoldierM.GetSoldierEquip(info.SoldierTypeID, info.Quality, index);

        if (EquipID == 0)
        {
            ItemTypeInfo ItemInfo = ItemDC.SearchItem(itemTypeID);
            if (ItemInfo != null)
            {
                if (info.Level >= ItemInfo.m_level)
                {
                    return(EquipmentPutType.CanPut);
                }
                else
                {
                    return(EquipmentPutType.HaveCannot);
                }
            }
            else
            {
                s_itemtypeInfo sInfo = ItemM.GetItemInfo(itemTypeID);

                List <KeyValue> needSubEquip = new List <KeyValue>();
                int             needCoin     = 0;
                bool            canCombine   = ItemM.GetCombineEquipNeed(itemTypeID, ref needSubEquip, ref needCoin);
                if (canCombine)
                {
                    if (ItemDC.CheckItemsEnough(needSubEquip))
                    {
                        if (needCoin < UserDC.GetCoin())
                        {
                            if (info.Level >= sInfo.level)
                            {
                                return(EquipmentPutType.CanCombinePut);
                            }
                            else
                            {
                                return(EquipmentPutType.CanCombine);
                            }
                        }
                        else
                        {
                            return(EquipmentPutType.CanCombine);
                        }
                    }
                    else if (!ItemDC.CheckItemsEnough(needSubEquip))
                    {
                        return(EquipmentPutType.ReadyCombine);
                    }
                    else
                    {
                        return(EquipmentPutType.None);
                    }
                }
                else
                {
                    return(EquipmentPutType.NoCanCombine);
                }
            }
        }
        else
        {
            return(EquipmentPutType.HavePut);
        }
    }
Example #25
0
    // isSoul是为了兼容闪亮登场界面的信息。
    public static ItemIconInfo GetIconInfo(IconType iconType, int id, bool isSoul, bool isBook)
    {
        ItemIconInfo iconInfo = new ItemIconInfo();

        if (iconType == IconType.IconType_Fragment)
        {
            if (isSoul)
            {
                int soldierTypeId       = SoldierM.GetSoldierStarID(id);
                s_soldier_typeInfo info = SoldierM.GetSoldierType(soldierTypeId);
                if (info == null)
                {
                    NGUIUtil.DebugLog("s_soldiertype id = " + id + " 静态表数据未配置!");
                    return(null);
                }
                else
                {
                    iconType = IconType.IconType_Soldier;
                    id       = info.modeltype;
                }
            }
            else if (isBook)
            {
                iconType = IconType.IconType_Captain;
                int godSkillType = GodSkillM.GetGodSkillType(id);
                id = GodSkillM.GetCaptainID(godSkillType);
            }
        }

        if (iconType == IconType.IconType_Soldier)        //英雄整卡
        {
            s_soldier_typeInfo info = SoldierM.GetSoldierType(id);
            if (info == null)
            {
                NGUIUtil.DebugLog("s_soldiertype id = " + id + " 静态表数据未配置!");
                return(null);
            }
            else
            {
                iconInfo.mType = iconType;
                iconInfo.mName = info.name;
                iconInfo.mID   = info.modeltype;
            }
        }
        else if (iconType == IconType.IconType_Fragment)        //道具/碎片
        {
            s_itemtypeInfo info = ItemM.GetItemInfo(id);
            if (info == null)
            {
                NGUIUtil.DebugLog("s_itemtype id = " + id + " 静态表数据未配置!");
                return(null);
            }
            else
            {
                iconInfo.mType = iconType;
                iconInfo.mName = info.name;
                int soldierTypeId = SoldierM.GetSoldierStarID(id);
                iconInfo.mID = info.gid;
            }
        }
        else if (iconType == IconType.IconType_Bulding)        //陷阱
        {
            s_building_typeInfo buildinfo = buildingM.GetBuildType(id);

            iconInfo.mType = iconType;
            iconInfo.mName = buildinfo.name;
            iconInfo.mID   = buildinfo.modeltype;
        }
        else if (iconType == IconType.IconType_Captain)        //黑科技
        {
            iconInfo.mType = iconType;
            CaptionInfo captionInfo = new CaptionInfo();
            GodSkillM.GetCaption(id, ref captionInfo);
            GodSkillInfo godSkillInfo = new GodSkillInfo();
            GodSkillM.GetGodSkill(captionInfo.m_godskilltype1, 1, ref godSkillInfo);
            iconInfo.mName = godSkillInfo.m_name;
            iconInfo.mID   = id;
        }
        iconInfo.mIsSoul = isSoul;
        iconInfo.mIsBook = isBook;
        return(iconInfo);
    }
Example #26
0
    /// <summary>
    /// 计算炮弹兵战斗力
    /// </summary>
    private static void CalcSoldierPower(ref SoldierInfo Info)
    {
        if (Info == null)
        {
            return;
        }
        int k1         = 0;
        int k2         = 0;
        int k3         = 0;
        int k4         = 0;
        int k5         = 0;
        int LimitLevel = 0;
        int equipID1   = 0;
        int equipID2   = 0;
        int equipID3   = 0;
        int equipID4   = 0;
        int equipID5   = 0;
        int equipID6   = 0;

        //
        ConfigM.GetSoldierPower(ref k1, ref k2, ref k3, ref k4, ref k5);
        int totalSkillLevel = Info.m_Skill.GetTotalSkillLevel();
        int Power           = totalSkillLevel * k1;

        Power = Power + (k2 + ConfigM.GetQualityIndex(Info.Quality) * k3 + Info.StarLevel * k4) * Info.Level;

        List <int> lQuality = ConfigM.GetPrevQuality(Info.Quality);

        List <int> lEquipType = new List <int>();

        foreach (int quality in lQuality)
        {
            GetUpQualityNeed(Info.SoldierTypeID, quality, ref LimitLevel,
                             ref equipID1, ref equipID2, ref equipID3,
                             ref equipID4, ref equipID5, ref equipID6);
            lEquipType.Add(equipID1);
            lEquipType.Add(equipID2);
            lEquipType.Add(equipID3);
            lEquipType.Add(equipID4);
            lEquipType.Add(equipID5);
            lEquipType.Add(equipID6);
        }
        //当前阶装备类型
        GetUpQualityNeed(Info.SoldierTypeID, Info.Quality, ref LimitLevel,
                         ref equipID1, ref equipID2, ref equipID3,
                         ref equipID4, ref equipID5, ref equipID6);
        //
        if (Info.Equipment0 > 0)
        {
            lEquipType.Add(equipID1);
        }
        if (Info.Equipment1 > 0)
        {
            lEquipType.Add(equipID2);
        }
        if (Info.Equipment2 > 0)
        {
            lEquipType.Add(equipID3);
        }
        if (Info.Equipment3 > 0)
        {
            lEquipType.Add(equipID4);
        }
        if (Info.Equipment4 > 0)
        {
            lEquipType.Add(equipID5);
        }
        if (Info.Equipment5 > 0)
        {
            lEquipType.Add(equipID6);
        }

        int EquipTotalLevel = 0;

        foreach (int EquipType in lEquipType)
        {
            s_itemtypeInfo item = ItemM.GetItemInfo(EquipType);
            if (item != null)
            {
                EquipTotalLevel += item.level;
            }
        }
        //添加装备部分产生的战斗力
        Power = Power + EquipTotalLevel * k5;

        Info.m_combat_power = Power;
    }
Example #27
0
    public void SetData(int itemTypeID, int itemID, SoldierInfo soldeierInfo, int posIndex, int wndType)
    {
        m_vInitPos = MyHead.WndTweenParent.transform.localPosition;

        m_iItemTypeID = itemTypeID;
        m_soldierInfo = soldeierInfo;
        m_posIndex    = posIndex;
        m_iItemID     = itemID;
        m_wndType     = wndType;

        //ItemTypeInfo info = ItemDC.FindEquipByItemTypeID(m_iItemTypeID, 0);
        s_itemtypeInfo info = ItemM.GetItemInfo(m_iItemTypeID);

        if (info == null)
        {
            NGUIUtil.DebugLog("s_itemtypinfo 静态表获取数据失败:" + m_iItemTypeID);
            return;
        }
        m_EquipAttrInfo.SetAddAttrInfo(info);
        //        MyHead.LblFuMo.gameObject.SetActive(false);
        NGUIUtil.Set2DSprite(MyHead.SprEquip, "Textures/item/", info.icon.ToString());
        NGUIUtil.SetLableText <string>(MyHead.LblName, info.name);
        string desc = info.message.Replace("\\n", System.Environment.NewLine);

        NGUIUtil.SetLableText <string>(MyHead.LblDescription, desc);
        string title = info.title.Replace("\\n", System.Environment.NewLine);

        NGUIUtil.SetLableText <string>(MyHead.LblTitle, title);
        SetWndType();
        if (soldeierInfo != null)
        {
            if (soldeierInfo.Level < info.level)
            {
                NGUIUtil.SetLableText <string>(MyHead.LblRequireLevel, NGUIUtil.GetStringByKey("30000014") + info.level.ToString());
                NGUIUtil.SetActive(MyHead.LblRequireLevel.gameObject, true);
                if (wndType == 3)   //装备 窗口状态下设定
                {
                    MyHead.BtnSure.isEnabled = false;
                }
            }
        }

        SetEquipCountUI();

        if (wndType == 4)   //商品购买
        //设定购买件数
        {
            NGUIUtil.SetActive(MyHead.LblBuyCount.gameObject, true);
            string buyCountText = string.Format(NGUIUtil.GetStringByKey(70000020), m_iBuyCount);
            NGUIUtil.SetLableText <string>(MyHead.LblBuyCount, buyCountText);
            //设定价格
            NGUIUtil.SetActive(MyHead.LblTotalPrice.gameObject.transform.parent.gameObject, true);

            bool currencyEnough = UserDC.CheckCurrencyEnough(m_iBuyCurrency, m_iBuyPrice);
            if (currencyEnough)
            {
                NGUIUtil.SetLableText <int>(MyHead.LblTotalPrice, m_iBuyPrice);
            }
            else
            {
                string priceText = string.Format("[FA3B3B]{0}[-]", m_iBuyPrice);
                NGUIUtil.SetLableText <string>(MyHead.LblTotalPrice, priceText);
            }

            //设定代币类型
            NGUIUtil.Set2DSprite(MyHead.Spr2dCurrency, "Textures/currency/", m_iBuyCurrency.ToString());
        }
    }
Example #28
0
    private string GetName(s_signinInfo info)
    {
        string           result = "";
        int              id     = info.item_type;
        SignInRewardType type   = (SignInRewardType)info.reward_type;

        switch (type)
        {
        case SignInRewardType.BlackScience:
            CaptionInfo cInfo = new CaptionInfo();
            GodSkillM.GetCaption(id, ref cInfo);
            GodSkillInfo gInfo = new GodSkillInfo();
            GodSkillM.GetGodSkill(cInfo.m_godskilltype1, 1, ref gInfo);
            result = gInfo.m_name;
            break;

        case SignInRewardType.HeroSoulFragment:
        case SignInRewardType.ItemAndEquip:
        case SignInRewardType.TrapFragment:
        case SignInRewardType.BlackScienceFragment:
            s_itemtypeInfo info1 = ItemM.GetItemInfo(id);
            if (info1 != null)
            {
                result = info1.name;
            }
            break;

        case SignInRewardType.Hero:
            SoldierInfo info2 = SoldierM.GetSoldierInfo(id);
            if (info2 != null)
            {
                result = info2.m_name;
            }
            break;

        case SignInRewardType.Trap:
            BuildInfo info3 = buildingM.GetStartBuildInfo(id);
            if (info3 != null)
            {
                result = info3.m_name;
            }
            break;

        case SignInRewardType.GoldCoin:
            result = NGUIUtil.GetStringByKey(88800061);
            break;

        case SignInRewardType.Diamond:
            result = NGUIUtil.GetStringByKey(99700001);
            break;

        case SignInRewardType.Crystal:
            result = NGUIUtil.GetStringByKey(10000177);
            break;

        case SignInRewardType.Wood:
            result = NGUIUtil.GetStringByKey(10000178);
            break;
        }
        return(result);
    }