public static void UnserializeInbound(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { GameObject cPlayerObject = CGamePlayers.GetPlayerActor(_cNetworkPlayer.PlayerId); CPlayerBackPack cPlayerBackPack = cPlayerObject.GetComponent <CPlayerBackPack>(); // Process stream data while (_cStream.HasUnreadData) { // Extract action ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); // Handle action switch (eAction) { case ENetworkAction.PickupModule: CNetworkViewId cModuleViewId = _cStream.ReadNetworkViewId(); cPlayerBackPack.PickupModule(_cNetworkPlayer.PlayerId, cModuleViewId); break; case ENetworkAction.DropModule: cPlayerBackPack.DropModule(); break; case ENetworkAction.InsertCell: CNetworkViewId cCellSlotViewId = _cStream.ReadNetworkViewId(); cPlayerBackPack.InsertCell(_cNetworkPlayer.PlayerId, cCellSlotViewId); break; } } }
public static void UnserializeInbound(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while (_cStream.HasUnreadData) { ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); CNetworkViewId cModuleGunViewId = _cStream.ReadNetworkViewId(); GameObject cModuleGunObject = cModuleGunViewId.GameObject; CToolInterface cToolInterface = cModuleGunObject.GetComponent <CToolInterface>(); CModuleGunBehaviour cModuleGunBehaviour = cModuleGunObject.GetComponent <CModuleGunBehaviour>(); switch (eAction) { case ENetworkAction.OpenDui: cModuleGunBehaviour.OpenDui(cToolInterface.OwnerPlayerActor.GetComponent <CPlayerInteractor>().TargetActorObject); break; case ENetworkAction.CloseDui: cModuleGunBehaviour.CloseDui(); break; default: Debug.LogError("Unknown network action"); break; } } }
public static void UnserializeInbound(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while (_cStream.HasUnreadData) { CNetworkViewId cCockpitObjectViewId = _cStream.ReadNetworkViewId(); ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); GameObject cCockpitObject = CNetwork.Factory.FindObject(cCockpitObjectViewId); CCockpit cCockpit = cCockpitObject.GetComponent <CCockpit>(); switch (eAction) { case ENetworkAction.EnterCockpit: cCockpit.HandleEnterCockpit(_cNetworkPlayer.PlayerId); break; case ENetworkAction.LeaveCockpit: cCockpit.HandleLeaveCockpit(_cNetworkPlayer.PlayerId); break; default: Debug.LogError(string.Format("Unknown network action ({0})")); break; } } }
public static void UnserializeInbound(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while (_cStream.HasUnreadData) { ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); CNetworkViewId cModuleGunViewId = _cStream.ReadNetworkViewId(); GameObject cModuleGunObject = cModuleGunViewId.GameObject; CToolInterface cToolInterface = cModuleGunObject.GetComponent<CToolInterface>(); CTorchLight cTorchLight = cModuleGunObject.GetComponent<CTorchLight>(); switch (eAction) { case ENetworkAction.TurnOnLight: cTorchLight.SetActive(true); break; case ENetworkAction.TurnOffLight: cTorchLight.SetActive(false); break; case ENetworkAction.ToggleColour: cTorchLight.ToggleColour(); break; default: Debug.LogError("Unknown network action: " + eAction); break; } } }
public static void UnserializeInbound(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while (_cStream.HasUnreadData) { ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); CNetworkViewId cModuleGunViewId = _cStream.ReadNetworkViewId(); GameObject cModuleGunObject = cModuleGunViewId.GameObject; CToolInterface cToolInterface = cModuleGunObject.GetComponent <CToolInterface>(); CTorchLight cTorchLight = cModuleGunObject.GetComponent <CTorchLight>(); switch (eAction) { case ENetworkAction.TurnOnLight: cTorchLight.SetActive(true); break; case ENetworkAction.TurnOffLight: cTorchLight.SetActive(false); break; case ENetworkAction.ToggleColour: cTorchLight.ToggleColour(); break; default: Debug.LogError("Unknown network action: " + eAction); break; } } }
public static void UnserializeInbound(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while (_cStream.HasUnreadData) { CNetworkViewId cTurretViewId = _cStream.ReadNetworkViewId(); GameObject cTurretObject = CNetwork.Factory.FindObject(cTurretViewId); if (cTurretObject != null) { CLaserTurretBehaviour cLaserTurretBehaviour = cTurretObject.GetComponent <CLaserTurretBehaviour>(); ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); switch (eAction) { case ENetworkAction.FireLasers: cLaserTurretBehaviour.FireLasers(); break; default: Debug.LogError(string.Format("Unknown network action ({0})", eAction)); break; } } } }
public static void UnserializeInbound(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while (_cStream.HasUnreadData) { CNetworkViewId cTurretViewId = _cStream.ReadNetworkViewId(); GameObject cTurretObject = CNetwork.Factory.FindObject(cTurretViewId); if (cTurretObject != null) { CLaserTurretBehaviour cLaserTurretBehaviour = cTurretObject.GetComponent<CLaserTurretBehaviour>(); ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); switch (eAction) { case ENetworkAction.FireLasers: cLaserTurretBehaviour.FireLasers(); break; default: Debug.LogError(string.Format("Unknown network action ({0})", eAction)); break; } } } }
void DecodeAudio(object _rawData) { //Convert incoming data to a CNetworkStream. CNetworkStream _cAudioDataStream = (CNetworkStream)_rawData; //Pull relevant information out of the network stream. int iFrequency = _cAudioDataStream.ReadInt(); int iNumSamples = _cAudioDataStream.ReadInt(); int iNumEncodedBytes = _cAudioDataStream.ReadInt(); byte[] baEncodedData = _cAudioDataStream.ReadBytes(iNumEncodedBytes); CNetworkViewId cSenderViewID = _cAudioDataStream.ReadNetworkViewId(); // Decode short[] saDecodedFrames = new short[iNumSamples]; int iNumDecodedBytes = m_eDecoder.Decode(baEncodedData, 0, iNumEncodedBytes, saDecodedFrames, 0, false); //Debug.Log("Decoded audio data size: " + iNumDecodedBytes + " : " + saDecodedFrames.Length); //Populate a new struct which can be accessed later. DecodeInformation decodedFrameInfo; decodedFrameInfo.saDecodedData = saDecodedFrames; decodedFrameInfo.iFrequency = iFrequency; decodedFrameInfo.cSenderViewID = cSenderViewID; decodedFrameInfo.iNumSamples = iNumSamples; s_decodedFrames.Enqueue(decodedFrameInfo); }
public static void Unserialize(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while (_cStream.HasUnreadData) { // Extract action ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); switch (eAction) { case ENetworkAction.SetRepairState: { //Figure out which kits sent it's new state CCircuitryKitBehaviour CircuitryKit = _cStream.ReadNetworkViewId().GameObject.GetComponent <CCircuitryKitBehaviour>(); CircuitryKit.m_TargetComponent = _cStream.ReadNetworkViewId().GameObject.GetComponent <CComponentInterface>(); CircuitryKit.m_eRepairState = (ERepairState)_cStream.ReadByte(); break; } } } }
public static void UnserializeInbound(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { if (CGamePlayers.SelfActor == null) { return; } CPlayerInteractor cPlayerInteractor = CGamePlayers.SelfActor.GetComponent <CPlayerInteractor>(); while (_cStream.HasUnreadData) { ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); CNetworkViewId cNewTargetViewId = _cStream.ReadNetworkViewId(); switch (eAction) { case ENetworkAction.UpdateTarget: if (cNewTargetViewId != null) { cPlayerInteractor.m_cTargetActorObject = cNewTargetViewId.GameObject; if (cPlayerInteractor.EventServerTargetChange != null) { cPlayerInteractor.EventServerTargetChange(cPlayerInteractor.m_cTargetActorObject); } // Debug.LogError("Found new target: " + cPlayerInteractor.m_cTargetActorObject); } else { cPlayerInteractor.m_cTargetActorObject = null; if (cPlayerInteractor.EventServerTargetChange != null) { cPlayerInteractor.EventServerTargetChange(null); } //Debug.LogError("Found new target: " + null); } break; default: Debug.LogError("Unknown network action"); break; } } }
public static void UnserializeBeltState(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while (_cStream.HasUnreadData) { ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); CPlayerBelt cPlayerBelt = CGamePlayers.GetPlayerActor(_cNetworkPlayer.PlayerId).GetComponent <CPlayerBelt>(); switch (eAction) { case ENetworkAction.PickupTool: { CNetworkViewId cToolViewId = _cStream.ReadNetworkViewId(); cPlayerBelt.PickupTool(cToolViewId.GameObject); } break; } } }
public static void UnserializeInbound(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while (_cStream.HasUnreadData) { CNetworkViewId oxygenRefillViewId = _cStream.ReadNetworkViewId(); ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); GameObject cOxygenRefillerObject = oxygenRefillViewId.GameObject; COxygenRefillerBehaviour blah = cOxygenRefillerObject.GetComponent<COxygenRefillerBehaviour>(); switch (eAction) { case ENetworkAction.RefillOxygen: blah.HandlePlayerOxygenRefill(_cNetworkPlayer.PlayerId); break; } } }
public static void UnserializeInbound(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while (_cStream.HasUnreadData) { CNetworkViewId oxygenRefillViewId = _cStream.ReadNetworkViewId(); ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); GameObject cOxygenRefillerObject = oxygenRefillViewId.GameObject; COxygenRefillerBehaviour blah = cOxygenRefillerObject.GetComponent <COxygenRefillerBehaviour>(); switch (eAction) { case ENetworkAction.RefillOxygen: blah.HandlePlayerOxygenRefill(_cNetworkPlayer.PlayerId); break; } } }
public static void UnserializeInbound(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); CNetworkViewId cMedicalSpayViewId = _cStream.ReadNetworkViewId(); switch (eAction) { case ENetworkAction.SprayStart: cMedicalSpayViewId.GameObject.GetComponent<CMedicalSpray>().m_bActive.Set(true); break; case ENetworkAction.SprayEnd: cMedicalSpayViewId.GameObject.GetComponent<CMedicalSpray>().m_bActive.Set(false); break; default: Debug.LogError("Unknown network action"); break; } }
public static void UnserializeInbound(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); CNetworkViewId cFireExtinguisherViewId = _cStream.ReadNetworkViewId(); switch (eAction) { case ENetworkAction.ExtinguishFireStart: cFireExtinguisherViewId.GameObject.GetComponent <CFireExtinguisherSpray>().m_bActive.Set(true); break; case ENetworkAction.ExtinguishFireEnd: cFireExtinguisherViewId.GameObject.GetComponent <CFireExtinguisherSpray>().m_bActive.Set(false); break; default: Debug.LogError("Unknown network action"); break; } }
static public void UnserializeSliderEvents(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while (_cStream.HasUnreadData) { // Get the DUISlider and its network view CDUISlider duiSlider = CNetwork.Factory.FindObject(_cStream.ReadNetworkViewId()).GetComponent <CDUISlider>(); // Get the interaction notification ESliderNotificationType notification = (ESliderNotificationType)_cStream.ReadByte(); // Based on the notification type, update the clients of the event switch (notification) { case ESliderNotificationType.OnValueChange: float value = _cStream.ReadFloat(); duiSlider.SetSliderValue(value); break; default: break; } } }
static public void UnserializeSliderEvents(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while(_cStream.HasUnreadData) { // Get the DUISlider and its network view CDUISlider duiSlider = CNetwork.Factory.FindObject(_cStream.ReadNetworkViewId()).GetComponent<CDUISlider>(); // Get the interaction notification ESliderNotificationType notification = (ESliderNotificationType)_cStream.ReadByte(); // Based on the notification type, update the clients of the event switch(notification) { case ESliderNotificationType.OnValueChange: float value = _cStream.ReadFloat(); duiSlider.SetSliderValue(value); break; default:break; } } }
public static void Unserialize(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while (_cStream.HasUnreadData) { // Extract action ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); switch (eAction) { case ENetworkAction.SetRepairState: { //Figure out which ratchet sent it's new state CRatchetBehaviour ratchet = _cStream.ReadNetworkViewId().GameObject.GetComponent<CRatchetBehaviour>(); ratchet.m_TargetComponent = _cStream.ReadNetworkViewId().GameObject.GetComponent<CComponentInterface>(); ratchet.m_eRepairState = (ERepairState)_cStream.ReadByte(); break; } } } }
public static void UnserializeInbound(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while (_cStream.HasUnreadData) { ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); CNetworkViewId cAk47ViewId = _cStream.ReadNetworkViewId(); switch (eAction) { case ENetworkAction.ShootStart: cAk47ViewId.GameObject.GetComponent <CAk47Behaviour>().m_bShoot = true; break; case ENetworkAction.ShootEnd: cAk47ViewId.GameObject.GetComponent <CAk47Behaviour>().m_bShoot = false; break; default: Debug.LogError("Unknown network action"); break; } } }
public static void UnserializeInbound(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while (_cStream.HasUnreadData) { CNetworkViewId cTurretViewId = _cStream.ReadNetworkViewId(); GameObject cTurretObject = CNetwork.Factory.FindObject(cTurretViewId); if (cTurretObject != null) { CMiningTurretBehaviour cMiningTurretBehaviour = cTurretObject.GetComponent <CMiningTurretBehaviour>(); ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); switch (eAction) { case ENetworkAction.StartFractureLaser: cMiningTurretBehaviour.m_bFractureLaserButtonDown = true; break; case ENetworkAction.StopFractureLaser: cMiningTurretBehaviour.m_bFractureLaserButtonDown = false; break; case ENetworkAction.StartExtractorBeam: cMiningTurretBehaviour.m_bExtracterBeamButtonDown = true; break; case ENetworkAction.StopExtractorBeam: cMiningTurretBehaviour.m_bExtracterBeamButtonDown = false; break; default: Debug.LogError(string.Format("Unknown network action ({0})", eAction)); break; } } } }
public static void UnserializeInbound(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while (_cStream.HasUnreadData) { CNetworkViewId cTurretViewId = _cStream.ReadNetworkViewId(); GameObject cTurretObject = CNetwork.Factory.FindObject(cTurretViewId); if (cTurretObject != null) { CMiningTurretBehaviour cMiningTurretBehaviour = cTurretObject.GetComponent<CMiningTurretBehaviour>(); ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); switch (eAction) { case ENetworkAction.StartFractureLaser: cMiningTurretBehaviour.m_bFractureLaserButtonDown = true; break; case ENetworkAction.StopFractureLaser: cMiningTurretBehaviour.m_bFractureLaserButtonDown = false; break; case ENetworkAction.StartExtractorBeam: cMiningTurretBehaviour.m_bExtracterBeamButtonDown = true; break; case ENetworkAction.StopExtractorBeam: cMiningTurretBehaviour.m_bExtracterBeamButtonDown = false; break; default: Debug.LogError(string.Format("Unknown network action ({0})", eAction)); break; } } } }
public static void UnserializeBeltState(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while (_cStream.HasUnreadData) { ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); CPlayerBelt cPlayerBelt = CGamePlayers.GetPlayerActor(_cNetworkPlayer.PlayerId).GetComponent<CPlayerBelt>(); switch (eAction) { case ENetworkAction.PickupTool: { CNetworkViewId cToolViewId = _cStream.ReadNetworkViewId(); cPlayerBelt.PickupTool(cToolViewId.GameObject); } break; } } }
public static void ProcessInboundStream(ulong _uiLatency, CNetworkStream _cStream) { List<INetworkVar> cSyncedNetworkVars = new List<INetworkVar>(); float fSyncedTick = 0.0f; if (CNetwork.IsServer) { fSyncedTick = ((float)RakNet.RakNet.GetTimeMS()) / 1000.0f; fSyncedTick -= Mathf.Floor(fSyncedTick); fSyncedTick *= CNetworkServer.k_fSendRate; } else { fSyncedTick = CNetwork.Connection.Tick - ((float)_uiLatency / 1000.0f); if (fSyncedTick < 0.0f) { fSyncedTick = CNetworkServer.k_fSendRate - fSyncedTick; //Debug.Log(fSyncedTick); } } while (_cStream.HasUnreadData) { // Extract owner network view id CNetworkViewId cNetworkViewId = _cStream.ReadNetworkViewId(); // Extract procedure type EProdecure eProcedure = (EProdecure)_cStream.ReadByte(); // Retrieve network view instance CNetworkView cNetworkView = CNetworkView.FindUsingViewId(cNetworkViewId); // Process network var sync procedure if (eProcedure == EProdecure.SyncNetworkVar) { // Extract network var identifier byte bNetworkVarIdentifier = _cStream.ReadByte(); // Retrieve network var instance INetworkVar cNetworkVar = cNetworkView.m_mNetworkVars[bNetworkVarIdentifier]; // Retrieve network var type Type cVarType = cNetworkVar.GetValueType(); // Extract value serialized object cNewVarValue = _cStream.ReadType(cVarType); // Sync with new value cNetworkVar.SyncValue(cNewVarValue, fSyncedTick); // Add to callback list cSyncedNetworkVars.Add(cNetworkVar); } // Process network rpc procedure else if (eProcedure == EProdecure.InvokeNetworkRpc) { // Extract rpc method identifier byte bMethodIdentifier = _cStream.ReadByte(); // Retrieve method owner instance Component cParentComponent = cNetworkView.m_mNetworkRpcs[bMethodIdentifier].cUnityComponent; // Retrieve method info MethodInfo cMethodInfo = cNetworkView.m_mNetworkRpcs[bMethodIdentifier].cMethodInfo; // Extract method parameters object[] caParameterValues = _cStream.ReadMethodParameters(cMethodInfo); // Invoke the rpc method cMethodInfo.Invoke(cParentComponent, caParameterValues); } } // Invoke callbacks for synced network vars foreach (INetworkVar cSyncedNetworkVar in cSyncedNetworkVars) { cSyncedNetworkVar.InvokeSyncCallback(); } }
public static void UnserializeInbound(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while (_cStream.HasUnreadData) { ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); CNetworkViewId cModuleGunViewId = _cStream.ReadNetworkViewId(); GameObject cModuleGunObject = cModuleGunViewId.GameObject; CToolInterface cToolInterface = cModuleGunObject.GetComponent<CToolInterface>(); CModuleGunBehaviour cModuleGunBehaviour = cModuleGunObject.GetComponent<CModuleGunBehaviour>(); switch (eAction) { case ENetworkAction.OpenDui: cModuleGunBehaviour.OpenDui(cToolInterface.OwnerPlayerActor.GetComponent<CPlayerInteractor>().TargetActorObject); break; case ENetworkAction.CloseDui: cModuleGunBehaviour.CloseDui(); break; default: Debug.LogError("Unknown network action"); break; } } }
static public void UnserializeElementEvents(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while (_cStream.HasUnreadData) { // Get the DUIElement and its network view CDUIElement duiElement = CNetwork.Factory.FindObject(_cStream.ReadNetworkViewId()).GetComponent <CDUIElement>(); // Get the interaction notification EElementNotificationType notification = (EElementNotificationType)_cStream.ReadByte(); // Based on the notification type, update the clients of the event switch (notification) { case EElementNotificationType.OnClick: int click = _cStream.ReadInt(); NotifyOnEvent(_cNetworkPlayer, duiElement, notification, new object[] { click }); break; case EElementNotificationType.OnDoubleClick: int dClick = _cStream.ReadInt(); NotifyOnEvent(_cNetworkPlayer, duiElement, notification, new object[] { dClick }); break; case EElementNotificationType.OnPress: bool isPressed = _cStream.ReadByte() == 1 ? true : false; NotifyOnEvent(_cNetworkPlayer, duiElement, notification, new object[] { isPressed }); break; case EElementNotificationType.OnSelect: bool isSelected = _cStream.ReadByte() == 1 ? true : false; NotifyOnEvent(_cNetworkPlayer, duiElement, notification, new object[] { isSelected }); break; case EElementNotificationType.OnHover: bool isHovered = _cStream.ReadByte() == 1 ? true : false; NotifyOnEvent(_cNetworkPlayer, duiElement, notification, new object[] { isHovered }); break; case EElementNotificationType.OnDrag: float deltaX = _cStream.ReadFloat(); float deltaY = _cStream.ReadFloat(); NotifyOnEvent(_cNetworkPlayer, duiElement, notification, new object[] { deltaX, deltaY }); break; case EElementNotificationType.OnDragStart: NotifyOnEvent(_cNetworkPlayer, duiElement, notification, null); break; case EElementNotificationType.OnDragEnd: NotifyOnEvent(_cNetworkPlayer, duiElement, notification, null); break; case EElementNotificationType.OnScroll: float delta = _cStream.ReadFloat(); NotifyOnEvent(_cNetworkPlayer, duiElement, notification, new object[] { delta }); break; default: break; } } }
public static void UnserializeInbound(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { while (_cStream.HasUnreadData) { CNetworkViewId cCockpitObjectViewId = _cStream.ReadNetworkViewId(); ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); GameObject cCockpitObject = CNetwork.Factory.FindObject(cCockpitObjectViewId); CCockpit cCockpit = cCockpitObject.GetComponent<CCockpit>(); switch (eAction) { case ENetworkAction.EnterCockpit: cCockpit.HandleEnterCockpit(_cNetworkPlayer.PlayerId); break; case ENetworkAction.LeaveCockpit: cCockpit.HandleLeaveCockpit(_cNetworkPlayer.PlayerId); break; default: Debug.LogError(string.Format("Unknown network action ({0})")); break; } } }
public static void UnserializeInbound(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { if (CGamePlayers.SelfActor == null) { return; } CPlayerInteractor cPlayerInteractor = CGamePlayers.SelfActor.GetComponent<CPlayerInteractor>(); while (_cStream.HasUnreadData) { ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); CNetworkViewId cNewTargetViewId = _cStream.ReadNetworkViewId(); switch (eAction) { case ENetworkAction.UpdateTarget: if (cNewTargetViewId != null) { cPlayerInteractor.m_cTargetActorObject = cNewTargetViewId.GameObject; if (cPlayerInteractor.EventServerTargetChange != null) cPlayerInteractor.EventServerTargetChange(cPlayerInteractor.m_cTargetActorObject); // Debug.LogError("Found new target: " + cPlayerInteractor.m_cTargetActorObject); } else { cPlayerInteractor.m_cTargetActorObject = null; if (cPlayerInteractor.EventServerTargetChange != null) cPlayerInteractor.EventServerTargetChange(null); //Debug.LogError("Found new target: " + null); } break; default: Debug.LogError("Unknown network action"); break; } } }
public static void UnserializeInbound(CNetworkPlayer _cNetworkPlayer, CNetworkStream _cStream) { GameObject cPlayerObject = CGamePlayers.GetPlayerActor(_cNetworkPlayer.PlayerId); CPlayerBackPack cPlayerBackPack = cPlayerObject.GetComponent<CPlayerBackPack>(); // Process stream data while (_cStream.HasUnreadData) { // Extract action ENetworkAction eAction = (ENetworkAction)_cStream.ReadByte(); // Handle action switch (eAction) { case ENetworkAction.PickupModule: CNetworkViewId cModuleViewId = _cStream.ReadNetworkViewId(); cPlayerBackPack.PickupModule(_cNetworkPlayer.PlayerId, cModuleViewId); break; case ENetworkAction.DropModule: cPlayerBackPack.DropModule(); break; case ENetworkAction.InsertCell: CNetworkViewId cCellSlotViewId = _cStream.ReadNetworkViewId(); cPlayerBackPack.InsertCell(_cNetworkPlayer.PlayerId, cCellSlotViewId); break; } } }