Beispiel #1
0
    /// <summary>
    /// 装备是否可穿戴.
    /// </summary>
    /// <returns><c>true</c>, if equip can put was calculated, <c>false</c> otherwise.</returns>
    /// <param name="Info">Info.</param>
    public bool CheckEquipCanPut()
    {
        bool bRedPot = false;

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

        listEquipID.Add(Equipment0);
        listEquipID.Add(Equipment1);
        listEquipID.Add(Equipment2);
        listEquipID.Add(Equipment3);
        listEquipID.Add(Equipment4);
        listEquipID.Add(Equipment5);

        for (int i = 0; i < listEquipID.Count; i++)
        {
            int itemTypeID        = 0;
            EquipmentPutType type = SoldierM.CheckCanPutEquip(this, listEquipID[i], i, ref itemTypeID);

            if (!bRedPot)
            {
                bRedPot = (type == EquipmentPutType.CanPut) || (type == EquipmentPutType.CanCombinePut);
                if (bRedPot)
                {
                    break;
                }
            }
        }

        return(bRedPot);
    }
Beispiel #2
0
    private void SetUI()
    {
        if (m_soldierInfo == null && m_buildInfo == null)
        {
            NGUIUtil.DebugLog("SummonHeroWnd 's Info is null!!!");
            return;
        }
        int NeedNum  = 0;
        int NeedCoin = 0;

        if (m_iWndType == 1 && m_soldierInfo != null)
        {
            SoldierM.GetUpStarNeed(m_soldierInfo.SoldierTypeID, m_soldierInfo.StarLevel, ref NeedNum, ref NeedCoin);
        }
        else if (m_iWndType == 2 && m_buildInfo != null)
        {
            buildingM.GetUpStarNeed(m_buildInfo.BuildType, m_buildInfo.StarLevel, ref NeedNum, ref NeedCoin);
        }


        SetDialogLable(NeedCoin);
        if (NeedCoin > UserDC.GetCoin())
        {
            MyHead.BtnYES.SetState(UIButtonColor.State.Disabled, true);
            MyHead.BtnYES.isEnabled = false;
        }
    }
Beispiel #3
0
    public void SetRoleRewardItem(SoldierInfo soldier)
    {
        if (soldier == null)
        {
            return;
        }

        if (MyHead.level != null)
        {
            MyHead.level.text = "[ffffff]" + soldier.Level + "[-]";
        }
        SetSoldierQuality(soldier.Quality);
        //
        if (MyHead.exp != null)
        {
            MyHead.exp.text = "[ffffff]+0" + "[-]";
        }

        if (MyHead.m_star != null && MyHead.m_star.Length == 5 && soldier.StarLevel <= 5)
        {
            NGUIUtil.SetStarLevelNum(MyHead.m_star, soldier.StarLevel);
        }
        NGUIUtil.Set2DSprite(MyHead.head, "Textures/role/", soldier.m_modeltype.ToString());

        if (MyHead.expline != null)
        {
            int   Needexp = SoldierM.GetUpLevelNeedExp(soldier.Level);
            float value   = soldier.EXP * 1.0f / Needexp;
            NGUIUtil.UpdateFromValue(MyHead.expline, value);
        }
    }
Beispiel #4
0
    /// <summary>
    /// 吃经验.
    /// </summary>
    /// <param name="Num">Number.</param>
    private void AddItemUseNum(int Num)
    {
        m_parent.SetItemNum();
        m_iHaveAddNum = m_iHaveAddNum + Num;

        if (!MyHead.LblNumUsed.gameObject.activeInHierarchy)
        {
            MyHead.LblNumUsed.gameObject.SetActive(true);
        }
        MyHead.LblNumUsed.text = "X" + m_iHaveAddNum.ToString();

        int MaxLvl = UserM.GetUserMaxHeroLevel(UserDC.GetLevel());

        Info.EXP += int.Parse(m_ItemInfo.m_args);

        int MaxExp = SoldierM.GetSoldierTotalExpAtLevel(MaxLvl);


        int LevExp = SoldierM.GetSoldierExp(Info.Level);

        if (Info.EXP >= LevExp && Info.Level < MaxLvl)
        {
            int exp = SoldierM.GetSoldierExp(Info.Level);
            CalUplevelNum(exp, MaxLvl);
        }

        int   Exp = SoldierM.GetSoldierExp(Info.Level);
        float pre = (Info.EXP * 1.0f) / (Exp * 1.0f);

        AddLeveAndExp(Info.Level, pre, true);
    }
Beispiel #5
0
    /// <summary>
    /// 检测是否可进阶
    /// </summary>
    /// <returns></returns>
    bool CheckJinJie()
    {
        int levelLimit = 0;
        int equipID1   = 0;
        int equipID2   = 0;
        int equipID3   = 0;
        int equipID4   = 0;
        int equipID5   = 0;
        int equipID6   = 0;

        if (ConfigM.GetNextQuality(m_soldierInfo.Quality) == 0)
        {
            return(false);
        }

        SoldierM.GetUpQualityNeed(m_soldierInfo.SoldierTypeID, m_soldierInfo.Quality, ref levelLimit,
                                  ref equipID1, ref equipID2, ref equipID3,
                                  ref equipID4, ref equipID5, ref equipID6);

        if (CheckUpEquip(levelLimit, equipID1, equipID2, equipID3, equipID4, equipID5, equipID6) == false)
        {
            return(false);
        }
        return(true);
    }
Beispiel #6
0
    /// <summary>
    /// 升阶
    /// </summary>
    void BtnJinSheng_OnClickEventHandler(UIButton sender)
    {
        int levelLimit = 0;
        int equipID1   = 0;
        int equipID2   = 0;
        int equipID3   = 0;
        int equipID4   = 0;
        int equipID5   = 0;
        int equipID6   = 0;

        if (ConfigM.GetNextQuality(m_soldierInfo.Quality) == 0)
        {
            NGUIUtil.ShowTipWndByKey("30000017", 1.0f, ConstantData.iDepBefore3DModel);
            return;
        }

        SoldierM.GetUpQualityNeed(m_soldierInfo.SoldierTypeID, m_soldierInfo.Quality, ref levelLimit,
                                  ref equipID1, ref equipID2, ref equipID3,
                                  ref equipID4, ref equipID5, ref equipID6);

        if (CheckUpEquip(levelLimit, equipID1, equipID2, equipID3, equipID4, equipID5, equipID6) == false)
        {
            NGUIUtil.ShowTipWndByKey(30000019);
            return;
        }
        //可以进阶啦,发送进阶请求
        EnablePrevNextBtn(false);
        DoEquipsFly();
        m_preSoldierInfo.Copy(m_soldierInfo);
        SoldierDC.Send_SoldierQualityUpRequest(m_soldierInfo.ID);
    }
Beispiel #7
0
    /// <summary>
    /// 全部
    /// </summary>
    /// <param name="sender"></param>
    public void TogAll_OnChangeEventHandler()
    {
        if (!MyHead.TogAll.value)
        {
            return;
        }
        List <SoldierInfo> crewList = new List <SoldierInfo>();

        SoldierDC.GetSoldiers(ref crewList, CombatLoactionType.ALL);
        m_iSoldiersCount = crewList.Count;
        SoldierM.SortSoldierList(ref crewList);
        LoadHeadList(crewList, MyHead.SelectSoldierTable, 1);

        if (!m_InitSoldiers)
        {
            List <int> soldiersLastCombat = SoldierDC.GetSoldiersLastCombat();
            for (int i = 0; i < soldiersLastCombat.Count; i++)
            {
                int soldierID = soldiersLastCombat[i];
                if (soldierID != 0)
                {
                    SelectSoldier(soldierID);
                }
            }
            int captinLastCombat = SoldierDC.GetCaptainLastCombat();
            if (captinLastCombat != 0)
            {
                SetBlackScienceDataID(captinLastCombat);
            }

            m_InitSoldiers = true;
        }
    }
Beispiel #8
0
    /// <summary>
    /// 设置数据并刷新UI
    /// </summary>
    /// <param name="info"></param>
    public void SetData(SoldierInfo info, bool isFirstLoad = false)
    {
        ClearUI();
        m_soldierInfo = info;

        m_ID       = info.ID;
        m_starInfo = SoldierM.GetSoldierStarData(info.SoldierTypeID, info.StarLevel);
        if (m_soldierInfo == null)
        {
            NGUIUtil.DebugLog("SoldierInfoWnd.cs   m_soldierInfo==null !");
            return;
        }
        EquipID[0] = info.Equipment0;
        EquipID[1] = info.Equipment1;
        EquipID[2] = info.Equipment2;
        EquipID[3] = info.Equipment3;
        EquipID[4] = info.Equipment4;
        EquipID[5] = info.Equipment5;
        SetUI(isFirstLoad);
        DoCanJinSheng();
        DoCanShengXing();
        MyHead.Toggle2.startsActive = true;
        DoCanJinSheng();
        DoCanShengXing();
    }
Beispiel #9
0
    /// <summary>
    /// 填充基础建筑信息
    /// </summary>
    private static void CalcSoldierInfo(s_soldier_typeInfo I, ref SoldierInfo Info)
    {
        if (I == null || Info == null)
        {
            return;
        }
        //获取三围
        //初始值
        s_soldierstar_typeInfo StarInfo = GetSoldierStarData(Info.SoldierTypeID, Info.StarLevel);

        if (StarInfo != null)
        {
            Info.m_strength_grow     = StarInfo.strength_growth;
            Info.m_agility_grow      = StarInfo.agility_growth;
            Info.m_intelligence_grow = StarInfo.intelligence_growth;
            Info.m_concussion       += StarInfo.concussion;
        }


        //当前-初始.
        int oriStrength = 0;
        int oriAgility  = 0;
        int oriIntell   = 0;

        int oriStar = GetSoldierOriginalStar(Info.SoldierTypeID);
        s_soldierstar_typeInfo OriInfo = GetSoldierStarData(Info.SoldierTypeID, oriStar);

        if (OriInfo != null && StarInfo != null)
        {
            oriStrength = OriInfo.strength_growth;
            oriAgility  = OriInfo.agility_growth;
            oriIntell   = OriInfo.intelligence_growth;
        }
        //被动技能附加属性
        Info.m_Skill.SetAddrData(ref Info.m_AddAttr);

        Info.m_strength     = ScriptM.Formula <int>("CALC_STRENGTH", Info.m_strength_grow, oriStrength, Info.Level, I.strength);
        Info.m_agility      = ScriptM.Formula <int>("CALC_AGILITY", Info.m_agility_grow, oriAgility, Info.Level, I.agility);
        Info.m_intelligence = ScriptM.Formula <int>("CALC_INTELLIGENCE", Info.m_intelligence_grow, oriIntell, Info.Level, I.intelligence);
        //增加进阶属性,目前只有冲击力
        s_soldierqualityInfo qualityinfo = GetqualityInfoData(Info.SoldierTypeID, Info.Quality);

        if (qualityinfo != null)
        {
            Info.m_concussion += qualityinfo.concussion;
        }
        //爆击及闪避
        s_soldier_experienceInfo ExpInfo = SoldierM.GetSoldierExpData(Info.Level);

        if (ExpInfo != null)
        {
            Info.m_critratio  = ExpInfo.critratio;
            Info.m_dodgeratio = ExpInfo.dodgeratio;
        }
        //阶数,添加装备附加属性
        AddEquipAttr(ref Info);
        CalcSoldierAttr(ref Info);
    }
Beispiel #10
0
    /// <summary>
    /// 返回物品的数量
    /// </summary>
    public static int GetItemCount(s_signinInfo info)
    {
        int result            = 0;
        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);
            if (cInfo.m_captionid > 0)
            {
                result = 1;
            }
            break;

        case SignInRewardType.HeroSoulFragment:
        case SignInRewardType.ItemAndEquip:
        case SignInRewardType.TrapFragment:
        case SignInRewardType.BlackScienceFragment:
            result = ItemDC.GetItemCount(id);
            break;

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

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

        case SignInRewardType.GoldCoin:    //下面内容策划待定
            result = UserDC.GetCoin();
            break;

        case SignInRewardType.Diamond:
            result = UserDC.GetDiamond();
            break;

        case SignInRewardType.Crystal:
            result = UserDC.GetCrystal();
            break;

        case SignInRewardType.Wood:
            result = UserDC.GetWood();
            break;
        }
        return(result);
    }
Beispiel #11
0
    /// <summary>
    /// 设置经验值
    /// </summary>
    private void SetExp( )
    {
        int Needexp = SoldierM.GetUpLevelNeedExp(m_soldierInfo.Level);

        if (MyHead.LblExp)
        {
            MyHead.LblExp.text = string.Format("{0}/{1}", m_soldierInfo.EXP, Needexp);
        }
    }
Beispiel #12
0
 /// <summary>
 /// 其他获得途径.
 /// </summary>
 /// <param name="show">If set to <c>true</c> show.</param>
 private void ShowAnotherFrom(bool show = true)
 {
     if (show)
     {
         int    soldierId = SoldierM.GetSoldierStarID(m_itemInfo.id);
         string DropDesc  = SoldierM.GetHeroDropDesc(soldierId);
         MyHead.LblGetDes.text = DropDesc;
     }
     MyHead.LblGetDes.gameObject.SetActive(show);
 }
Beispiel #13
0
    /// <summary>
    /// 模拟数据
    /// </summary>
    public static void SimulationData()
    {
        m_PlayerSoldiers.Clear();
        List <SoldierInfo> ls = SoldierM.GetAllSoldier();

        for (int i = 0; i < ls.Count; i++)
        {
            m_PlayerSoldiers.Add(ls[i].ID, ls[i]);
        }
    }
Beispiel #14
0
    /// <summary>
    /// 设置 灵魂石数量/升级数量  和 进度条.
    /// </summary>
    /// <param name="current">拥有的量</param>
    /// <param name="upValue">升级数量</param>
    public void SetPercentageNum()
    {
        int Exp = SoldierM.GetSoldierExp(Info.Level);


        if (MyHead.SprNumPercentage)
        {
            MyHead.SprNumPercentage.fillAmount = (Info.EXP * 1.0f) / (Exp * 1.0f);
        }
    }
Beispiel #15
0
    public void SetRoleRewardItem(SoldierSettlement Info, bool UpLine = true)
    {
        if (Info == null)
        {
            return;
        }
        SoldierInfo soldier = SoldierDC.GetSoldiers(Info.mSoldierid);

        m_info = soldier;
        if (soldier == null)
        {
            return;
        }

        SetSoldierQuality(m_info.Quality);

        if (MyHead.level != null)
        {
            MyHead.level.text = "[ffffff]" + soldier.Level + "[-]";
        }
        //
        if (MyHead.exp != null)
        {
            MyHead.exp.text = "[ffffff]+" + Info.mExp + "[-]";
        }


        if (MyHead.m_star != null && MyHead.m_star.Length == 5 && soldier.StarLevel <= 5)
        {
            NGUIUtil.SetStarLevelNum(MyHead.m_star, soldier.StarLevel);
            NGUIUtil.SetStarHidden(MyHead.m_star, soldier.StarLevel);
        }

        NGUIUtil.Set2DSprite(MyHead.head, "Textures/role/", soldier.m_modeltype.ToString());


        if (MyHead.expline != null)
        {
            int   Needexp = SoldierM.GetUpLevelNeedExp(soldier.Level);
            float value   = soldier.EXP * 1.0f / Needexp;
            if (UpLine)
            {
                NGUIUtil.UpdateFromValue(MyHead.expline, value);
            }
            else
            {
                MyHead.expline.fillAmount = System.Convert.ToSingle(value);
            }
        }
        if (MyHead.BtnShowTip)
        {
            MyHead.BtnShowTip.OnPressDownEventHandler += BtnShowTip_OnPressDownEventHandler;
            MyHead.BtnShowTip.OnPressUpEventHandler   += BtnShowTip_OnPressUpEventHandler;
        }
    }
Beispiel #16
0
    /// <summary>
    /// 力量筛选
    /// </summary>
    /// <param name="sender"></param>
    public void TogTank_OnChangeEventHandler()
    {
        if (!MyHead.TogTank.value)
        {
            return;
        }
        List <SoldierInfo> crewList = new List <SoldierInfo>();

        SoldierDC.GetSoldiers(ref crewList, CombatLoactionType.Tank);
        SoldierM.SortSoldierList(ref crewList);
        LoadHeadList(crewList, MyHead.SelectSoldierTable, 1);
    }
Beispiel #17
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();
    }
Beispiel #18
0
    /// <summary>
    /// 计算怪物炮弹兵战斗力,不包括陷阱.
    /// </summary>
    /// <returns>The monstoner combat power.</returns>
    /// <param name="modeid">Modeid.</param>
    public static int GetMonstonerCombatPower(int modeid)
    {
        int combatPower = 0;

        foreach (s_monsterInfo item in m_lMonsterInfo)
        {
            if (item.modeid == modeid)
            {
                SoldierInfo info = SoldierM.GetSoldierInfo(item);
                combatPower += info.m_combat_power;
            }
        }
        return(combatPower);
    }
Beispiel #19
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";
     }
 }
Beispiel #20
0
 /// <summary>
 /// 设置防御方炮弹兵数据。
 /// </summary>
 private static void SetDefenseSoldier(List <battle.SoldierInfo> soldierInfo)
 {
     m_DefenseList.Clear();
     for (int i = 0; i < soldierInfo.Count; i++)
     {
         SoldierInfo info = SoldierM.GetSoldierInfo(soldierInfo[i]);
         if (info == null)
         {
             continue;
         }
         if (!m_DefenseList.ContainsKey(info.ID))
         {
             m_DefenseList.Add(info.ID, info);
         }
     }
 }
Beispiel #21
0
    void SetUI()
    {
        if (Info == null)
        {
            return;
        }
        SetRolePhoto(Info.SoldierTypeID);
        SetNameLevel(Info.m_name, 0);
        int NeedNum  = 0;
        int NeedCoin = 0;

        SoldierM.GetUpStarNeed(Info.SoldierTypeID, Info.StarLevel, ref NeedNum, ref NeedCoin);
        int Have = Info.GetHaveFragmentNum();        //当前灵魂石

        SetPercentageNum(Have, NeedNum);
    }
Beispiel #22
0
    private void SetUI()
    {
        SetRolePhoto(Info.SoldierTypeID);
        NGUIUtil.SetStarLevelNum(MyHead.StarSprites, Info.StarLevel);
        NGUIUtil.SetRoleType(MyHead.SprRoleType, Info.m_main_proerty);
        SetNameLevel(Info.m_name, Info.Quality);        //默认未召唤的是100
        int NeedNum  = 0;
        int NeedCoin = 0;

        SoldierM.GetUpStarNeed(Info.SoldierTypeID, Info.StarLevel, ref NeedNum, ref NeedCoin);
        int Have = Info.GetHaveFragmentNum();        //当前灵魂石

        SetPercentageNum(Have, NeedNum);

        MyHead.SprRedPoint.SetActive(false);
    }
Beispiel #23
0
    public override void WndStart()
    {
        base.WndStart();

        SoldierDC.GetSoldiers(ref m_allExistSoldier, CombatLoactionType.ALL);
        SoldierM.SortSoldierList(ref m_allExistSoldier);

        if (MyHead.BtnLeft)
        {
            MyHead.BtnLeft.OnClickEventHandler += BtnLeft_OnClickEventHandler;
        }
        if (MyHead.BtnRight)
        {
            MyHead.BtnRight.OnClickEventHandler += BtnRight_OnClickEventHandler;
        }
        CreateItems();
    }
Beispiel #24
0
    /// <summary>
    /// 检测技能是否可升级(策划案提供)
    /// 1 金币不足,2等级达到上限,0是能够升级,3技能为空不能升级,4技能点不足 5技能升级空间不足
    /// </summary>
    public int CheckSkillCanUp()
    {
        if (m_soldierSkill == null)
        {
            NGUIUtil.DebugLog("m_soldierSkill == null ");
            return(3);
        }
        int teamMaxLevel  = SoldierM.GetSoldierMaxLevel();
        int skillMaxLevel = ConfigM.GetSkillMaxLevel(m_iSkillNo);

        if (m_soldierSkill.m_level == skillMaxLevel)   //技能等级达到上限
        {
            return(2);
        }

        int skillUpCoin = SoldierM.GetUpSkillLevelNeed(m_soldierSkill.m_level + 1, m_iSkillNo);
        int userCoin    = UserDC.GetCoin();

        if (skillUpCoin > userCoin)
        {
            return(1);
        }

        if (UserDC.GetLeftSkillPoints() < 1)
        {
            return(4);
        }

        int m = 0;
        int n = m_iSoldierLevel;              //当前炮弹兵等级
        int p = m_soldierSkill.m_level;       //技能等级

        int q = teamMaxLevel - skillMaxLevel; //战队等级上限 - 技能等级上限

        m = n - p - q;

        if (m >= 1)
        {
            return(0);
        }
        else
        {
            return(5);
        }
    }
Beispiel #25
0
 /// <summary>
 /// 从protobuf 解析静态数据到本地
 /// </summary>
 /// <param name="msg"></param>
 public static void LoadStaticDataToLocal(sdata.StaticDataResponse msg)
 {
     ConfigM.Init(msg);
     buildingM.Init(msg);
     DeckM.Init(msg);
     UserM.Init(msg);
     SoldierM.Init(msg);
     SummonM.Init(msg);
     SkillM.Init(msg);
     StageM.Init(msg);
     RoleNameM.Init(msg);
     ItemM.Init(msg);
     GodSkillM.Init(msg);
     AthleticsM.Init(msg);
     ErnieM.Init(msg);
     FruitionM.Init(msg);
     ShipPlanM.Init(msg);
 }
Beispiel #26
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);
        }
    }
Beispiel #27
0
 /// <summary>
 /// 设置灵魂石
 /// </summary>
 private void SetSoulPercentage()
 {
     MyHead.BtnShengXing.gameObject.SetActive(true);
     if (MyHead.SprSoulPercentage == null || MyHead.LblSoulNum == null)
     {
         NGUIUtil.DebugLog("SoldierInfoWnd.cs SprSoulPercentage or LblSoulNum null !!!");
         return;
     }
     if (m_soldierInfo.StarLevel == ConstantData.MaxStarLevel)
     {
         MyHead.SprSoulPercentage.fillAmount = 1.0f;
         MyHead.LblSoulNum.text = NGUIUtil.GetStringByKey("88800091");
         m_bStarLevelUp         = false;
         MyHead.BtnShengXing.gameObject.SetActive(false);
     }
     else
     {
         //判断碎片满足
         int NeedCoin = 0;
         int NeedNum  = 0;
         SoldierM.GetUpStarNeed(m_soldierInfo.SoldierTypeID, m_soldierInfo.StarLevel + 1, ref NeedNum, ref NeedCoin);
         int Have = m_soldierInfo.GetHaveFragmentNum();//当前灵魂石
         MyHead.SprSoulPercentage.fillAmount = (Have * 1.0f) / NeedNum;
         MyHead.LblSoulNum.text = string.Format("{0}/{1}", Have, NeedNum);
         if (Have >= NeedNum)
         {
             //屏蔽文字可进化(王振鑫)
             //NGUIUtil.SetLableTextByCode<int>(MyHead.LblSoulNum, 88800106);
             if (m_soldierInfo.StarLevel < ConstantData.MaxStarLevel)
             {
                 m_bStarLevelUp = true;
             }
             else
             {
                 m_bStarLevelUp = false;
             }
         }
         else
         {
             //MyHead.LblSoulNum.text = string.Format("{0}/{1}", Have, NeedNum);
             m_bStarLevelUp = false;
         }
     }
 }
Beispiel #28
0
    /// <summary>
    /// 获取怪物数据
    /// </summary>
    public static SoldierInfo Getmonster(s_countershipputInfo Info)
    {
        if (Info == null)
        {
            return(null);
        }
        s_monsterInfo monster = GetMonsterInfo(Info.objid);

        if (monster == null)
        {
            return(null);
        }
        SoldierInfo I = SoldierM.GetSoldierInfo(monster);

        if (I.m_modeltype == 200009 || I.m_modeltype == 102003)
        {
            s_monsterInfo monsterturn = GetMonsterInfo(Info.objid + 1);
            I.m_TurnInfo = SoldierM.GetSoldierInfo(monsterturn);

            if (I.m_TurnInfo != null)
            {
                I.m_TurnInfo.CX = Info.cx;
                I.m_TurnInfo.CY = Info.cy;
                s_monsterskillorderInfo order = GetSkillOrder(Info.objid + 1);
                if (order != null && I.m_TurnInfo.m_Skill != null)
                {
                    I.m_TurnInfo.m_Skill.attack1 = order.attack;
                    I.m_TurnInfo.m_Skill.attack2 = order.attack1;
                }
            }
        }
        if (I != null)
        {
            I.CX = Info.cx;
            I.CY = Info.cy;
            s_monsterskillorderInfo order = GetSkillOrder(Info.objid);
            if (order != null && I.m_Skill != null)
            {
                I.m_Skill.attack1 = order.attack;
                I.m_Skill.attack2 = order.attack1;
            }
        }
        return(I);
    }
Beispiel #29
0
    public void SetZhuangBeiList(List <int> listItemID)
    {
        bool bRedPot = false;


        for (int i = 0; i < listItemID.Count; i++)
        {
            int itemTypeID        = 0;
            EquipmentPutType type = SoldierM.CheckCanPutEquip(Info, listItemID[i], i, ref itemTypeID);
            EquipPutType = type;
            if (type == EquipmentPutType.CanPut || type == EquipmentPutType.CanCombine || type == EquipmentPutType.CanCombinePut)
            {
                NGUIUtil.Set2DSprite(MyHead.SprZhuangBeiList[i], "Textures/item/", "pdbxx_002ic");
            }
            else if (type == EquipmentPutType.HaveCannot)
            {
                NGUIUtil.Set2DSprite(MyHead.SprZhuangBeiList[i], "Textures/item/", "pdbxx_003ic");
            }
            else if (type == EquipmentPutType.HavePut)
            {
                ItemTypeInfo info1 = ItemDC.GetItem(listItemID[i]);
                if (info1 == null || info1.Positon == 0)
                {
                    NGUIUtil.DebugLog("获取已装备的信息失败 itemID =" + listItemID[i]);
                    MyHead.SprZhuangBeiList[i].sprite2D = null;
                    continue;
                }
                else
                {
                    NGUIUtil.Set2DSprite(MyHead.SprZhuangBeiList[i], "Textures/item/", info1.m_Icon.ToString());
                }
            }
            else
            {
                MyHead.SprZhuangBeiList[i].sprite2D = null;
            }
            if (!bRedPot)
            {
                bRedPot = (type == EquipmentPutType.CanPut) || (type == EquipmentPutType.CanCombinePut);
            }
        }

        MyHead.SprLittleRed.gameObject.SetActive(bRedPot);
    }
Beispiel #30
0
    private void ShowLblItemCount()
    {
        if (m_wndType == 1)
        {
            int    count     = ItemDC.GetItemCount(m_itemInfo.id);
            string countText = string.Format("[FF7E14]" + NGUIUtil.GetStringByKey("88800040") + "[-][9C4314]{0}[-][FF7E14]" + NGUIUtil.GetStringByKey("88800037") + "[-]", count);
            MyHead.LblItemAmount.text = countText;
        }
        else if (m_wndType == 2 && m_soldierInfo != null)
        {
            int NeedNum  = 0;
            int NeedCoin = 0;
            SoldierM.GetUpStarNeed(m_soldierInfo.SoldierTypeID, m_soldierInfo.StarLevel + 1, ref NeedNum, ref NeedCoin);
            int Have = m_soldierInfo.GetHaveFragmentNum();            //当前灵魂石
            MyHead.LblItemAmount.text = Have.ToString() + "/" + NeedNum.ToString();
        }
        else if (m_wndType == 3 && m_soldierInfo != null)
        {
            int NeedNum  = 0;
            int NeedCoin = 0;
            SoldierM.GetUpStarNeed(m_soldierInfo.SoldierTypeID, m_soldierInfo.StarLevel, ref NeedNum, ref NeedCoin);
            int Have = m_soldierInfo.GetHaveFragmentNum();            //当前灵魂石
            MyHead.LblItemAmount.text = Have.ToString() + "/" + NeedNum.ToString();
        }
        else if (m_wndType == 4 && m_buildInfo != null)
        {
            int iCoin   = 0;
            int NeedNum = 0;

            buildingM.GetUpStarNeed(m_buildInfo.BuildType, m_buildInfo.StarLevel + 1, ref NeedNum, ref iCoin);
            int Have = ItemDC.GetItemCount(m_buildInfo.fragmentTypeID);
            MyHead.LblItemAmount.text = Have.ToString() + "/" + NeedNum.ToString();
        }
        else if (m_wndType == 5 && m_buildInfo != null)
        {
            int iCoin   = 0;
            int NeedNum = 0;

            buildingM.GetUpStarNeed(m_buildInfo.BuildType, m_buildInfo.StarLevel, ref NeedNum, ref iCoin);
            int Have = ItemDC.GetItemCount(m_buildInfo.fragmentTypeID);
            MyHead.LblItemAmount.text = Have.ToString() + "/" + NeedNum.ToString();
        }
    }