示例#1
0
    /// <summary>
    /// 炮弹兵是否能增加经验 0:可以增加,1:已经满级不能增加
    /// </summary>
    /// <returns><c>true</c>, if can add exp was checked, <c>false</c> otherwise.</returns>
    /// <param name="SoldireTypeID">炮弹兵ID.</param>
    /// <param name="AddExpNum">炮弹兵增加的经验值</param>
    public static int CheckCanAddExp(int SoldireTypeID, int AddExpNum)
    {
        SoldierInfo info = SoldierDC.GetSoldiers(SoldireTypeID);

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

        s_soldier_experienceInfo expInfo = GetSoldierExpData(info.Level);

        if (expInfo.exp == 0)
        {
            return(1);
        }

        int MaxLvl = UserM.GetUserMaxHeroLevel(info.Level);
        int MaxExp = GetSoldierTotalExpAtLevel(MaxLvl);


        if (info.EXP >= MaxExp)
        {
            return(1);
        }
        else if (info.EXP + AddExpNum < MaxExp)
        {
            return(0);
        }
        else if (info.EXP + AddExpNum > MaxExp && info.EXP < MaxExp)
        {
            return(0);
        }
        return(0);
    }
示例#2
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;
        }
    }
示例#3
0
    void GoCombat()
    {
        SoundPlay.PlayBackGroundSound("bgm_battle_loop", true, false);
        List <int>         l           = new List <int>();
        List <int>         lDefense    = new List <int>();
        List <SoldierInfo> soldierList = new List <SoldierInfo>();

        foreach (var i in m_SelectedSoldier)
        {
            soldierList.Add(SoldierDC.GetSoldiers(i.Soldier.ID));
            l.Add(i.Soldier.ID);
            lDefense.Add(i.Soldier.SoldierTypeID);
        }

        CmCarbon.SetAttackSoldier(soldierList);
        if (BattleEnvironmentM.GetBattleEnvironmentMode() == BattleEnvironmentMode.CombatPVE)
        {
            /*if (StageDC.GetPveMode() == PVEMode.Defense) {
             *  StageDC.SendStageAttackRequest(StageDC.GetCompaignStageID(), lDefense, 0);
             * } else {
             *  StageDC.SendStageAttackRequest(StageDC.GetCompaignStageID(), l, m_SelectedBlackScienceDataID);
             * }
             * DataCenter.RegisterHooks((int)gate.Command.CMD.CMD_702, CanCombat);*/
            JoinCombat();
        }
        else
        {
            JoinCombat();
        }
    }
示例#4
0
 /// <summary>
 /// 刷新UI(穿新装备)
 /// </summary>
 public void RefreshUI()
 {
     m_soldierInfo = SoldierDC.GetSoldiers(m_soldierInfo.ID);
     SetData(m_soldierInfo);
     UpdateSoldierInList(m_soldierInfo.ID);
     ShowPutEquipEffect();
     DoCanJinSheng();
     DoCanShengXing();
 }
示例#5
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;
        }
    }
示例#6
0
    /// <summary>
    /// 新增士兵
    /// </summary>
    public static void CreateSoldierFromWarehouse(int soldierId)
    {
        SoldierInfo infoSoldier = SoldierDC.GetSoldiers(soldierId);

        if (infoSoldier == null)
        {
            return;
        }

        CanvasCore Core     = new CanvasCore(ShipBuildType.Soldier, true, ShipPutInfo.GetNewShipPutId(), infoSoldier.ID, Vector2.zero);
        Int2       BornPos  = new Int2(0, 0);
        bool       isCanPut = PutCanvasM.GetBornPos(Core, ref BornPos);

        if (isCanPut == false)
        {
            NGUIUtil.ShowTipWndByKey("88800007", 1.0f);
            return;
        }

        Transform t_start = GetLifeMBornNode(true);
        Role      r       = new Role();

        r.CreateSkin(t_start, infoSoldier.m_modeltype, infoSoldier.m_name, AnimatorState.Stand, true);
        //IGameRole i = GameRoleFactory.Create(t_start, infoSoldier.m_modeltype, infoSoldier.m_name, AnimatorState.Stand);
        GameObject go = r.RoleSkinCom.tRoot.gameObject;;

        go.name = infoSoldier.m_name;

        Vector3 posMy        = t_start.position;
        Vector3 screenSpace  = Camera.main.WorldToScreenPoint(posMy);
        Vector3 pos          = new Vector3(Screen.width / 2, Screen.height / 1.5f);
        Vector3 posTempmouse = Camera.main.ScreenToWorldPoint(new Vector3(pos.x, pos.y, screenSpace.z));

        posTempmouse = U3DUtil.SetZ(posTempmouse, 0f);
        go.transform.localPosition = Vector3.zero;
        Transform tRole = go.transform.GetChild(0);

        TouchMove touch = tRole.gameObject.AddComponent <TouchMove>();

        tRole.gameObject.transform.parent.localPosition = RoomMap.GetShipBuildLocalPos(BornPos, ShipBuildType.Soldier);

        touch.InitTouchMoveCore(Core, BornPos, null);


        AddBuildingEditPlugin(touch);
        if (infoSoldier.SoldierTypeID == 100003)   //隐藏蹦蹦
        //RolePropertyM rpm = i.GetBodyComponent<RolePropertyM>();
        {
            r.RoleSkinCom.ShowLeftHand(false);
        }
        TouchMoveManager.JointShipBuild(touch);
        TouchMoveManager.SetCurTouchMove(touch);
        touch.WareHouse2Ship(BornPos);
    }
示例#7
0
 /// <summary>
 /// 获取炮弹兵
 /// </summary>
 /// <author>zhulin</author>
 public bool  GetSoldier(ref SoldierInfo Soldier)
 {
     Soldier = SoldierDC.GetSoldiers(objid);
     if (Soldier != null)
     {
         Soldier.CX = cxMapGrid;
         Soldier.CY = cyMapGrid;
         Soldier.ID = objid;
         return(true);
     }
     return(false);
 }
示例#8
0
 private void SoldierQualityUpResponse(int nErrorCode)
 {
     if (nErrorCode == 0)
     {
         m_soldierInfo = SoldierDC.GetSoldiers(m_ID);
         SetData(m_soldierInfo);
         float duration = ShowQualityAddGrow(m_preSoldierInfo, m_soldierInfo);
         UpLevelEffect();
         //播放炮弹兵动作 和 独白
         NGUIUtil.ExcuteWaitAction(gameObject, duration, ShowUpQualityWndCallBack);
     }
 }
示例#9
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);
    }
示例#10
0
 private void SoldierStarUpResponse(int nErrorCode)
 {
     if (nErrorCode == 0)
     {
         m_soldierInfo = SoldierDC.GetSoldiers(m_ID);
         SetData(m_soldierInfo);
         ShowStarAddGrow();
         UpLevelEffect();
         NGUIUtil.ExcuteWaitAction(gameObject, 1.2f, ShowUpStarWndCallBack);
     }
     else
     {
         NGUIUtil.DebugLog("炮弹兵升星失败 =" + nErrorCode);
     }
 }
示例#11
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();
    }
示例#12
0
    /// <summary>
    /// 填充建造类型数据
    /// </summary>
    public void FillData(ShipBuildType type)
    {
        m_shipBuildType = type;
        switch (type)
        {
        case ShipBuildType.BuildRoom:
            warehouseBuildList = BuildDC.GetBuildingList(AttributeType.ALL);
            break;

        case ShipBuildType.Soldier:
            SoldierDC.GetSoldiers(ref soldierList, CombatLoactionType.ALL);
            break;

        default:
            break;
        }
    }
示例#13
0
    /// <summary>
    /// 设定总战斗力
    /// </summary>
    /// <param name="force"></param>
    public void SetCombatForece(int soldierID, bool isAdd)
    {
        SoldierInfo info = new SoldierInfo();

        info = SoldierDC.GetSoldiers(soldierID);

        int combatForece = info.m_combat_power;

        if (!isAdd)
        {
            combatForece = -combatForece;
        }
        if (MyHead.LblCombatForce)
        {
            m_iTotalCombatForce       += combatForece;
            MyHead.LblCombatForce.text = m_iTotalCombatForce.ToString();
        }
    }
示例#14
0
    private void SetUI()
    {
        List <SoldierInfo> lList = new List <SoldierInfo> ();

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

        for (int i = 0; i < lList.Count; i++)
        {
            GameObject go = NDLoad.LoadWndItem("AddExpItem", MyHead.Table.transform);
            if (go != null)
            {
                AddExpItem item = go.GetComponent <AddExpItem>();
                if (item != null)
                {
                    item.SetData(lList[i], m_ItemInfo, this);
                }
            }
        }
        MyHead.Table.Reposition();
    }
示例#15
0
 /// <summary>
 /// 刷新战斗力(技能升级)
 /// </summary>
 public void RefreshCombatPower()
 {
     m_soldierInfo = SoldierDC.GetSoldiers(m_soldierInfo.ID);
     MyHead.LblCombatPower.text = m_soldierInfo.m_combat_power.ToString();//设置战斗力
 }
示例#16
0
 public void RefreshSkillItem()
 {
     m_Info = SoldierDC.GetSoldiers(m_Info.ID);
     SetData(m_Info);
 }
示例#17
0
 private void FillSoldierData(CombatLoactionType type)
 {
     SoldierDC.GetSoldiers(ref soldierList, type);
 }