public void delCardSet() { stReqDeleteOneCardGroupUserCmd cmd = new stReqDeleteOneCardGroupUserCmd(); cmd.index = m_cardGroupItem.m_cardGroup.index; UtilMsg.sendMsg(cmd); }
protected void onStartBtnClk(GameObject go) { m_sceneDZData.m_roundMgr.stopTimer(); // 停止定时器 // 点击后直接隐藏按钮 m_sceneDZData.m_placeHolderGo.m_startGO.SetActive(false); // 卸载可能加载的叉号资源 string resPath = string.Format("{0}{1}", Ctx.m_instance.m_cfg.m_pathLst[(int)ResPathType.ePathModel], "ChaHao.prefab"); Ctx.m_instance.m_modelMgr.unload(resPath, null); stReqFightPrepareOverUserCmd cmd = new stReqFightPrepareOverUserCmd(); int idx = 0; // 设置需要交换的卡牌 foreach (uint cardid in Ctx.m_instance.m_dataPlayer.m_dzData.m_playerArr[(int)EnDZPlayer.ePlayerSelf].m_startCardList) { if (m_sceneDZData.m_changeCardIdxList.IndexOf(idx) != -1) { cmd.change |= (byte)(1 << idx); } ++idx; } UtilMsg.sendMsg(cmd); }
// 步骤 3 ,发送消息 public void sendMsg3f() { // 测试数据 //send.game = 10; //send.zone = 30; //zhanghao01---zhanghao09 Ctx.m_instance.m_logSys.log(Ctx.m_instance.m_langMgr.getText(LangTypeId.eLTLog0, LangItemID.eItem4)); stUserRequestLoginCmd cmd = new stUserRequestLoginCmd(); //cmd.pstrName = "zhanghao01"; //cmd.pstrPassword = "******"; cmd.pstrName = m_name; cmd.pstrPassword = m_passwd; #if KOKSERVER_TEST cmd.pstrName = "fayatudou615"; cmd.pstrPassword = "******"; #endif cmd.game = 10; #if !KOKSERVER_TEST cmd.zone = Ctx.m_instance.m_cfg.m_zone; #else cmd.zone = 31; #endif UtilMsg.sendMsg(cmd); }
protected void sendMsg() { stPasswdLogonUserCmd cmd = new stPasswdLogonUserCmd(); cmd.dwUserID = Ctx.m_instance.m_loginSys.getUserID(); cmd.loginTempID = Ctx.m_instance.m_pTimerMsgHandle.m_loginTempID; UtilMsg.sendMsg(cmd); }
protected void testMsg() { stAddBattleCardPropertyUserCmd cmd = new stAddBattleCardPropertyUserCmd(); //cmd.attackType = 2; //cmd.pAttThisID = 0; //cmd.pDefThisID = 0; UtilMsg.sendMsg(cmd); }
// 通知客户端上一场战斗还没有结束 protected void psstRetNotifyUnfinishedGameUserCmd(ByteBuffer bu) { Ctx.m_instance.m_dataPlayer.m_dzData.m_bLastEnd = false; // 可能要请求一些数据 stReqEnterUnfinishedGameUserCmd cmd = new stReqEnterUnfinishedGameUserCmd(); UtilMsg.sendMsg(cmd); Ctx.m_instance.m_dataPlayer.m_dzData.m_bLastEnd = true; }
protected void onBtnSendClk() { stKokChatUserCmd cmd = new stKokChatUserCmd(); cmd.dwType = 2; cmd.pstrName = Ctx.m_instance.m_dataPlayer.m_dataMain.m_name; cmd.pstrChat = m_inputField.text; UtilMsg.sendMsg(cmd); m_inputField.text = ""; // 清空内容 }
protected void onBtnClkShop(IDispatchObject dispObj) { Ctx.m_instance.m_uiMgr.loadAndShow(UIFormID.eUIShop); IUIShop shop = Ctx.m_instance.m_uiMgr.getForm(UIFormID.eUIShop) as IUIShop; UtilApi.setScale(shop.GUIWin().m_uiRoot.transform, new Vector3(1.0f, 1.0f, 1.0f)); // 发送消息 stReqMarketObjectInfoPropertyUserCmd cmd = new stReqMarketObjectInfoPropertyUserCmd(); UtilMsg.sendMsg(cmd); }
// 返回基本角色信息 public void psstUserInfoUserCmd(ByteBuffer bu) { // 发送选择角色登陆进入游戏 stLoginSelectUserCmd cmd1f = new stLoginSelectUserCmd(); cmd1f.charNo = 0; UtilMsg.sendMsg(cmd1f); stUserInfoUserCmd cmd = new stUserInfoUserCmd(); cmd.derialize(bu); }
// 请求保存卡牌 public void reqSaveCard() { stReqSaveOneCardGroupUserCmd cmd = new stReqSaveOneCardGroupUserCmd(); cmd.index = m_curEditCardSet.m_cardGroupItem.m_cardGroup.index; if (m_curEditCardSet.bDiffForm(m_curCardSet)) // 如果发生改变 { cmd.count = (ushort)m_curEditCardSet.m_cardGroupItem.m_cardList.Count; cmd.id = m_curEditCardSet.m_cardGroupItem.m_cardList; UtilMsg.sendMsg(cmd); } }
protected void onQuitDZBtnClk() { stReqGiveUpOneBattleUserCmd cmd = new stReqGiveUpOneBattleUserCmd(); UtilMsg.sendMsg(cmd); //#if UNITY_EDITOR // UnityEditor.EditorApplication.isPlaying = false; //#else // Application.Quit(); //#endif }
// 登陆网关服务器 // 步骤 5 ,发送消息 public void sendMsg5f() { Ctx.m_instance.m_logSys.log(Ctx.m_instance.m_langMgr.getText(LangTypeId.eLTLog0, LangItemID.eItem8)); //stUserVerifyVerCmd cmdVerify = new stUserVerifyVerCmd(); //UtilMsg.sendMsg(cmdVerify); stPasswdLogonUserCmd cmd = new stPasswdLogonUserCmd(); cmd.dwUserID = m_dwUserID; cmd.loginTempID = Ctx.m_instance.m_pTimerMsgHandle.m_loginTempID; UtilMsg.sendMsg(cmd); }
// 登陆登录服务器 // 步骤 1 ,发送登陆消息 public void sendMsg1f() { Ctx.m_instance.m_logSys.log(Ctx.m_instance.m_langMgr.getText(LangTypeId.eLTLog0, LangItemID.eItem2)); stUserVerifyVerCmd cmdVerify = new stUserVerifyVerCmd(); #if KOKSERVER_TEST cmdVerify.version = 2015031801; #endif UtilMsg.sendMsg(cmdVerify); stRequestClientIP cmdReqIP = new stRequestClientIP(); UtilMsg.sendMsg(cmdReqIP); }
// 点击登陆处理 protected void onBtnClkLogin() { string textStr = ""; if (Ctx.m_instance.m_loginSys.get_LoginState() == LoginState.eLoginSuccessGateServer || Ctx.m_instance.m_loginSys.get_LoginState() == LoginState.eLoginNewCharError) // 网关登陆成功或者建立角色错误 { AuxInputField lblName = new AuxInputField(m_GUIWin.m_uiRoot, LoginComPath.PathLblName); if (lblName.text.Length == 0) // 如果没有输入名字 { // 给出一个提示 textStr = Ctx.m_instance.m_langMgr.getText(LangTypeId.eSelectHero2, LangItemID.eItem1); InfoBoxParam param = Ctx.m_instance.m_poolSys.newObject <InfoBoxParam>(); param.m_midDesc = textStr; UIInfo.showMsg(param); } else if (Ctx.m_instance.m_wordFilterManager.IsMatch(lblName.text)) // 如果包含非法字符 { // 给出一个提示 textStr = Ctx.m_instance.m_langMgr.getText(LangTypeId.eSelectHero2, LangItemID.eItem2); InfoBoxParam param = Ctx.m_instance.m_poolSys.newObject <InfoBoxParam>(); param.m_midDesc = textStr; UIInfo.showMsg(param); } else { // 判断名字长度 if (UtilLogic.CalcCharCount(lblName.text) <= ProtoCV.MAX_NAMESIZE) { stCreateSelectUserCmd cmd = new stCreateSelectUserCmd(); cmd.strUserName = lblName.text; cmd.country = 1; UtilMsg.sendMsg(cmd); } else { // 给出一个提示 textStr = Ctx.m_instance.m_langMgr.getText(LangTypeId.eSelectHero2, LangItemID.eItem0); InfoBoxParam param = Ctx.m_instance.m_poolSys.newObject <InfoBoxParam>(); param.m_midDesc = textStr; UIInfo.showMsg(param); } } } }
protected void onPackBtnClk_1(IDispatchObject dispObj) { m_cardBtnArr[(int)CardBtnEnum.ePackBtn_2].objData = Ctx.m_instance.m_dataPlayer.m_dataPack.m_objList[1]; m_cardBtnArr[(int)CardBtnEnum.ePackBtn_2].load(); DataItemObjectBase bojBase; bojBase = Ctx.m_instance.m_dataPlayer.m_dataPack.m_objList[1]; // 发消息通知开 stUseObjectPropertyUserCmd cmd = new stUseObjectPropertyUserCmd(); cmd.qwThisID = bojBase.m_srvItemObject.dwThisID; cmd.useType = 1; UtilMsg.sendMsg(cmd); UtilApi.SetActive(m_goArr[(int)OpenPackGo.eCardPackLayer], false); m_cardBtnArr[(int)CardBtnEnum.ePackBtn_2].auxDynImageStaticGoButton.show(); }
protected void effcPlayEnd(IDispatchObject dispObj) { DataItemObjectBase bojBase; bojBase = Ctx.m_instance.m_dataPlayer.m_dataPack.m_objList[0]; // 发消息通知开 stUseObjectPropertyUserCmd cmd = new stUseObjectPropertyUserCmd(); cmd.qwThisID = bojBase.m_srvItemObject.dwThisID; cmd.useType = 1; UtilMsg.sendMsg(cmd); m_spriteAni.updateImage(); m_openEffImg.SetActive(false); m_cardBtnArr[(int)CardBtnEnum.ePackBtn_2].auxDynImageStaticGoButton.hide(); m_bEffectEnd = true; //show5Card(); //m_PanelGray.SetActive(true); }
protected void OnBtnClk(GameObject go) { if (Ctx.m_instance.m_dataPlayer.m_dzData.bSelfSide()) { stReqEndMyRoundUserCmd cmd; if (!m_bNeedTipsInfo) { cmd = new stReqEndMyRoundUserCmd(); UtilMsg.sendMsg(cmd); } //else //{ // ++m_clkTipsCnt; // if (m_clkTipsCnt == 1) // { // if (!hasLeftMagicPtCanUse()) // { // cmd = new stReqEndMyRoundUserCmd(); // UtilMsg.sendMsg(cmd); // } // else // 你还有可操作的随从 // { // InfoBoxParam param = Ctx.m_instance.m_poolSys.newObject<InfoBoxParam>(); // param.m_midDesc = Ctx.m_instance.m_langMgr.getText(LangTypeId.eDZ4, LangItemID.eItem0); // param.m_btnClkDisp = onInfoBoxBtnClk; // param.m_formID = UIFormID.eUIInfo; // 这里提示使用这个 id // UIInfo.showMsg(param); // } // } // else // { // m_clkTipsCnt = 0; // cmd = new stReqEndMyRoundUserCmd(); // UtilMsg.sendMsg(cmd); // } //} } }
// 进入普通攻击状态 public void enterAttack() { if (this.m_card.sceneCardItem.cardArea != CardArea.CARDCELLTYPE_HAND) // 只要点击的不是手牌 { // 只有点击自己的时候,才启动攻击 if (this.m_card.sceneCardItem.bSelfSide()) // 应该再判断是否能够继续攻击 { // 技能牌进入攻击判断流程 if ((int)CardType.CARDTYPE_SKILL == m_card.sceneCardItem.m_cardTableItem.m_type) // 如果点击的是技能卡牌 { // 技能消耗 Mp 和攻击次数 if (canLaunchAtt()) { if (m_card.sceneCardItem.m_cardTableItem.m_bNeedFaShuTarget == 0) // 如果没有攻击目标 { // 直接发送消息 stCardMoveAndAttackMagicUserCmd skillCmd = new stCardMoveAndAttackMagicUserCmd(); skillCmd.dwAttThisID = m_card.sceneCardItem.svrCard.qwThisID; UtilMsg.sendMsg(skillCmd); } else // 有攻击目标 { m_card.m_sceneDZData.m_gameOpState.enterAttackOp(EnGameOp.eOpSkillAttackTarget, m_card); } } } else if ((int)CardType.CARDTYPE_ATTEND == m_card.sceneCardItem.m_cardTableItem.m_type || (int)CardType.CARDTYPE_HERO == m_card.sceneCardItem.m_cardTableItem.m_type) // 随从卡、英雄卡 { // 有攻击力和攻击次数 if (canLaunchAtt()) { this.m_card.m_sceneDZData.m_gameOpState.enterAttackOp(EnGameOp.eOpNormalAttack, this.m_card); } } } } }
protected void onBtnClkBuy(IDispatchObject dispObj) { GameObject _go = EventSystem.current.currentSelectedGameObject; if (0 == BuyIndex) { return; } XmlMarketCfg marketCfg = Ctx.m_instance.m_xmlCfgMgr.getXmlCfg <XmlMarketCfg>(XmlCfgID.eXmlMarketCfg); XmlItemMarket itemMarket = marketCfg.getXmlItem(BuyIndex) as XmlItemMarket; if (Ctx.m_instance.m_dataPlayer.m_dataMain.m_gold < itemMarket.m_price) { UtilApi.SetActive(m_NoGoldTip.gameObject, true); } else { stReqBuyMobileObjectPropertyUserCmd cmd = new stReqBuyMobileObjectPropertyUserCmd(); cmd.index = BuyIndex; UtilMsg.sendMsg(cmd); } }
public void onSelBtnClk() { if (JobSelectMode.eNewCardSet == Ctx.m_instance.m_auxUIHelp.m_auxJobSelectData.jobSelectMode) { if (m_jobSelectData.m_midPnl.curSelJobCard != null) // 如果有选择 { stReqCreateOneCardGroupUserCmd cmd = new stReqCreateOneCardGroupUserCmd(); cmd.occupation = (uint)m_jobSelectData.m_midPnl.curSelJobCard.career; UtilMsg.sendMsg(cmd); } m_jobSelectData.m_form.exit(); } if (JobSelectMode.eDz == Ctx.m_instance.m_auxUIHelp.m_auxJobSelectData.jobSelectMode) { if (m_jobSelectData.m_midPnl.curSelJobCard != null) // 如果有选中 { if (Ctx.m_instance.m_dataPlayer.m_dzData.m_canReqDZ) { Ctx.m_instance.m_dataPlayer.m_dzData.m_canReqDZ = false; Ctx.m_instance.m_dataPlayer.m_dzData.setSelfHeroInfo(m_jobSelectData.m_midPnl.curSelJobCard.cardGroupItem); stReqHeroFightMatchUserCmd cmd = new stReqHeroFightMatchUserCmd(); cmd.index = m_jobSelectData.m_midPnl.curSelJobCard.cardGroupItem.m_cardGroup.index; UtilMsg.sendMsg(cmd); //开始查找 m_jobSelectData.m_midPnl.startmatch(); } } #if DEBUG_NOTNET // test m_jobSelectData.m_midPnl.startmatch(); #endif } }
protected void testSendToSelf() { stRetCardAttackFailUserCmd cmd = new stRetCardAttackFailUserCmd(); UtilMsg.sendMsg(cmd, false); }
// 测试删除对方手里一张卡牌 protected void testDelEnemyHandleCard() { stDelEnemyHandCardPropertyUserCmd cmd = new stDelEnemyHandCardPropertyUserCmd(); UtilMsg.sendMsg(cmd, false); }
// 拖放结束处理 override protected void onDragEnd() { m_isCalc = false; // 如果在一定小范围内 if (bInHandArea()) { // 拖动结束直接退回去 // 开始缩放 //m_card.trackAniControl.destScale = SceneDZCV.SMALLFACT; backCard2Orig(); } else { m_card.trackAniControl.endDragAni(); // 结束动画 #if DEBUG_NOTNET m_card.m_sceneDZData.m_sceneDZAreaArr[(int)EnDZPlayer.ePlayerSelf].addCardToOutList(m_card); // 放入输出列表 #endif if (m_card.sceneCardItem != null) { if (m_card.sceneCardItem.svrCard != null) { // 法术攻击一次必然要消失 if (m_card.sceneCardItem.m_cardTableItem.m_type == (int)CardType.CARDTYPE_MAGIC) // 如果是法术牌 { if (m_card.sceneCardItem.m_cardTableItem.m_bNeedFaShuTarget > 0) // 如果有攻击目标 { // 直接放下去,然后选择攻击目标 m_card.m_sceneDZData.m_sceneDZAreaArr[(int)EnDZPlayer.ePlayerSelf].outSceneCardList.removeWhiteCard(); // 将占位的牌移除 m_card.hide(); // 隐藏起来 // 英雄播放攻击准备特效 if (m_card.sceneCardItem.m_cardTableItem.m_skillPrepareEffect > 0) { m_card.m_sceneDZData.m_sceneDZAreaArr[(int)(m_card.sceneCardItem.playerSide)].centerHero.effectControl.startSkillAttPrepareEffect((int)m_card.sceneCardItem.m_cardTableItem.m_skillPrepareEffect); } m_card.m_sceneDZData.m_gameOpState.enterAttackOp(EnGameOp.eOpFaShu, m_card); } else // 如果没有攻击目标,直接拖出去 { // 发送法术攻击消息 stCardMoveAndAttackMagicUserCmd cmd = new stCardMoveAndAttackMagicUserCmd(); cmd.dwAttThisID = m_card.sceneCardItem.svrCard.qwThisID; cmd.dwMagicType = (uint)m_card.sceneCardItem.m_cardTableItem.m_faShu; UtilMsg.sendMsg(cmd); m_card.m_sceneDZData.m_gameOpState.enterMoveOp(m_card); // 进入移动操作 } } else if (m_card.sceneCardItem.m_cardTableItem.m_zhanHou > 0 && m_card.sceneCardItem.m_cardTableItem.m_bNeedZhanHouTarget > 0) // 如果有战吼,并且需要攻击目标 { // 直接放下去,然后选择攻击目标 m_card.m_sceneDZData.m_sceneDZAreaArr[(int)EnDZPlayer.ePlayerSelf].outSceneCardList.removeWhiteCard(); // 将占位的牌移除 m_card.m_sceneDZData.m_sceneDZAreaArr[(int)EnDZPlayer.ePlayerSelf].removeFormInList(m_card); // 从手牌区移除卡牌 m_card.convOutModel(); m_card.m_sceneDZData.m_sceneDZAreaArr[(int)EnDZPlayer.ePlayerSelf].addCardToOutList(m_card, m_card.m_sceneDZData.curWhiteIdx); m_card.m_sceneDZData.m_sceneDZAreaArr[(int)EnDZPlayer.ePlayerSelf].inSceneCardList.updateSceneCardPos(); m_card.m_sceneDZData.m_gameOpState.enterAttackOp(EnGameOp.eOpZhanHouAttack, m_card); } else // 如果是普通移动牌,就发送移动消息 { stCardMoveAndAttackMagicUserCmd cmd = new stCardMoveAndAttackMagicUserCmd(); cmd.dst = new stObjectLocation(); if (m_card.sceneCardItem.m_cardTableItem != null) { cmd.dst.dwTableID = 0; cmd.dst.x = 0; cmd.dwAttThisID = m_card.sceneCardItem.svrCard.qwThisID; if (m_card.sceneCardItem.m_cardTableItem.m_type == (int)CardType.CARDTYPE_EQUIP) { cmd.dst.dwLocation = (int)CardArea.CARDCELLTYPE_EQUIP; cmd.dst.y = 0; } else { cmd.dst.dwLocation = (int)CardArea.CARDCELLTYPE_COMMON; cmd.dst.y = (byte)m_card.m_sceneDZData.curWhiteIdx; } UtilMsg.sendMsg(cmd); } m_card.m_sceneDZData.m_gameOpState.enterMoveOp(m_card); // 进入移动操作 } } } } }
// 英雄卡、随从卡即可以作为攻击者也可以作为被击者,法术卡、技能卡、装备卡只能作为攻击者 override public void onCardClick(IDispatchObject dispObj) { if (!m_card.m_sceneDZData.m_gameRunState.isInState(GameRunState.INITCARD)) // 如果处于初始化卡牌阶段 { if (EnDZPlayer.ePlayerSelf != m_card.sceneCardItem.playerSide || CardArea.CARDCELLTYPE_HAND != m_card.sceneCardItem.cardArea) // 如果点击的不是自己的手牌 { if (m_card.sceneCardItem != null) { if (m_card.m_sceneDZData.m_gameOpState.bInOp(EnGameOp.eOpNormalAttack)) // 选择攻击目标 { if (m_card.m_sceneDZData.m_gameOpState.canAttackOp(m_card, EnGameOp.eOpNormalAttack)) { // 发送攻击指令 stCardAttackMagicUserCmd cmd = new stCardAttackMagicUserCmd(); cmd.dwAttThisID = m_card.m_sceneDZData.m_gameOpState.getOpCardID(); cmd.dwDefThisID = m_card.sceneCardItem.svrCard.qwThisID; UtilMsg.sendMsg(cmd); } else { m_card.behaviorControl.enterAttack(); } } else if ((m_card.m_sceneDZData.m_gameOpState.bInOp(EnGameOp.eOpFaShu))) // 法术攻击 { if (m_card.m_sceneDZData.m_gameOpState.canAttackOp(m_card, EnGameOp.eOpFaShu)) // 选择攻击目标 { // 必然是有目标的法术攻击 // 发送法术攻击消息 stCardMoveAndAttackMagicUserCmd cmd = new stCardMoveAndAttackMagicUserCmd(); cmd.dwAttThisID = m_card.m_sceneDZData.m_gameOpState.getOpCardID(); cmd.dwMagicType = (uint)m_card.m_sceneDZData.m_gameOpState.getOpCardFaShu(); cmd.dwDefThisID = m_card.sceneCardItem.svrCard.qwThisID; //m_sceneDZData.m_gameOpState.quitAttackOp(false); UtilMsg.sendMsg(cmd); } else { m_card.behaviorControl.enterAttack(); } } else if (m_card.m_sceneDZData.m_gameOpState.bInOp(EnGameOp.eOpZhanHouAttack)) // 战吼攻击 { if (m_card.m_sceneDZData.m_gameOpState.canAttackOp(m_card, EnGameOp.eOpZhanHouAttack)) // 选择攻击目标 { // 发送攻击指令 stCardMoveAndAttackMagicUserCmd cmd = new stCardMoveAndAttackMagicUserCmd(); cmd.dwAttThisID = m_card.m_sceneDZData.m_gameOpState.getOpCardID(); cmd.dwMagicType = (uint)m_card.m_sceneDZData.m_gameOpState.getOpCardFaShu(); cmd.dwDefThisID = m_card.sceneCardItem.svrCard.qwThisID; cmd.dst = new stObjectLocation(); cmd.dst.dwLocation = (uint)CardArea.CARDCELLTYPE_COMMON; cmd.dst.y = (ushort)m_card.m_sceneDZData.m_gameOpState.getZhanHouCommonClientIdx(); UtilMsg.sendMsg(cmd); } else { m_card.behaviorControl.enterAttack(); } } else if (m_card.m_sceneDZData.m_gameOpState.bInOp(EnGameOp.eOpSkillAttackTarget)) // 技能目标攻击 { if (m_card.m_sceneDZData.m_gameOpState.canAttackOp(m_card, EnGameOp.eOpSkillAttackTarget)) // 选择攻击目标 { // 必然是有目标的法术攻击 // 发送法术攻击消息 stCardMoveAndAttackMagicUserCmd cmd = new stCardMoveAndAttackMagicUserCmd(); cmd.dwAttThisID = m_card.m_sceneDZData.m_gameOpState.getOpCardID(); cmd.dwMagicType = (uint)m_card.m_sceneDZData.m_gameOpState.getOpCardFaShu(); cmd.dwDefThisID = m_card.sceneCardItem.svrCard.qwThisID; UtilMsg.sendMsg(cmd); } } else // 默认点击处理都走这里 { m_card.behaviorControl.enterAttack(); } } } } }