Beispiel #1
0
    public static object Deserialize(uLink.BitStream r, params object[] codecOptions)
    {
        try
        {
            CSTreatment cst = new CSTreatment();
            cst.abnormalId     = r.ReadInt32();
            cst.npcId          = r.ReadInt32();
            cst.needTreatTimes = r.ReadInt32();

            AbnormalTypeTreatData attd = AbnormalTypeTreatData.GetTreatment(cst.abnormalId);
            if (EntityMgr.Instance.Get(cst.npcId) == null)
            {
                cst.npcName = "?";
            }
            else
            {
                cst.npcName = EntityMgr.Instance.Get(cst.npcId).ExtGetName();
            }
            cst.diseaseName = AbnormalData.GetData((PEAbnormalType)cst.abnormalId).name;
            cst.treatName   = PELocalization.GetString(attd.treatDescription);
            cst.medicineList.Add(new ItemIdCount(attd.treatItemId[0], attd.treatItemNum));
            cst.treatTime   = attd.treatTime;
            cst.restoreTime = attd.restoreTime;
            return(cst);
        }
        catch (System.Exception e)
        {
            throw e;
        }
    }
Beispiel #2
0
 public static object Deserialize(uLink.BitStream stream, params object[] codecOptions)
 {
     try
     {
         IntVector2        pos  = new IntVector2(stream.ReadInt32(), stream.ReadInt32());
         TownTradeItemInfo ttii = new TownTradeItemInfo(pos);
         ttii.csti      = CSTradeInfoData.GetData(stream.ReadInt32());
         ttii.m_CurTime = stream.ReadSingle();
         ttii.m_Time    = stream.ReadSingle();
         int needItemsCount = stream.ReadInt32();
         for (int m = 0; m < needItemsCount; m++)
         {
             ttii.needItems.Add((TradeObj)TradeObj.Deserialize(stream));
         }
         int rewardItemsCount = stream.ReadInt32();
         for (int m = 0; m < rewardItemsCount; m++)
         {
             ttii.rewardItems.Add((TradeObj)TradeObj.Deserialize(stream));
         }
         return(ttii);
     }
     catch (System.Exception e)
     {
         throw e;
     }
 }
 public static object Deserialize(uLink.BitStream stream, params object[] codecOptions)
 {
     try
     {
         int         protoId = stream.ReadInt32();
         int         count   = stream.ReadInt32();
         ItemIdCount to      = new ItemIdCount(protoId, count);
         return(to);
     }
     catch (System.Exception e)
     {
         throw e;
     }
 }
    public void Read(BitStream stream)
    {
//        Name = stream.Read<string>();
        Params.Experience = stream.ReadInt32();
//        Params.Rank = stream.ReadByte();
        Params.Money = stream.ReadInt32();
        Params.Gold  = stream.ReadInt32();

        InventoryList = stream.Read <PPIInventoryList>();
        EquipList     = stream.Read <PPIEquipList>();
        Upgrades      = stream.Read <PPIUpgradeList>();

//        Statistic = stream.Read<PPIStatistic>();
//        Score = stream.Read<PPIRoundScore>();
    }
Beispiel #5
0
 public static object Deserialize(uLink.BitStream stream, params object[] codecOptions)
 {
     try
     {
         int      protoId = stream.ReadInt32();
         int      count   = stream.ReadInt32();
         int      max     = stream.ReadInt32();
         TradeObj to      = new TradeObj(protoId, count, max);
         return(to);
     }
     catch (System.Exception e)
     {
         throw e;
     }
 }
Beispiel #6
0
    public void ReceiveBoundBPs(byte[] data, uLink.NetworkMessageInfo info)
    {
        this._boundBPs = this._boundBPs ?? new List <BlueprintDataBlock>();
        this._boundBPs.Clear();
        uLink.BitStream bitStream = new uLink.BitStream(data, false);
        int             num       = bitStream.ReadInt32();

        for (int i = 0; i < num; i++)
        {
            ItemDataBlock byUniqueID = DatablockDictionary.GetByUniqueID(bitStream.ReadInt32());
            if (byUniqueID)
            {
                this._boundBPs.Add(byUniqueID as BlueprintDataBlock);
            }
        }
        this.Refresh();
    }
Beispiel #7
0
    // Update is called once per frame
    void UpdateData()
    {
        uLink.BitStream dataCopy = server.data;

        int    numPlayers  = dataCopy.ReadInt32();
        int    maxPlayers  = dataCopy.ReadInt32();
        string serverName  = dataCopy.ReadString();
        bool   started     = dataCopy.ReadBoolean();
        string playersBlue = dataCopy.ReadString();
        string playersRed  = dataCopy.ReadString();

        playersBLueText.text = playersBlue;
        playersRedText.text  = playersRed;
        players = numPlayers;
        //Ip = server.endpoint.ToString();

        textBoxName.text = server.host + "\r\n" + numPlayers + " / " + maxPlayers;

        Invoke("UpdateData", 5);
    }
        public void Execute(NetworkBase network)
        {
            switch (internCode)
            {
            case InternalCode.HostListResponse: network._MasterRPCHostListResponse(stream.ReadHostDatas()); break;

            case InternalCode.RegisterResponse: network._MasterRPCRegisterResponse(stream.ReadEndPoint()); break;

            case InternalCode.ProxyResponse: network._MasterRPCProxyResponse(stream.ReadUInt16(), stream.ReadPassword()); break;

            case InternalCode.ProxyClient: network._MasterRPCProxyClient(stream.ReadEndPoint(), stream.ReadPassword(), stream.ReadUInt16(), stream.ReadPassword()); break;

            case InternalCode.ProxyFailed: network._MasterRPCProxyFailed(stream.ReadInt32()); break;

            case InternalCode.RegisterFailed: network._MasterRPCRegisterFailed(stream.ReadInt32()); break;

            default:
                Log.Error(NetworkLogFlags.RPC, "Unknown internal Master RPC: ", internCode);
                break;
            }
        }
Beispiel #9
0
    public void ReceiveBoundBPs(byte[] data, uLink.NetworkMessageInfo info)
    {
        if (this._boundBPs == null)
        {
        }
        this._boundBPs = new System.Collections.Generic.List <BlueprintDataBlock>();
        this._boundBPs.Clear();
        uLink.BitStream stream = new uLink.BitStream(data, false);
        int             num    = stream.ReadInt32();

        for (int i = 0; i < num; i++)
        {
            ItemDataBlock byUniqueID = DatablockDictionary.GetByUniqueID(stream.ReadInt32());
            if (byUniqueID != null)
            {
                BlueprintDataBlock item = byUniqueID as BlueprintDataBlock;
                this._boundBPs.Add(item);
            }
        }
        this.Refresh();
    }
Beispiel #10
0
    private void uLink_OnNetworkInstantiate(uLink.NetworkMessageInfo info)
    {
        uLink.BitStream initialData = info.networkView.initialData;
        m_PlayerID = initialData.ReadInt32();
        Debug.Log("uLink_OnNetworkInstantiate " + gameObject.name);

        m_NetworkView = info.networkView;
        uLink.NetworkPlayer[] players = uLink.Network.connections;
        for (int iPlayer = 0; iPlayer < players.Length; iPlayer++)
        {
            uLink.NetworkPlayer iterPlayer = players[iPlayer];
            if (iterPlayer != null && iterPlayer.id == m_PlayerID)
            {
                m_NetworkPlayer = iterPlayer;
                break;
            }
        }

        if (uLink.Network.isServer)
        {
            gameObject.name       = string.Format("Player_Remote_{0}", m_PlayerID);
            BodyRenderer.material = BodyMaterials_Remote;

            m_Snapshots = new List <Snapshot>();
        }
        else if (uLink.Network.isClient)
        {
            if (m_NetworkView.isOwner)
            {
                gameObject.name       = string.Format("Player_Local_{0}", m_PlayerID);
                BodyRenderer.material = BodyMaterials_Local;

                m_Camera = FindObjectOfType <Camera>();
                m_Camera.transform.localEulerAngles = new Vector3(90, 0, 0);

                m_Input = gameObject.AddComponent <InputManager>();

                m_LastReceviedAckMessage.ACKUCMD.UCMDID = int.MinValue;
            }
            else
            {
                gameObject.name       = string.Format("Player_Remote_{0}", m_PlayerID);
                BodyRenderer.material = BodyMaterials_Remote;

                m_SnapshotsInOtherClient = new List <Snapshot>();
            }
        }

        m_StreamCache = new uLink.BitStream(true);
        m_UCMDs       = new List <UCMD>();

        Main.Instance.RegisterPlayer(this);
    }
Beispiel #11
0
    // BitStream Reader
    public static object ReadFromBitStream(uLink.BitStream stream, params object[] args)
    {
        RankEntry myObj = new RankEntry();

        //myObj.rankIndex = stream.ReadInt32();
        //myObj.accountId = stream.ReadString();
        myObj.name        = stream.ReadString();
        myObj.country     = stream.ReadString();
        myObj.bestRanking = stream.ReadInt32();
        //myObj.totalDamage = stream.ReadInt64();

        return(myObj);
    }
Beispiel #12
0
    protected override void OnBitStreamRead(uLink.BitStream stream)
    {
        base.OnBitStreamRead(stream);
        this.SetTotalModSlotCount(stream.ReadInvInt());
        this.SetUsedModSlotCount(stream.ReadInvInt());
        int usedModSlots = this.usedModSlots;

        for (int i = 0; i < 5; i++)
        {
            if (i < usedModSlots)
            {
                this._itemMods[i] = DatablockDictionary.GetByUniqueID(stream.ReadInt32()) as ItemModDataBlock;
            }
            else
            {
                this._itemMods[i] = null;
            }
        }
    }
Beispiel #13
0
    private void uLink_OnConnectedToServer()
    {
        LoadingScreen.Update("connected!");
        uLink.BitStream bitStream = new uLink.BitStream((byte[])NetCull.approvalData.ReadObject(typeof(byte[]).TypeHandle, new object[0]), false);
        string          str       = bitStream.ReadString();

        NetCull.sendRate = bitStream.ReadSingle();
        string str1 = bitStream.ReadString();

        bitStream.ReadBoolean();
        bitStream.ReadBoolean();
        if (bitStream.bytesRemaining > 8)
        {
            ulong num = bitStream.ReadUInt64();
            SteamClient.SteamUser_AdvertiseGame(num, bitStream.ReadUInt32(), bitStream.ReadInt32());
        }
        UnityEngine.Debug.Log(string.Concat("Server Name: \"", str1, "\""));
        UnityEngine.Debug.Log(string.Concat("Level Name: \"", str, "\""));
        UnityEngine.Debug.Log(string.Concat("Send Rate: ", NetCull.sendRate));
        NetCull.isMessageQueueRunning = false;
        base.StartCoroutine(this.LoadLevel(str));
        DisableOnConnectedState.OnConnected();
    }
        public void ExecuteInternal(NetworkBase network)
        {
            // TODO: optimize arg reading!

            switch (internCode)
            {
            case InternalCode.BufferedRPCs: network._RPCBufferedRPCs(stream.ReadSerializedBuffers(), this); break;

            case InternalCode.CellConnectResponse: network._RPCCellConnectResponse(stream.ReadNetworkPlayer(), stream.ReadBoolean(), this); break;

            case InternalCode.ClientConnectRequest: network._RPCClientConnectRequest(stream, this); break;

            case InternalCode.ClientConnectResponse: network._RPCClientConnectResponse(stream.ReadNetworkPlayer(), stream, this); break;

            case InternalCode.ConnectDenied: network._RPCConnectDenied(stream.ReadInt32(), this); break;

            case InternalCode.Create: network._RPCCreate(stream.ReadNetworkPlayer(), stream.ReadNetworkGroup(), (NetworkAuthFlags)stream.ReadByte(), stream.ReadVector3(), stream.ReadQuaternion(), stream.ReadString(), stream.ReadString(), stream.ReadString(), stream.ReadString(), stream.ReadString(), stream, this); break;

            case InternalCode.DestroyByPlayerID: network._RPCDestroyByPlayerID(stream.ReadNetworkPlayer(), this); break;

            case InternalCode.DestroyByViewID: network._RPCDestroyByViewID(this); break;

            case InternalCode.HandoverRequest: network._RPCHandoverRequest(stream.ReadNetworkViewID(), this); break;

            case InternalCode.HandoverResponse: network._RPCHandoverResponse(stream.ReadNetworkViewID(), stream.ReadNetworkPlayer(), stream.ReadNetworkGroup(), (NetworkAuthFlags)stream.ReadByte(), stream.ReadVector3(), stream.ReadQuaternion(), stream.ReadString(), stream.ReadString(), stream.ReadString(), stream.ReadString(), stream.ReadString(), stream.ReadBytes(), stream, this); break;

            case InternalCode.Redirect: network._RPCRedirect(stream.ReadEndPoint(), stream.ReadPassword(), this); break;

            case InternalCode.SecurityRequest: network._RPCSecurityRequest(stream.ReadPublicKey(), this); break;

            case InternalCode.SecurityResponse: network._RPCSecurityResponse(stream.ReadSymmetricKey(), this); break;

            case InternalCode.UnsecurityRequest: network._RPCUnsecurityRequest(stream.ReadSymmetricKey(), this); break;

            case InternalCode.UnsecurityResponse: network._RPCUnsecurityResponse(this); break;

            case InternalCode.StateSyncOwner: network._RPCStateSyncOwner(stream, this); break;

            case InternalCode.StateSyncProxy: network._RPCStateSyncProxy(stream, this); break;

            case InternalCode.PlayerIDConnected: network._RPCPlayerIDConnected(stream.ReadNetworkPlayer(), stream.ReadEndPoint(), stream, this); break;

            case InternalCode.PlayerIDDisconnected: network._RPCPlayerIDDisconnected(stream.ReadNetworkPlayer(), stream.ReadInt32(), this); break;

            case InternalCode.MultiStateSyncProxy: network._RPCMultiStateSyncProxy(this); break;

            case InternalCode.MultiStateSyncOwner: network._RPCMultiStateSyncOwner(stream.ReadStateSyncs(), this); break;

            case InternalCode.DestroyAll: network._RPCDestroyAll(!stream.isEOF && stream.ReadBoolean(), this); break;

            case InternalCode.DestroyInGroup: network._RPCDestroyInGroup(stream.ReadNetworkGroup(), this); break;

            case InternalCode.DestroyInGroupByPlayerID: network._RPCDestroyInGroupByPlayerID(stream.ReadNetworkPlayer(), stream.ReadNetworkGroup(), this); break;

            case InternalCode.LicenseCheck: network._RPCLicenseCheck(this); break;

            case InternalCode.ChangeGroup: network._RPCChangeGroup(stream.ReadNetworkViewID(), stream.ReadNetworkGroup(), this); break;

            case InternalCode.StateSyncCellProxy: network._RPCStateSyncCellProxy(stream, this); break;

            case InternalCode.MultiStateSyncCellProxy: network._RPCMultiStateSyncCellProxy(this); break;

            case InternalCode.RepairAuthFromProxyRequest: network._RPCRepairAuthFromProxyRequest(stream.ReadNetworkViewID(), this); break;

            case InternalCode.MastDebugInfo: network._RPCMastDebugInfo(stream.ReadVector3(), this); break;

            case InternalCode.ChangeAuthFlags: network._RPCChangeAuthFlags(stream.ReadNetworkViewID(), (NetworkAuthFlags)stream.ReadByte(), stream.ReadVector3(), this); break;

            case InternalCode.StateSyncOwnerDeltaCompressed: network._RPCStateSyncOwnerDeltaCompressed(stream, this); break;

            case InternalCode.StateSyncProxyDeltaCompressed: network._RPCStateSyncProxyDeltaCompressed(stream, this); break;

            case InternalCode.StateSyncOwnerDeltaCompressedInit: network._RPCStateSyncOwnerDeltaCompressedInit(stream, this); break;

            case InternalCode.StateSyncProxyDeltaCompressedInit: network._RPCStateSyncProxyDeltaCompressedInit(stream, this); break;

            default:
                Log.Debug(NetworkLogFlags.RPC, "Unknown internal RPC: ", internCode, " from ", connection, " channel ", channel);
                break;
            }
        }
Beispiel #15
0
    protected void Mods(byte[] data)
    {
        this.ClearMods();
        uLink.BitStream stream = new uLink.BitStream(data, false);
        byte            num    = stream.ReadByte();

        if (num > 0)
        {
            CharacterStateFlags characterStateFlags = this.GetCharacterStateFlags();
            for (int i = 0; i < num; i++)
            {
                ItemModDataBlock byUniqueID = (ItemModDataBlock)DatablockDictionary.GetByUniqueID(stream.ReadInt32());
                this._itemMods.InstallMod(i, this, byUniqueID, characterStateFlags);
                this._modFlags |= byUniqueID.modFlag;
            }
        }
    }
Beispiel #16
0
 internal static object _ReadInt32(BitStream stream, object[] codecOptions)
 {
     return(stream.ReadInt32());
 }
Beispiel #17
0
 private void uLink_OnConnectedToServer()
 {
     LoadingScreen.Update("connected!");
     uLink.BitStream bitStream = new uLink.BitStream((byte[])NetCull.approvalData.ReadObject(typeof(byte[]).TypeHandle, new object[0]), false);
     string str = bitStream.ReadString();
     NetCull.sendRate = bitStream.ReadSingle();
     string str1 = bitStream.ReadString();
     bitStream.ReadBoolean();
     bitStream.ReadBoolean();
     if (bitStream.bytesRemaining > 8)
     {
         ulong num = bitStream.ReadUInt64();
         SteamClient.SteamUser_AdvertiseGame(num, bitStream.ReadUInt32(), bitStream.ReadInt32());
     }
     UnityEngine.Debug.Log(string.Concat("Server Name: \"", str1, "\""));
     UnityEngine.Debug.Log(string.Concat("Level Name: \"", str, "\""));
     UnityEngine.Debug.Log(string.Concat("Send Rate: ", NetCull.sendRate));
     NetCull.isMessageQueueRunning = false;
     base.StartCoroutine(this.LoadLevel(str));
     DisableOnConnectedState.OnConnected();
 }
Beispiel #18
0
 public void ReadFrom(uLink.BitStream stream)
 {
     UCMDID         = stream.ReadInt32();
     Axis           = stream.ReadVector2();
     FixedDeltaTime = stream.ReadSingle();
 }