/// <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); }
/// <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; } }
/// <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); }
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(); } }
public void BtnAddSkill_OnClickEventHandler(UIButton sender) { ///1 金币不足,2炮弹兵等级不足,0是能够升级,3技能为空不能升级,4技能点不足. int result = CheckSkillCanUp(); if (UserDC.GetLeftSkillPoints() >= 1 && result == 0) { if (m_iSkillNo < 6) { PlayAddSkillEffect(); SoldierDC.Send_SoldierSkillUpRequest(m_dSoldierID, m_iSkillNo); } } else if (result == 1) { NGUIUtil.ShowTipWndByKey(99901003); } else if (result == 2) { NGUIUtil.ShowTipWndByKey(10000104); } else if (result == 4) { NGUIUtil.ShowTipWndByKey(99914004); } else if (result == 5) { NGUIUtil.ShowTipWndByKey(99914003); } }
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; } }
/// <summary> /// 模拟数据接口。 /// </summary> public static void SimulationData() { UserDC.SimulationData(); SoldierDC.SimulationData(); StageDC.SimulationData(); BuildDC.SimulationData(); BlackScienceDC.SimulationData(); ShipPlanDC.SimulationData(); }
/// <summary> /// 刷新UI(穿新装备) /// </summary> public void RefreshUI() { m_soldierInfo = SoldierDC.GetSoldiers(m_soldierInfo.ID); SetData(m_soldierInfo); UpdateSoldierInList(m_soldierInfo.ID); ShowPutEquipEffect(); DoCanJinSheng(); DoCanShengXing(); }
/// <summary> /// 清理数据中心数据 /// </summary> public static void ClearDC() { UserDC.ClearDC(); SoldierDC.ClearDC(); BuildDC.ClearDC(); ItemDC.ClearDC(); BlackScienceDC.ClearDC(); ShipPlanDC.ClearDC(); }
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; } }
/// <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); }
/// <summary> /// 召唤英雄 /// </summary> void BtnYES_OnClickEventHandler(UIButton sender) { if (m_iWndType == 1) { SoldierDC.Send_SoldierSummonRequest(m_soldierInfo.SoldierTypeID); } else if (m_iWndType == 2) { BuildDC.Send_BuildComposeRequest(m_buildInfo.BuildType); } }
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); } }
/// <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); }
/// <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); }
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); } }
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(); }
/// <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; } }
/// <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(); } }
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(); }
private void YesUpStar(UIButton sender) { if (m_bStarLevelUp) { if (UserDC.GetCoin() >= m_starInfo.price) { //NGUIUtil.ShowTipWnd("可以升星啦"); // MyHead.BtnShengXing.isEnabled = false; EnablePrevNextBtn(false); m_preSoldierInfo.Copy(m_soldierInfo); SoldierDC.Send_SoldierStarUpRequest(m_soldierInfo.ID); } else //金钱不够 { NGUIUtil.ShowTipWndByKey <int>(88800108, 1.0f, ConstantData.iDepBefore3DModel); } } else //灵魂石不够 { NGUIUtil.ShowTipWndByKey <int>(88800107, 1.0f, ConstantData.iDepBefore3DModel); } }
/// <summary> /// 刷新战斗力(技能升级) /// </summary> public void RefreshCombatPower() { m_soldierInfo = SoldierDC.GetSoldiers(m_soldierInfo.ID); MyHead.LblCombatPower.text = m_soldierInfo.m_combat_power.ToString();//设置战斗力 }
/// <summary> /// 获取所有炮弹兵数据 /// </summary> /// <param name="mainProperty">-1 全部</param> private void GetAllSoldiersData() { m_allExistSoldier.Clear(); m_allCanExistSoldierInfo.Clear(); m_allNoExistSoldierInfo.Clear(); List <SoldierInfo> lAll = SoldierM.GetAllSoldier(); foreach (SoldierInfo I in lAll) { SoldierInfo Info = SoldierDC.GetSoldiersBySoldierType(I.SoldierTypeID); if (Info != null) { m_allExistSoldier.Add(Info); continue; } if (I.CheckCanSummon() == true) { m_allCanExistSoldierInfo.Add(I); } else { m_allNoExistSoldierInfo.Add(I); } } //sort //已召唤 SoldierM.SortSoldierList(ref m_allExistSoldier); // 能召唤 m_allCanExistSoldierInfo.Sort((a, b) => { if (a.SoldierTypeID > b.SoldierTypeID) { return(1); } else if (a.SoldierTypeID < b.SoldierTypeID) { return(-1); } else { return(0); } }); //不能召唤 m_allNoExistSoldierInfo.Sort((a, b) => { if (a.GetHaveFragmentNum() > b.GetHaveFragmentNum()) { return(-1); } else if (a.GetHaveFragmentNum() < b.GetHaveFragmentNum()) { return(1); } if (a.SoldierTypeID > b.SoldierTypeID) { return(1); } else if (a.SoldierTypeID < b.SoldierTypeID) { return(-1); } else { return(0); } }); }
private void FillSoldierData(CombatLoactionType type) { SoldierDC.GetSoldiers(ref soldierList, type); }
public void RefreshSkillItem() { m_Info = SoldierDC.GetSoldiers(m_Info.ID); SetData(m_Info); }
public static bool ProcessData(int CmdID, object Para) { bool bResult = true; if (Para is gate.GateMessage.MessageContent) { gate.GateMessage.MessageContent msg = Para as gate.GateMessage.MessageContent; int nErrorCode = 0; gate.ErrorMessage emsg = msg.error_message; if (emsg != null) { if (emsg.code > 0) { FileLog.ProtocolDump(emsg); nErrorCode = emsg.code; NGUIUtil.DebugLog(string.Format("CmdID={0},errorCode={1},description={2}", CmdID, emsg.code, emsg.description)); bResult = false; //return false; //如取名重名也会返回error_message.code>0,所以这里不宜return,否则客户端hook代码不会执行 } } object data = null; if (bResult && msg.network_message != null) //如果失败了,有可能msg.network_message为null { data = protobufM.Deserialize(msg.proto_name, msg.network_message); } //dump FileLog.ProtocolDumpwrite(CmdID.ToString()); FileLog.ProtocolDumpwriteXml(CmdID.ToString()); if (CmdID != 9999) { FileLog.ProtocolDump(data); } //统一在外围直接解析,不到具体的DC去 if (bResult == true) { int DcBlock = CmdID / 100; switch (DcBlock) { case 2: bResult = SoldierDC.ProcessData(CmdID, nErrorCode, data); break; case 5: bResult = ShipPlanDC.ProcessData(CmdID, nErrorCode, data); break; case 6: bResult = UserDC.ProcessData(CmdID, nErrorCode, data); break; case 7: bResult = StageDC.ProcessData(CmdID, nErrorCode, data); break; case 8: bResult = ItemDC.ProcessData(CmdID, nErrorCode, data); break; case 9: bResult = BuildDC.ProcessData(CmdID, nErrorCode, data); break; case 11: bResult = BlackScienceDC.ProcessData(CmdID, nErrorCode, data); break; } } ProcessRealHooks(CmdID, nErrorCode); } return(bResult); }