public void OnInteractionInput(CPlayerInteractor.EInputInteractionType _eInputInteractionEvent, GameObject _cPlayerActor, RaycastHit _cRaycastHit, bool _bDown) { CNetworkViewId cNetworkViewId = _cPlayerActor.GetComponent <CNetworkView>().ViewId; switch (_eInputInteractionEvent) { case CPlayerInteractor.EInputInteractionType.Primary: if (EventPrimary != null) { EventPrimary(_cRaycastHit, cNetworkViewId, _bDown); } break; case CPlayerInteractor.EInputInteractionType.Secondary: if (EventSecondary != null) { EventSecondary(_cRaycastHit, cNetworkViewId, _bDown); } break; case CPlayerInteractor.EInputInteractionType.Use: if (EventUse != null) { EventUse(_cRaycastHit, cNetworkViewId, _bDown); } break; default: break; } }
void OnNetworkVarSync(INetworkVar _cSyncedVar) { for (uint i = 0; i < k_uiMaxNumTools; ++i) { if (m_acToolsViewId[i] == _cSyncedVar) { CNetworkViewId cToolNetworkViewId = m_acToolsViewId[i].Get(); if (cToolNetworkViewId == null) { if (EventToolDropped != null) { EventToolDropped(m_acToolsViewId[i].GetPrevious()); } } else { if (EventToolPickedup != null) { EventToolPickedup(cToolNetworkViewId); } } } } // Changing tool if (_cSyncedVar == m_bActiveToolId) { if (EventToolChanged != null) { EventToolChanged(m_acToolsViewId[m_bActiveToolId.Get()].Get()); } } }
public static CNetworkViewId GenerateDynamicViewId() { // Ensure servers only generate dynamic view ids Logger.WriteErrorOn(!CNetwork.IsServer, "Clients cannot generate network view ids!!!"); CNetworkViewId cViewId = new CNetworkViewId(); for (ushort i = k_usMaxStaticViewId; i < k_usMaxDynamicViewId; ++i) { // Check the dynamic view id is free if (!s_cNetworkViews.ContainsKey(i)) { cViewId = new CNetworkViewId(i, 0); // Add id into list without owner so someone else does not claim the id s_cNetworkViews.Add(i, null); break; } } // Ensure id was generated Logger.WriteErrorOn(cViewId.Id == 0, "Oh shit, the network view id generator ran out of ids. The game is now broken. GG"); return (cViewId); }
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; } } }
void HandleEnterCockpit(ulong _ulPlayerId) { GameObject cPlayerActor = CGamePlayers.GetPlayerActor(_ulPlayerId); if (cPlayerActor != null && !IsMounted) { CNetworkViewId cPlayerActorViewId = cPlayerActor.GetComponent <CNetworkView>().ViewId; // Save position on player when entering m_vEnterPosition = cPlayerActor.transform.position; m_EnterRotation = cPlayerActor.transform.rotation; // Parent the player to the cockpit seat cPlayerActor.GetComponent <CNetworkView>().SetParent(m_cSeat.GetComponent <CNetworkView>().ViewId); // Teleport player in cockpit cPlayerActor.GetComponent <CNetworkView>().SetPosition(m_cSeat.transform.position); cPlayerActor.GetComponent <CNetworkView>().SetRotation(m_cSeat.transform.rotation); // Set the player kinematic cPlayerActor.rigidbody.isKinematic = true; m_cMountedPlayerId.Set(_ulPlayerId); // Notify observers if (EventPlayerEnter != null) { EventPlayerEnter(m_cMountedPlayerId.Get()); } } }
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) { 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 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 CNetworkView FindUsingViewId(CNetworkViewId _cViewId) { CNetworkView cNetworkView = null; if (_cViewId != null) { if (!s_cNetworkViews.ContainsKey(_cViewId.Id)) { Logger.WriteError("Cannot find network view with id ({0})", _cViewId.Id); } else { cNetworkView = s_cNetworkViews[_cViewId.Id]; } if (_cViewId != null && _cViewId.IsChildViewId) { /* foreach (KeyValuePair<byte, CNetworkView> Entry in cNetworkView.m_SubNetworkViews) { Debug.LogError(string.Format("MyViewId({0}) ChildId({1}) ChildViewId({2}) ChildSubViewId({3}) ", cNetworkView.ViewId.Id, Entry.Key, Entry.Value.ViewId.Id, Entry.Value.ViewId.SubId)); } */ cNetworkView = cNetworkView.FindChildNetworkView(_cViewId.ChildId); Logger.WriteErrorOn(cNetworkView == null, "Could not find child network view. ViewId({0}) SubViewId({1})", _cViewId.Id, _cViewId.ChildId); } } return (cNetworkView); }
void CreateLocalObject(ushort _usPrefabId, CNetworkViewId _cNetworkViewId) { //((APrefabInfo)typeof(EPrefab).GetField(_ePrefab.ToString()).GetCustomAttributes(typeof(APrefabInfo), true)[0]).GetResourceName() // Extract prefab resource name string sPrefabName = m_mPrefabs[_usPrefabId]; // Create the game object GameObject cNewgameObject = Resources.Load(ksPrefabDir + sPrefabName, typeof(GameObject)) as GameObject; if (cNewgameObject == null) { Debug.LogError(string.Format("Prefab could not be found. PrefabId({0}) PrefabName({1})", _usPrefabId, sPrefabName)); } cNewgameObject = GameObject.Instantiate(cNewgameObject) as GameObject; // Extract network view component from created object CNetworkView cNetworkView = cNewgameObject.GetComponent <CNetworkView>(); // Ensure the created object has a network view component Logger.WriteErrorOn(cNetworkView == null, "The created prefab ({0}), name ({1}) does not have a network view!!!", _cNetworkViewId, cNewgameObject.name); cNetworkView.ViewId = _cNetworkViewId; m_mCreatedObjects.Add(_cNetworkViewId, new TObjectInfo(_usPrefabId, cNewgameObject)); // Notice Logger.Write("Created new game object with prefab ({0}), name ({1}) and network view id ({2})", _usPrefabId, cNewgameObject.name, _cNetworkViewId); }
public void BeginRepair(GameObject _damagedComponent) { m_iTotalTargets = 0; m_TargetComponent = _damagedComponent.GetComponent <CComponentInterface>(); List <Transform> repairPositions = m_TargetComponent.GetComponent <CCalibratorComponent>().ComponentRepairPosition; foreach (Transform child in repairPositions) { m_TargetList.Add(child); m_iTotalTargets++; } m_eRepairState = ERepairState.RepairActive; m_fTargetSwitchTimer = 0.0f; m_IKController = gameObject.GetComponent <CToolInterface>().OwnerPlayerActor.GetComponent <CPlayerIKController>(); m_IKController.RightHandIKTarget = m_TargetList[m_iTargetIndex]; CNetworkViewId senderID = gameObject.GetComponent <CNetworkView>().ViewId; CNetworkViewId targetID = _damagedComponent.GetComponent <CNetworkView>().ViewId; s_cSerializeStream.Write((byte)ENetworkAction.SetRepairState); s_cSerializeStream.Write(senderID); s_cSerializeStream.Write(targetID); s_cSerializeStream.Write((byte)m_eRepairState); // Commented out by Nathan to avoid extraneous debug information. // Feel free to uncomment for debugging purposes when required. //Debug.Log("Beginning repairs"); }
void OnRecievedPlayerMicrophoneAudio(CNetworkPlayer _cPlayer, CNetworkStream _cAudioDataStream) { GameObject playerActor = CGamePlayers.GetPlayerActor(_cPlayer.PlayerId); CNetworkViewId playerViewID = playerActor.GetComponent <CNetworkView>().ViewId; _cAudioDataStream.SetReadOffset(0); byte[] streamData = _cAudioDataStream.ReadBytes(_cAudioDataStream.NumUnreadBytes); CNetworkStream dataStream = new CNetworkStream(); dataStream.Write(streamData); dataStream.Write(playerViewID); Dictionary <ulong, CNetworkPlayer> players = CNetwork.Server.FindNetworkPlayers(); foreach (ulong playerID in players.Keys) { if (m_bReturnToSender) { CNetwork.Server.TransmitMicrophoneAudio(playerID, dataStream); } else { if (_cPlayer.PlayerId != playerID) { CNetwork.Server.TransmitMicrophoneAudio(playerID, dataStream); } } } }
private void OnPlayerUse(RaycastHit _RayHit, CNetworkViewId _cPlayerActorViewId, bool _bDown) { // TODO: if broken do not call this section s_cSerializeStream.Write(gameObject.GetComponent <CNetworkView>().ViewId); s_cSerializeStream.Write((byte)ENetworkAction.RefillOxygen); // section not to be called end. }
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 void BeginRepair(GameObject _damagedComponent) { m_iTotalTargets = 0; m_TargetComponent = _damagedComponent.GetComponent <CComponentInterface>(); List <Transform> repairPositions = m_TargetComponent.GetComponent <CCircuitryComponent>().ComponentRepairPosition; foreach (Transform child in repairPositions) { m_TargetList.Add(child); m_iTotalTargets++; } m_eRepairState = ERepairState.RepairActive; m_fTargetSwitchTimer = 0.0f; m_IKController = gameObject.GetComponent <CToolInterface>().OwnerPlayerActor.GetComponent <CPlayerIKController>(); m_IKController.RightHandIKTarget = m_TargetList[m_iTargetIndex]; CNetworkViewId senderID = gameObject.GetComponent <CNetworkView>().ViewId; CNetworkViewId targetID = _damagedComponent.GetComponent <CNetworkView>().ViewId; s_cSerializeStream.Write((byte)ENetworkAction.SetRepairState); s_cSerializeStream.Write(senderID); s_cSerializeStream.Write(targetID); s_cSerializeStream.Write((byte)m_eRepairState); Debug.Log("Beginning repairs"); }
void SetShipNetworkViewId(CNetworkViewId _cShipViewId) { m_cShipViewId = _cShipViewId; // Notice Logger.Write("The ship's network view id is ({0})", m_cShipViewId); }
public void PickupModule(ulong _ulPlayerId, CNetworkViewId _cModuleViewId) { if (!IsCarryingModule) { m_cCarryingModuleViewId.Set(_cModuleViewId); CNetwork.Factory.FindObject(_cModuleViewId).GetComponent <CPartInterface>().Pickup(_ulPlayerId); } }
public void DestoryObject(CNetworkViewId _cObjectNetworkViewId) { // Ensure only servers call this function Logger.WriteErrorOn(!CNetwork.IsServer, "On the server can destroy objects"); // Tell player to instantiate already created object InvokeRpcAll("DestroyLocalObject", _cObjectNetworkViewId); }
public void PickupModule(ulong _ulPlayerId, CNetworkViewId _cModuleViewId) { if (!IsCarryingModule) { m_cCarryingModuleViewId.Set(_cModuleViewId); CNetwork.Factory.FindObject(_cModuleViewId).GetComponent<CPartInterface>().Pickup(_ulPlayerId); } }
public static ulong GetPlayerActorsPlayerId(CNetworkViewId _PlayerActorViewId) { if (!s_cInstance.m_mPlayerActorsPlayers.ContainsKey(_PlayerActorViewId)) { return(ulong.MinValue); } return(s_cInstance.m_mPlayerActorsPlayers[_PlayerActorViewId]); }
public void OnInteractionHover(GameObject _cPlayerActor, RaycastHit _cRaycastHit, bool _bHover) { CNetworkViewId cNetworkViewId = _cPlayerActor.GetComponent <CNetworkView>().ViewId; if (EventHover != null) { EventHover(_cRaycastHit, cNetworkViewId, _bHover); } }
public CNetworkViewId Insert(CNetworkViewId _CellNetworkID) { CNetworkViewId cCurrentCell = null; if (CNetwork.IsServer) { cCurrentCell = m_cCurrentCell.Get(); m_cCurrentCell.Set(_CellNetworkID); } return(cCurrentCell); }
void OnEventInteractionUse(RaycastHit _tRayHit, CNetworkViewId _cPlayerActorViewId, bool _bDown) { // Check there is no one in the cockpit locally if (_bDown && !IsMounted) { // Write in enter cockpit action s_cSerializeStream.Write(gameObject.GetComponent <CNetworkView>().ViewId); s_cSerializeStream.Write((byte)ENetworkAction.EnterCockpit); } }
void DestroyLocalObject(CNetworkViewId _cObjectNetworkViewId) { TObjectInfo tObject = m_mCreatedObjects[_cObjectNetworkViewId]; tObject.cGameObject.GetComponent <CNetworkView>().OnPreDestory(); GameObject.Destroy(tObject.cGameObject); m_mCreatedObjects.Remove(_cObjectNetworkViewId); }
public GameObject CreateObject(object _cPrefabId) { // Ensure only servers call this function Logger.WriteErrorOn(!CNetwork.IsServer, "Only the server can create objects"); // Generate dynamic network view id for object CNetworkViewId cObjectViewId = CNetworkView.GenerateDynamicViewId(); // Invoke create local object call on all connected players InvokeRpcAll("CreateLocalObject", (ushort)_cPrefabId, cObjectViewId); return(CNetworkView.FindUsingViewId(cObjectViewId).gameObject); }
public void Write(CNetworkViewId _cNetworkViewId) { if (_cNetworkViewId == null) { this.Write(ushort.MaxValue); this.Write(byte.MaxValue); } else { this.Write(_cNetworkViewId.Id); this.Write(_cNetworkViewId.ChildId); } }
public GameObject FindObject(CNetworkViewId _cNetworkViewId) { CNetworkView cObjectNetworkView = CNetworkView.FindUsingViewId(_cNetworkViewId); GameObject cGameObject = null; if (cObjectNetworkView != null) { cGameObject = cObjectNetworkView.gameObject; } else { Logger.WriteErrorOn(cGameObject == null, "Could not find network object with ViewId({0}) SubViewId({1})", _cNetworkViewId.Id, _cNetworkViewId.ChildId); } return(cGameObject); }
public void InsertCell(ulong _ulPlayerId, CNetworkViewId _cCellSlotViewId) { if (IsCarryingModule) { CNetworkViewId CellToInsert = m_cCarryingModuleViewId.Get(); DropModule(); CNetworkViewId replacementCell = CNetwork.Factory.FindObject(_cCellSlotViewId).GetComponent <CCellSlot>().Insert(CellToInsert); if (replacementCell != null) { PickupModule(_ulPlayerId, replacementCell); } } }
void OnPlayerDisconnect(CNetworkPlayer _cPlayer) { CNetworkViewId cPlayerActorNetworkViewId = GetPlayerActorViewId(_cPlayer.PlayerId); if (cPlayerActorNetworkViewId != null) { CNetwork.Factory.DestoryObject(cPlayerActorNetworkViewId); // Sync unregister player actor view id with everyone InvokeRpcAll("UnregisterPlayerActor", _cPlayer.PlayerId); //Remove player from dictionary of player names InvokeRpcAll("UnregisterPlayerName", _cPlayer.PlayerId); Logger.Write("Removed Player Actor for Player Id ({0})", _cPlayer.PlayerId); } }
void DecodingUpdate() { if (s_decodedFrames.Count > 0) { //Take data from the queue to add to the audioclip. DecodeInformation decodedFrame = s_decodedFrames.Dequeue(); short[] saDecodedFrames = decodedFrame.saDecodedData; int numSamples = decodedFrame.iNumSamples; int frequency = decodedFrame.iFrequency; CNetworkViewId senderViewID = decodedFrame.cSenderViewID; float[] faDecodedAudioData = new float[numSamples]; for (int i = 0; i < faDecodedAudioData.Length; ++i) { faDecodedAudioData[i] = (float)((float)saDecodedFrames[i] / 32767.0f); } // Play audio at location of sender GameObject senderNetworkView = CNetworkView.FindUsingViewId(senderViewID).gameObject; AudioSource senderAudioSource = senderNetworkView.gameObject.GetComponent <AudioSource>(); AudioClip newClip = AudioClip.Create("Test", faDecodedAudioData.Length, 1, frequency, true, false); newClip.SetData(faDecodedAudioData, 0); senderAudioSource.clip = newClip; senderAudioSource.volume = 1.0f; //AudioSystem.GetInstance.Play(newClip, senderNetworkView.gameObject.transform.position, 1.0f, 1.0f, false, 0.0f, AudioSystem.SoundType.SOUND_EFFECTS, true); CAudioSystem.Play(senderAudioSource, 1.0f, 1.0f, false, 0.0f, CAudioSystem.SoundType.SOUND_EFFECTS, true); } if (s_framesToDecode.Count > 0) { for (int i = 0; i < m_kiNumDecodeThreads; i++) { if (m_DecodeThreads[i].IsAlive == false) { m_DecodeThreads[i] = new Thread(new ParameterizedThreadStart(DecodeAudio)); m_DecodeThreads[i].Start((object)s_framesToDecode.Dequeue()); break; } } } }
void OnToolChange(CNetworkViewId _cViewId) { if(_cViewId.GameObject != null) { m_HeldTool = _cViewId.GameObject.GetComponent<CToolInterface>(); gameObject.GetComponent<CThirdPersonAnimController>().RaiseArm(); // Commented out by Nathan to avoid extraneous debug information. // Feel free to uncomment for debugging purposes when required. //Debug.Log("Tool changed to" + m_HeldTool.gameObject.name); } else { m_HeldTool = null; gameObject.GetComponent<CThirdPersonAnimController>().LowerArm(); // Commented out by Nathan to avoid extraneous debug information. // Feel free to uncomment for debugging purposes when required. //Debug.Log("Tool changed to" + m_HeldTool.gameObject.name); } }
public bool mAwaitingCull = false; // Objects get culled over time. public CRegisteredGubbin(GameObject entity, float boundingRadius, CNetworkViewId networkViewID, bool alternatorValue) { mEntity = entity; mBoundingRadius = boundingRadius; mNetworkViewID = networkViewID; mAlternator = alternatorValue; }
public void SetSelectedPort(CNetworkViewId _PortViewId) { m_CurrentPortSelected.Set(_PortViewId); }
private void HandlePlayerHover(RaycastHit _RayHit, CNetworkViewId _cPlayerActorViewId, bool _bHover) { m_bHoveringOn = _bHover; m_cHoveringPlayerViewId = _cPlayerActorViewId; }
void RegisterPlayerActor(ulong _ulPlayerId, CNetworkViewId _cPlayerActorId) { m_mPlayersActors.Add(_ulPlayerId, _cPlayerActorId); m_mPlayerActorsPlayers.Add(_cPlayerActorId, _ulPlayerId); }
void CreateLocalObject(ushort _usPrefabId, CNetworkViewId _cNetworkViewId) { //((APrefabInfo)typeof(EPrefab).GetField(_ePrefab.ToString()).GetCustomAttributes(typeof(APrefabInfo), true)[0]).GetResourceName() // Extract prefab resource name string sPrefabName = m_mPrefabs[_usPrefabId]; // Create the game object GameObject cNewgameObject = Resources.Load(ksPrefabDir + sPrefabName, typeof(GameObject)) as GameObject; if (cNewgameObject == null) { Debug.LogError(string.Format("Prefab could not be found. PrefabId({0}) PrefabName({1})", _usPrefabId, sPrefabName)); } cNewgameObject = GameObject.Instantiate(cNewgameObject) as GameObject; // Extract network view component from created object CNetworkView cNetworkView = cNewgameObject.GetComponent<CNetworkView>(); // Ensure the created object has a network view component Logger.WriteErrorOn(cNetworkView == null, "The created prefab ({0}), name ({1}) does not have a network view!!!", _cNetworkViewId, cNewgameObject.name); cNetworkView.ViewId = _cNetworkViewId; m_mCreatedObjects.Add(_cNetworkViewId, new TObjectInfo(_usPrefabId, cNewgameObject)); // Notice Logger.Write("Created new game object with prefab ({0}), name ({1}) and network view id ({2})", _usPrefabId, cNewgameObject.name, _cNetworkViewId); }
public GameObject FindObject(CNetworkViewId _cNetworkViewId) { CNetworkView cObjectNetworkView = CNetworkView.FindUsingViewId(_cNetworkViewId); GameObject cGameObject = null; if (cObjectNetworkView != null) { cGameObject = cObjectNetworkView.gameObject; } else { Logger.WriteErrorOn(cGameObject == null, "Could not find network object with ViewId({0}) SubViewId({1})", _cNetworkViewId.Id, _cNetworkViewId.ChildId); } return (cGameObject); }
void OnEventInteractionUse(RaycastHit _tRayHit, CNetworkViewId _cPlayerActorViewId, bool _bDown) { // Check there is no one in the cockpit locally if (_bDown && !IsMounted) { // Write in enter cockpit action s_cSerializeStream.Write(gameObject.GetComponent<CNetworkView>().ViewId); s_cSerializeStream.Write((byte)ENetworkAction.EnterCockpit); } }
public CNetworkViewId Insert (CNetworkViewId _CellNetworkID) { CNetworkViewId cCurrentCell = null; if(CNetwork.IsServer) { cCurrentCell = m_cCurrentCell.Get(); m_cCurrentCell.Set(_CellNetworkID); } return(cCurrentCell); }
void OnToolDrop(CNetworkViewId _cViewId) { m_HeldTool = null; gameObject.GetComponent<CThirdPersonAnimController>().LowerArm(); }
public static ulong GetPlayerActorsPlayerId(CNetworkViewId _PlayerActorViewId) { if (!s_cInstance.m_mPlayerActorsPlayers.ContainsKey(_PlayerActorViewId)) { return(ulong.MinValue); } return (s_cInstance.m_mPlayerActorsPlayers[_PlayerActorViewId]); }
private void OnPlayerUse(RaycastHit _RayHit, CNetworkViewId _cPlayerActorViewId, bool _bDown) { // TODO: if broken do not call this section s_cSerializeStream.Write(gameObject.GetComponent<CNetworkView>().ViewId); s_cSerializeStream.Write((byte)ENetworkAction.RefillOxygen); // section not to be called end. }
void DestroyLocalObject(CNetworkViewId _cObjectNetworkViewId) { TObjectInfo tObject = m_mCreatedObjects[_cObjectNetworkViewId]; tObject.cGameObject.GetComponent<CNetworkView>().OnPreDestory(); GameObject.Destroy(tObject.cGameObject); m_mCreatedObjects.Remove(_cObjectNetworkViewId); }
void OnHover(RaycastHit _RayHit, CNetworkViewId _cPlayerActorViewId, bool _bHover) { bShowName = _bHover; }
public void InsertCell(ulong _ulPlayerId, CNetworkViewId _cCellSlotViewId) { if (IsCarryingModule) { CNetworkViewId CellToInsert = m_cCarryingModuleViewId.Get(); DropModule(); CNetworkViewId replacementCell = CNetwork.Factory.FindObject(_cCellSlotViewId).GetComponent<CCellSlot>().Insert(CellToInsert); if (replacementCell != null) { PickupModule(_ulPlayerId, replacementCell); } } }