コード例 #1
0
    public ServerPacketId EnemyUnitDataRequest(byte[] data)
    {
        Console.WriteLine("적 유닛 데이터 요청");

        PositionDataPacket enemyUnitDataRequestPacket = new PositionDataPacket(data);
        Position           position = enemyUnitDataRequestPacket.GetData();

        UnitData unitData = new UnitData();

        int mapIndex = position.X * 1000 + position.Y;

        Place place = database.GetPlaceData(mapIndex);

        if (place.Type == (int)PlaceType.Castle)
        {
            UserData newUserData = database.GetAccountData(place.ID);
            unitData = new UnitData(newUserData.UnitKind, newUserData.Unit);
        }

        UnitDataPacket unitDataPacket = new UnitDataPacket(unitData);

        msg = CreatePacket(unitDataPacket, ServerPacketId.EnemyUnitData);

        Console.WriteLine(msg[2]);
        return(ServerPacketId.EnemyUnitData);
    }
コード例 #2
0
    void OnReceivedMyPositionData(byte[] msg)
    {
        PositionDataPacket positionDataPacket = new PositionDataPacket(msg);
        Position           position           = positionDataPacket.GetData();

        dataManager.SetMyPosition(position);
    }
コード例 #3
0
    public void EnemyUnitDataRequest(Position position)
    {
        PositionDataPacket positionDataPacket = new PositionDataPacket(position);

        byte[] msg = CreatePacket(positionDataPacket, ClientPacketId.EnemyUnitDataRequest);

        sendMsg.Enqueue(msg);
    }
コード例 #4
0
    public ServerPacketId MyPositionDataRequest(byte[] data)
    {
        Console.WriteLine("자기성 위치 데이터 요청");

        string Id = LoginUser[tcpPacket.client];

        UserData newUserData = database.GetAccountData(Id);

        Position           positionData       = new Position(newUserData.XPos, newUserData.YPos);
        PositionDataPacket positionDataPacket = new PositionDataPacket(positionData);

        msg = CreatePacket(positionDataPacket, ServerPacketId.MyPositionData);

        return(ServerPacketId.MyPositionData);
    }