/// <summary> /// Builds the game with the proper arena, game mode and modality /// </summary> public void BuildGame() { switch (Action) { case BuildMode.SinglePlayer: gameObject.AddComponent <SinglePlayerBuilder>(); break; case BuildMode.Host: NetworkBuilder = gameObject.AddComponent <HostBuilder>(); NetworkBuilder.LocalMasterServer = LocalMasterServer; NetworkBuilder.LocalMasterServerAddress = LocalMasterServerAddress; NetworkBuilder.LocalMasterServerPort = LocalMasterServerPort; NetworkBuilder.NATFacilitatorPort = NATFacilitatorPort; NetworkBuilder.Setup(); Application.LoadLevel("MenuMatchmaking"); NetworkBuilder.EventDisconnected += NetworkBuilder_EventDisconnected; break; case BuildMode.Client: NetworkBuilder = gameObject.AddComponent <ClientBuilder>(); NetworkBuilder.LocalMasterServer = LocalMasterServer; NetworkBuilder.LocalMasterServerAddress = LocalMasterServerAddress; NetworkBuilder.LocalMasterServerPort = LocalMasterServerPort; NetworkBuilder.NATFacilitatorPort = NATFacilitatorPort; NetworkBuilder.Setup(); Application.LoadLevel("MenuMatchmaking"); NetworkBuilder.EventDisconnected += NetworkBuilder_EventDisconnected; break; } this.enabled = false; }
// Use this for initialization public override void Start() { base.Start(); //The icons (disabled by default) player_icons = (from icon in GameObject.FindGameObjectsWithTag(Tags.ShipSelector) orderby icon.transform.position.x select icon).ToList(); foreach (GameObject icon in player_icons) { icon.transform.localScale = Vector3.zero; } ready_button = GameObject.Find("ReadyButton"); not_ready_button = GameObject.Find("NotReadyButton"); error_message = GameObject.Find("ErrorMessage"); error_message.SetActive(false); ready_button.SetActive(false); not_ready_button.SetActive(false); //Listens to proper events network_builder = GameObject.FindGameObjectWithTag(Tags.Master).GetComponent <GameBuilder>().NetworkBuilder; network_builder.EventIdAcquired += network_builder_EventIdAcquired; network_builder.EventPlayerRegistered += network_builder_EventPlayerRegistered; network_builder.EventPlayerUnregistered += network_builder_EventPlayerUnregistered; network_builder.EventPlayerReady += network_builder_EventPlayerReady; network_builder.EventNoGame += network_builder_EventNoGame; network_builder.EventErrorOccurred += network_builder_EventErrorOccurred; network_builder.EventDisconnected += network_builder_EventDisconnected; network_builder.EventErrorOccurred += network_builder_EventErrorOccurred; network_builder.EventNoGame += network_builder_EventNoGame; }
// Use this for initialization void Start() { NetworkBuilder = null; }