public void SendGsAppleScene()
    {
        C2S_APPLY_SCENE_OBJ msg = SingleInstanceCache.GetInstanceByType <C2S_APPLY_SCENE_OBJ>();

        msg.protocolID = (byte)KC2S_Protocol.c2s_apply_scene_obj;
        NetworkManager.Instance.SendToGameServer(msg);
    }
    /// <summary>
    /// client获取生产信息
    /// </summary>
    public void SendGetFoundryInfo()
    {
        C2S_FOUNDRY_GET_INFO req = SingleInstanceCache.GetInstanceByType <C2S_FOUNDRY_GET_INFO>();

        req.protocolID = (ushort)KC2S_Protocol.c2s_foundry_get_info;
        NetworkManager.Instance.SendToGameServer(req);
    }
    /// <summary>
    /// client
    /// </summary>
    /// <param name="uid">实例id</param>
    public void SendAddRobot()
    {
        C2S_FOUNDRY_ADD_ROBOT req = SingleInstanceCache.GetInstanceByType <C2S_FOUNDRY_ADD_ROBOT>();

        req.protocolID = (ushort)KC2S_Protocol.c2s_foundry_add_robot;
        NetworkManager.Instance.SendToGameServer(req);
    }
Exemple #4
0
    /// <summary>
    /// 发送帐号验证请求
    /// </summary>
    private void AccountVerify()
    {
        KC2G_AccountVerifyRequest request = SingleInstanceCache.GetInstanceByType <KC2G_AccountVerifyRequest>();

        request.byProtocol = (byte)KC2G_Protocol.c2g_account_verify_request;
        request.account    = Account;
        request.nGroupID   = (int)KConstDefine.cdDefaultGroupID;
        request.password   = AccountToken;
        request.pf         = "?";// ApplicationManager.channel;
        request.nTag       = (int)centerType;
        request.roleIdList = new List <ulong>();

        // ServerListProxy serverListProxy = DataManager.GetProxy<ServerListProxy>();
        // string serverId = serverListProxy.LastLoginServer != null ? serverListProxy.LastLoginServer.gid : string.Empty;
        // CharacterListProxy characterListProxy = DataManager.GetProxy<CharacterListProxy>();
        // Character[] characters = characterListProxy.GetAll(serverId);
        // for (int i = 0; i < characters.Length; i++)
        // {
        //     request.roleIdList.Add(characters[i].Id);
        //     //Debug.LogError("send grpc role id: " + characters[i].Id);
        // }

        NetworkManager.Instance.SendToGatewayServer(request);

        Debug.LogFormat("Account Verify Request: account={0}, groupId={1}", request.account, request.nGroupID);
    }
    /// <summary>
    /// 请求升级玩家手表
    /// </summary>
    public void RequestLevelUpWatch()
    {
        C2S_REQUEST_LEVELUP_DAN msg = SingleInstanceCache.GetInstanceByType <C2S_REQUEST_LEVELUP_DAN>();

        msg.protocolID = (ushort)KC2S_Protocol.c2s_request_levelup_dan;
        msg.uid        = m_PlayerInfo.Uid;
        NetworkManager.Instance.SendToGameServer(msg);
    }
    /// <summary>
    /// client发给服务器激活的蓝图UID
    /// </summary>
    public void SendActiveInfo(List <int> list)
    {
        C2S_FOUNDRY_UID_INFO req = SingleInstanceCache.GetInstanceByType <C2S_FOUNDRY_UID_INFO>();

        req.protocolID = (ushort)KC2S_Protocol.c2s_foundry_uid_info;
        req.itemTids   = list;
        NetworkManager.Instance.SendToGameServer(req);
    }
    /// <summary>
    /// client 加速生产
    /// </summary>
    /// <param name="uid">实例id</param>
    public void SendSpeed(int uid)
    {
        C2S_FOUNDRY_SPEED req = SingleInstanceCache.GetInstanceByType <C2S_FOUNDRY_SPEED>();

        req.protocolID = (ushort)KC2S_Protocol.c2s_foundry_speed;
        req.itemTid    = uid;
        NetworkManager.Instance.SendToGameServer(req);
    }
    /// <summary>
    /// client 取消生产
    /// </summary>
    /// <param name="uid">实例id</param>
    public void SendCancel(int uid)
    {
        C2S_FOUNDRY_CANCEL req = SingleInstanceCache.GetInstanceByType <C2S_FOUNDRY_CANCEL>();

        req.protocolID = (ushort)KC2S_Protocol.c2s_foundry_cancel;
        req.itemTid    = uid;
        NetworkManager.Instance.SendToGameServer(req);
    }
    /// <summary>
    /// client 接收
    /// </summary>
    /// <param name="uid">实例id</param>
    public void SendReceive(int uid)
    {
        C2S_FOUNDRY_RECEIVE req = SingleInstanceCache.GetInstanceByType <C2S_FOUNDRY_RECEIVE>();

        req.protocolID = (ushort)KC2S_Protocol.c2s_foundry_receive;
        req.itemTid    = uid;
        NetworkManager.Instance.SendToGameServer(req);
    }
    /// <summary>
    /// 随机一个角色名
    /// </summary>
    /// <param name="eGender"></param>
    public void RollRoleName(int eGender)
    {
        KC2G_Role_Name_Request request = SingleInstanceCache.GetInstanceByType <KC2G_Role_Name_Request>();

        request.byProtocol = (byte)KC2G_Protocol.c2g_role_name_request;
        request.eGender    = (byte)eGender;
        NetworkManager.Instance.SendToGatewayServer(request);
    }
    /// <summary>
    /// 请求回购信息
    /// </summary>
    /// <param name="shopId">商店id</param>
    public void RequestShopSellBackInfo(uint shopId)
    {
        C2S_BUY_BACK_INFO req = SingleInstanceCache.GetInstanceByType <C2S_BUY_BACK_INFO>();

        req.protocolID = (ushort)KC2S_Protocol.c2s_buy_back_info;
        req.shop_id    = shopId;
        NetworkManager.Instance.SendToGameServer(req);
    }
    /// <summary>
    /// 请求商店橱窗信息
    /// </summary>
    /// <param name="shopId">商店id</param>
    public void RequestShopWindowInfo(uint shopId)
    {
        C2S_SHOP_INFO req = SingleInstanceCache.GetInstanceByType <C2S_SHOP_INFO>();

        req.protocolID = (ushort)KC2S_Protocol.c2s_shop_info;
        req.shop_id    = shopId;
        NetworkManager.Instance.SendToGameServer(req);
    }
    /// <summary>
    /// 删除角色
    /// </summary>
    /// <param name="uRoleID"></param>
    public void DeleteRole(ulong uRoleID)
    {
        KC2G_DeleteRoleRequest request = SingleInstanceCache.GetInstanceByType <KC2G_DeleteRoleRequest>();

        request.byProtocol = (byte)KC2G_Protocol.c2g_delete_role_request;
        request.uRoleID    = uRoleID;
        NetworkManager.Instance.SendToGatewayServer(request);
    }
    private void OnSyncSceneObjEnd(KProtoBuf buffer)
    {
        S2C_SYNC_SCENE_OBJ_END respond = buffer as S2C_SYNC_SCENE_OBJ_END;

        C2S_LOADING_COMPLETE msg = SingleInstanceCache.GetInstanceByType <C2S_LOADING_COMPLETE>();

        msg.protocolID = (byte)KC2S_Protocol.c2s_loading_complete;
        NetworkManager.Instance.SendToGameServer(msg);
    }
Exemple #15
0
    /// <summary>
    /// 传送
    /// </summary>
    /// <param name="teleportId"></param>
    public void SwitchMap(uint teleportId)
    {
        Debug.Log("[LOG] SceneController.SwitchMap: " + teleportId);
        C2S_SWITCH_MAP msg = SingleInstanceCache.GetInstanceByType <C2S_SWITCH_MAP>();

        msg.protocolID = (ushort)KC2S_Protocol.c2s_switch_map;
        msg.telportID  = teleportId;
        msg.chanel_id  = (GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy).GetTeleportChanelId(teleportId);
        NetworkManager.Instance.SendToGameServer(msg);
    }
    /// <summary>
    /// 创建角色请求
    /// </summary>
    /// <param name="nickname"></param>
    /// <param name="gender"></param>
    /// <param name="nMainHeroTemplateID"></param>
    public void CreateRole(string nickname, int nMainHeroTemplateID)
    {
        KC2G_CreateRoleRequest request = SingleInstanceCache.GetInstanceByType <KC2G_CreateRoleRequest>();

        request.byProtocol          = (byte)KC2G_Protocol.c2g_create_role_request;
        request.szRoleName          = nickname;
        request.nMainHeroTemplateID = nMainHeroTemplateID;
        NetworkManager.Instance.SendToGatewayServer(request);

        Debug.Log("请求创建角色:" + nickname);
    }
Exemple #17
0
 /// <summary>
 /// 请求退出当前服务器
 /// </summary>
 /// <param name="nCode"></param>
 public void ExitCurrentServer(int nCode)
 {
     Debug.Log("Send Exit Game, code:" + nCode + "   : connnect ? " + IsConnected());
     if (IsConnected())
     {
         KC2G_EXIT_GAME exitGameRequest = SingleInstanceCache.GetInstanceByType <KC2G_EXIT_GAME>();
         exitGameRequest.byProtocol = (byte)KC2G_Protocol.c2g_exit_game;
         exitGameRequest.nExitCode  = nCode;
         NetworkManager.Instance.SendToGatewayServer(exitGameRequest);
     }
 }
    /// <summary>
    /// 请求交易
    /// </summary>
    /// <param name="type">交易类型</param>
    /// <param name="shopId">商店id</param>
    /// <param name="itemId">道具id</param>
    /// <param name="id">物品id</param>
    /// <param name="num">交易数量</param>
    public void RequestExChange(byte type, uint shopId, ulong itemId, ulong id, uint num)
    {
        C2S_REQUEST_EXCHANGE req = SingleInstanceCache.GetInstanceByType <C2S_REQUEST_EXCHANGE>();

        req.protocolID = (ushort)KC2S_Protocol.c2s_request_exchange;
        req.op_code    = type;
        req.shop_id    = shopId;
        req.item_id    = itemId;
        req.uid        = id;
        req.num        = num;
        NetworkManager.Instance.SendToGameServer(req);
    }
Exemple #19
0
    /// <summary>
    /// 请求登录角色
    /// </summary>
    /// <param name="uRoleID"></param>
    public void CharacterLogin(ulong uRoleID)
    {
        KC2G_RoleLoginRequest request = SingleInstanceCache.GetInstanceByType <KC2G_RoleLoginRequest>();

        request.byProtocol = (byte)KC2G_Protocol.c2g_role_login_request;
        request.uRoleID    = uRoleID;
        NetworkManager.Instance.SendToGatewayServer(request);

        //SelectRoleInfo sRoleInfo = GetRoleData(uRoleID);
        // 服务器没有任何在登录后同步这两个字段的消息...所以在本地设置下
        //MajorPlayer majorPlayer = PlayerManager.GetInstance().MajorPlayer;
        //majorPlayer.BodyAvatarID = sRoleInfo.appearanceInfo.bodyAvatarID;
        //majorPlayer.WeaponAvatarID = sRoleInfo.appearanceInfo.weaponAvatarID;
    }
    public void SendOpenPvd(bool isOpen)
    {
        C2S_OPEN_PVD msg = SingleInstanceCache.GetInstanceByType <C2S_OPEN_PVD>();

        msg.protocolID = (byte)KC2S_Protocol.c2s_open_pvd;
        if (isOpen)
        {
            msg.flag = 1;
        }
        else
        {
            msg.flag = 0;
        }
        NetworkManager.Instance.SendToGameServer(msg);
    }
Exemple #21
0
    /// <summary>
    /// 副本结束
    /// </summary>
    /// <param name="buf"></param>
    private void OnPveEnd(KProtoBuf buf)
    {
        PveProxy pveProxy = (PveProxy)GameFacade.Instance.RetrieveProxy(ProxyName.PveProxy);

        if (pveProxy.m_ExitSended)
        {
            return;
        }

        var msg = buf as S2C_PVE_END;

        C2S_ExitPve req = SingleInstanceCache.GetInstanceByType <C2S_ExitPve>();

        req.protocolID = (ushort)KC2S_Protocol.c2s_exit_pve;
        NetworkManager.Instance.SendToGameServer(req);

        pveProxy.m_ExitSended = true;
    }
Exemple #22
0
    /// <summary>
    /// 发送握手消息
    /// </summary>
    private void HandShakeRequest()
    {
        KC2G_HandshakeRequest handSkakeRequest = SingleInstanceCache.GetInstanceByType <KC2G_HandshakeRequest>();

        handSkakeRequest.byProtocol       = (byte)KC2G_Protocol.c2g_handshake_request;
        handSkakeRequest.nProtocolVersion = (int)KProcotolVersion.eProcotolVersion;
        handSkakeRequest.uNetType         = (byte)0;
        handSkakeRequest.szAccount        = Account;
        handSkakeRequest.szToken          = AccountToken;
        handSkakeRequest.uOldPlayerIndex  = uPlayerIndex;
        handSkakeRequest.uRoleID          = 0;// PlayerManager.GetInstance().MajorPlayer.PlayerID;

        NetworkManager.Instance.SendToGatewayServer(handSkakeRequest);

        NetworkManager.Instance._ResetTokenAndIndex(AccountToken);

        Debug.LogFormat("发送网关握手: account={0}, roleID={1}", handSkakeRequest.szAccount, handSkakeRequest.uRoleID);
    }
    /// <summary>
    /// 初始化
    /// </summary>
    public void Initialize()
    {
        m_SocketClient = new SocketClient();

        m_SendWriter = new BinaryWriter(new MemoryStream(DEFAULT_SEND_BUFFER_SIZE));

        m_NetControllers = new BetterList <BaseNetController>();

        m_GatewayProtocolMapping    = new ProtocolMapping();
        m_GameServerProtocolMapping = new ProtocolMapping();

        m_SendToGameServerWriter = new BinaryWriter(new MemoryStream(DEFAULT_SEND_BUFFER_SIZE));
        m_PlayerToGSProto        = SingleInstanceCache.GetInstanceByType <KC2G_PlayerToGS>();

        m_Handshake        = false;
        m_MessageToken     = "";
        m_MessageTokenHash = 0;
        m_MessageIndex     = 0;

        ListenGateway(KG2C_Protocol.g2c_gs_to_player, OnReceivedGameServerMessage, typeof(KG2C_GSToPlayer));

        #region NetController
        m_LoginController         = new LoginController();
        m_CharacterListController = new CharacterListController();
        m_SceneController         = new SceneController();
        m_PlayerController        = new PlayerController();
        m_MailController          = new MailController();
        m_LogController           = new LogController();
        m_FriendController        = new FriendController();
        m_TeamController          = new TeamController();
        m_PackageController       = new PackageController();
        m_ShopController          = new ShopController();
        m_FoundryController       = new FoundryController();
        m_InstanceController      = new InstanceController();
        m_MissionController       = new MissionController();
        m_ChatContoller           = new Game.Frame.Net.ChatController();
        m_SkillController         = new SkillController();
        m_DropItemController      = new DropItemController();
        m_reliveController        = new ReliveController();
        m_MSAIBossController      = new MSAIBossController();
        #endregion
    }