コード例 #1
0
    public void RecveviceBuyCharacter(SyncSession session, PlayerBuyCharacter_s msg)
    {
        for (int i = 0; i < session.player.OwnCharacter.Count; i++)
        {
            if (session.player.OwnCharacter[i] == msg.characterID)
            {
                PlayerBuyCharacter_c result = new PlayerBuyCharacter_c();
                result.code = ServiceErrorCode.c_HasOwnCharacter;

                ProtocolAnalysisService.SendMsg(session, result);
                return;
            }
        }
        ShopDataGenerate data = DataGenerateManager <ShopDataGenerate> .GetData(msg.characterID);

        if (data.m_cost <= session.player.Diamond)
        {
            session.player.Diamond -= (int)data.m_cost;
            session.player.OwnCharacter.Add(data.m_item_id.ToString());

            PlayerBuyCharacter_c result = new PlayerBuyCharacter_c();
            result.code = ServiceErrorCode.c_Success;

            ProtocolAnalysisService.SendMsg(session, result);
        }
        else
        {
            PlayerBuyCharacter_c result = new PlayerBuyCharacter_c();
            result.code = ServiceErrorCode.c_NotEnoughDiamond;

            ProtocolAnalysisService.SendMsg(session, result);
        }
    }
コード例 #2
0
    static void RecevicePlayerBuyCharacter_s(SyncSession session, ProtocolRequestBase e)
    {
        PlayerBuyCharacter_s msg = new PlayerBuyCharacter_s();

        msg.characterID = e.m_data["characterid"].ToString();

        EventService.DispatchTypeEvent(session, msg);
    }