示例#1
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();
    }
示例#2
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);
    }
示例#3
0
    /// <summary>
    /// 获取升星所需资源
    /// </summary>
    /// <param name="SoldierType">炮弹兵类型</param>
    /// <param name="Star">星级</param>
    /// <param name="NeedMaterial">需要材料,key item id,value 数量</param>
    /// <param name="Star">建筑星级</param>
    /// <returns>建筑数据,null 获取失败</returns>
    public static void GetUpStarNeed(int SoldierType, int Star, ref int fragmentNum, ref int Coin)
    {
        Coin        = 0;
        fragmentNum = 0;

        s_soldierstar_typeInfo Info = GetSoldierStarData(SoldierType, Star);

        if (Info != null)
        {
            Coin        = Info.price;
            fragmentNum = Info.item_num;
        }
    }