protected virtual void CaptureObjects(NetworkObject pObj) { if (pObj.CreateCode < 0) { return; } MainThreadManager.Run(() => { NetworkBehavior newObj = null; if (!NetworkBehavior.skipAttachIds.TryGetValue(pObj.NetworkId, out newObj)) { GameObject templateObj = _networkBehaviorListSO.behaviorList.GetByCreateCode(pObj.CreateCode); if (templateObj != null) { var go = Instantiate(templateObj); newObj = go.GetComponent <NetworkBehavior>(); } } if (newObj == null) { return; } SetINetworkSceneObject(newObj, pObj); newObj.Initialize(pObj); if (OnObjectInitialized != null) { OnObjectInitialized(newObj, pObj); } }); }
public virtual void AddPendingObject(GameObject pGameObject) { if (pGameObject.scene.name != gameObject.scene.name) { return; } NetworkBehavior behavior = pGameObject.GetComponent <NetworkBehavior>(); if (behavior == null) { return; } INetworkSceneObject networkSceneObject = behavior as INetworkSceneObject; if (networkSceneObject == null) { return; } uint networkId = networkSceneObject.GetNetworkId(); if (_pendingObjects.ContainsKey(networkId)) { return; } _pendingObjects.Add(networkId, behavior); }
private void PlayerEntityModelBehavior_networkStarted(NetworkBehavior behavior) { PlayerEntity = behavior.GetComponent <PlayerEntity>(); PlayerEntity.InitializePlayerEntity(this, CurrentUserInfo, CameraOnDestination); }
static void LoadItems() { NetworkBehavior.LoadNetworks(user_app_path); procedural_settings = new ProceduralScript("procedural.txt"); physical_settings = new ProceduralScript("physical.txt"); Debug.Log("Calling LoadHardwareTypes"); CatalogBehavior.LoadHardwareTypes(); CatalogBehavior.LoadCatalog(user_app_path); OrganizationScript.LoadOrganization(); GameObject ws = GameObject.Find("WorkSpace"); WorkSpaceScript ws_script = (WorkSpaceScript)ws.GetComponent(typeof(WorkSpaceScript)); WorkSpaceScript.LoadWorkSpace(); dac_groups = new DACGroups(); UserBehavior.LoadUsers(); AssetBehavior.LoadAssets(); ComputerBehavior.LoadAllComputers(); DeviceBehavior.LoadDevices(user_app_path); ITStaffBehavior.LoadStaffFromFile(); ZoneBehavior.LoadZones(); ObjectivesBehavior.LoadObjectives(); //UserBehavior.UpdateStatus(); //LoadMainOffice(); }
private void _thisTower_networkStarted(NetworkBehavior behavior) { //After that the tower is generated on the network, adjust it's position var _tower = behavior.GetComponent <TowerEntityController>(); _tower.InitTowerEntityController(MAPTowerGPSCoords[_tower]); }
//Once the avator object is created on the network, starts build it's avator character private void AvatorController_networkStarted(NetworkBehavior behavior) { //Sets up name and selected uma character var avatorController = behavior.GetComponent <AvatorController>(); //Passes this destination controller in order to set up correctly the avator avatorController.InitAvatorController(this); }
public Level(string background, int width, int height, int playerCount, bool useKeyboard, GameState gameType) { int diff = useKeyboard ? 0 : 1; if (playerCount < 2) { playerCount = 2; } if (playerCount > 4) { playerCount = 4; } _entities = new List <Entity>(); _toRemove = new Stack <Entity>(); _toAdd = new Stack <Entity>(); _bounds = new Rectangle(0, 0, width, height); _background = GameContent.LoadContent <Texture2D>(background); _font = GameContent.LoadContent <SpriteFont>("Fonts/SmallFont"); _winFont = GameContent.LoadContent <SpriteFont>("Fonts/BigFont"); _textOrigin = Vector2.Zero; _screenCenter = new Vector2(width / 2.0f, height / 2.0f); _fireballSfx = GameContent.LoadContent <SoundEffect>("SFX/Fireball"); _gameEnded = false; _winnerColor = Color.Black; _winnerText = String.Empty; if (gameType == GameState.PlayingLocal) { _connDelayTime = 0; for (int i = 0; i < playerCount; i++) { _entities.Add(new Player(this, positions[i], colors[i], inputs[i + diff], names[i])); } } else if (gameType == GameState.PlayingHost || gameType == GameState.PlayingClient) { _connDelayTime = 5000; int mod = (gameType == GameState.PlayingHost) ? 0 : 1; Player local = new Player(this, positions[mod], colors[mod], inputs[diff], GameMain.CurrentSession.LocalGamers[0].Gamertag); NetPlayerBehavior localController = new NetPlayerBehavior(local); local.Behaviors.Add(localController); GameMain.Connection.CreatePlayer(local); NetController = localController; _entities.Add(local); } }
// Callback for when each player's networkobject is set up on the host private void OnPlayerNetworked(NetworkBehavior networkBehavior) { Player player = networkBehavior as Player; PlayerDetails details = player.GetPlayerDetails(); // Update player details NetworkingPlayer np = networkObject.Networker.GetPlayerById(details.GetNetworkId()); player.networkObject.AssignOwnership(np); player.networkObject.SendRpc(Player.RPC_TRIGGER_UPDATE_DETAILS, Receivers.All, details.ToArray()); player.networkStarted -= OnPlayerNetworked; }
public virtual void InstantiatePendingObject(NodeNetworkSceneTemplate pNodeTemplate, NetworkBehavior pBehavior) { if (pNodeTemplate == null || pBehavior == null) { return; } INetworkSceneObject networkSceneObject = pBehavior as INetworkSceneObject; NetworkObject nObj = networkSceneObject.GetNetworkObject(); if (nObj == null) { return; } if (pNodeTemplate.NodeId == NodeManager.Instance.CurrentNode.NodeId) { NetworkBehavior behavior = NodeManager.Instance.InstantiateInScene(pNodeTemplate.SceneName, nObj.CreateCode, (pBehavior as IRPCSerializable), _teleportTarget.position, _teleportTarget.rotation); if (behavior == null) { return; } pBehavior.gameObject.SetActive(false); SendNetworkSceneToPlayer(networkSceneObject, pNodeTemplate); DestroyPendingObject(networkSceneObject); } else { ServiceCallback <RPCInstantiateInNode, ServiceCallbackStateEnum> callback = NodeManager.Instance.InstantiateInNode(pNodeTemplate.NodeId, pNodeTemplate.SceneName, nObj.CreateCode, (pBehavior as IRPCSerializable), _teleportTarget.position, _teleportTarget.rotation); if (callback.State == ServiceCallbackStateEnum.AWAITING_RESPONSE) { // While the request is progressing this NetworkSceneTeleporter could have been destroyed. NetworkSceneTeleporter tmpTeleporter = this; callback.OnResponseOfT += (pResponseTime, pResponseDataOfT, pSender) => { if (tmpTeleporter == null || pBehavior == null || networkSceneObject == null || pNodeTemplate == null) { return; } if (pResponseDataOfT == ServiceCallbackStateEnum.RESPONSE_SUCCESS) { pBehavior.gameObject.SetActive(false); tmpTeleporter.SendNetworkSceneToPlayer(networkSceneObject, pNodeTemplate); tmpTeleporter.DestroyPendingObject(networkSceneObject); } }; } } }
protected virtual void MoveObjectToScene(INetworkBehavior pUnityGameObject, NetworkObject pObj) { NetworkBehavior behavior = pUnityGameObject as NetworkBehavior; if (behavior == null) { return; } MainThreadManager.Run(() => { if (behavior == null || gameObject == null) { return; } SceneManager.MoveGameObjectToScene(behavior.gameObject, gameObject.scene); }); }
public static void LoadNetworks(string user_app_path) { string filePath = System.IO.Path.Combine(user_app_path, "networks.sdf"); GameObject network = GameObject.Find("Network"); string line = ""; try { StreamReader reader = new StreamReader(filePath, Encoding.ASCII); using (reader) { string tag; //Debug.Log("LoadNetworks read from " + filePath); string value = null; do { value = ccUtils.SDTNext(reader, out tag); if (value == null) { continue; } //Debug.Log("LoadNetwork got " + value + " for tag " + tag); if (tag != "Network") { Debug.Log("LoadNetwork found unexpected tag " + tag); Debug.Break(); return; } GameObject new_network = Instantiate(network, new Vector3(1.0F, 0, 0), Quaternion.identity); //new_network.SetActive(false); NetworkBehavior script = (NetworkBehavior)new_network.GetComponent(typeof(NetworkBehavior)); script.LoadOneNetwork(value); }while (value != null); //Debug.Break(); } } catch (Exception e) { Console.WriteLine(e.Message + "\n"); } }
public void Update(GameTime gameTime) { while (LocalHost.IsDataAvailable) { NetworkGamer sender; LocalHost.ReceiveData(_reader, out sender); string type = _reader.ReadString(); int id; if (type == "Player") { id = _reader.ReadInt32(); NetworkBehavior net = _behaviors.OfType <NetPlayerBehavior>().FirstOrDefault((b) => b.Id == id); if (net != null) { net.ReceiveData(_reader); } } if (type == "Fireball") { id = _reader.ReadInt32(); NetworkBehavior net = _behaviors.OfType <NetFireballBehavior>().FirstOrDefault((b) => b.Id == id); if (net != null) { net.ReceiveData(_reader); } } if (type == "CreatePlayer") { id = _reader.ReadInt32(); string name = _reader.ReadString(); Vector2 position = _reader.ReadVector2(); int health = _reader.ReadInt32(); Color color = _reader.ReadColor(); if (id != _session.LocalGamers[0].Id) { Player player = new Player(GameMain.CurrentLevel, position, color, new GenericInput(), name) { Health = health }; player.Behaviors.Add(new NetPlayerBehavior(player, id)); GameMain.CurrentLevel.AddEntity(player); } } if (type == "CreateFireball") { id = _reader.ReadInt32(); Vector2 position = _reader.ReadVector2(); Direction direction = (Direction)_reader.ReadInt32(); Color color = _reader.ReadColor(); Fireball fireball = new Fireball(GameMain.CurrentLevel, position, color, direction); fireball.Behaviors.Add(new NetFireballBehavior(fireball, id)); GameMain.CurrentLevel.AddEntity(fireball); } if (type == "RequestFireball") { Vector2 position = _reader.ReadVector2(); Direction direction = (Direction)_reader.ReadInt32(); Color color = _reader.ReadColor(); Fireball fireball = new Fireball(GameMain.CurrentLevel, position, color, direction); fireball.Behaviors.Add(new NetFireballBehavior(fireball, 0)); //GameMain.CurrentLevel.AddEntity(fireball); CreateFireball(fireball); } } _session.Update(); }
public void AddBehavior(NetworkBehavior behavior) { _behaviors.Add(behavior); }
//float grabbedBottom; // Use this for initialization void Start() { accumulatedMousePosition = new Vector3 (Screen.width/2, Screen.height/2, 1); network = GameObject.Find ("Networking").GetComponent<NetworkBehavior> (); }
private void TowerComponents_networkStarted(NetworkBehavior behavior) { TowerCaptureController = behavior.GetComponent <TowerCaptureController>(); TowerCaptureController.InitTowerCaptureController(this); }
private void TowerNetUIController_networkStarted(NetworkBehavior behavior) { TowerUINetworkController = behavior.GetComponent <TowerUINetworkController>(); TowerUINetworkController.InitializeTowerUINetworkController(this); }
public void OnGameManagerInited(NetworkBehavior behavior) { GameManagerNetworked.Instance.networkStarted -= OnGameManagerInited; InitGameScene(); }
/// <summary> /// Updates the behavior. /// </summary> /// <param name="behavior">The behavior.</param> internal void UpdateBehavior(NetworkBehavior behavior) { if (!behavior.CreatedByBehavior && behavior.NeedSyncComponentsUpdatingComponentsToSync()) { var message = this.CreateNetworkBehaviorMessage(behavior.NetworkBehaviorId, behavior.FactoryId, NetworkSyncType.Update); behavior.WriteSyncData(message, behavior.ComponentsToSync); this.networkService.SendToServer(message, DeliveryMethod.UnreliableSequenced); } }
/// <summary> /// Removes the network entity. /// </summary> /// <param name="behavior">The behavior.</param> private void RemoveNetworkEntity(NetworkBehavior behavior) { this.entityBehaviors.Remove(behavior.NetworkBehaviorId); this.scene.EntityManager.Remove(behavior.Owner); }
/// <summary> /// Sends the response to recreate this entity. /// </summary> /// <param name="behavior">The behavior.</param> private void SendResponseToRecreateThisEntity(NetworkBehavior behavior) { var responseMessage = this.CreateNetworkBehaviorMessage(behavior.NetworkBehaviorId, behavior.FactoryId, NetworkSyncType.Create); if (behavior.FactoryId == SerializationFactoryId) { this.WriteEntity(responseMessage, behavior.Owner); } behavior.WriteSyncData(responseMessage, behavior.NetworkSyncComponents); this.networkService.SendToServer(responseMessage, DeliveryMethod.ReliableOrdered); }
protected virtual void ProcessOthers(Transform pObj, NetworkObject pCreateTarget, ref uint pIdOffset, NetworkBehavior pNetBehavior = null) { int i; // Get the order of the components as they are in the inspector var components = pObj.GetComponents <NetworkBehavior>(); // Create each network object that is available for (i = 0; i < components.Length; i++) { if (components[i] == pNetBehavior) { continue; } var no = components[i].CreateNetworkObject(_networker, 0); if (_networker.IsServer) { FinalizeInitialization(pObj.gameObject, components[i], no, pObj.position, pObj.rotation, false, true); } else { components[i].AwaitNetworkBind(_networker, pCreateTarget, pIdOffset++); } } for (i = 0; i < pObj.transform.childCount; i++) { ProcessOthers(pObj.transform.GetChild(i), pCreateTarget, ref pIdOffset); } }
private void GameUiNetworkController_networkStarted(NetworkBehavior behavior) { GameUINetworkController = behavior.GetComponent <GameUINetworkController>(); GameUINetworkController.InitializeNetworkGameUI(AvatorControllerReference); }
void Start() { networkBehavior = new NetworkBehavior(); }