コード例 #1
0
 public static void Init()
 {
     if (_Instance == null)
     {
         _Instance = new GameObject("BattleMainUIModule", typeof(BattleMainUIModule)).GetComponent <BattleMainUIModule>();
         _Instance.InstanceInit();
     }
 }
コード例 #2
0
        public void OnUpdateGUI()
        {
            GUILayout.Space(25);

            if (!isMultiplayerMode)
            {
                if (GUILayout.Button("To Multiplayer Mode"))
                {
                    GameObject.FindObjectOfType <AssetLoader>().StartCoroutine(AssetBundleManager.RequestScene(MapDataManager.Instance.GetMapData("Ensk"), null, () =>
                    {
                        PoolManager.Initialize();

                        BattleMainUIModule.Init(this);

                        BattleMainUIModule.instance.onToggleSelectVehicleUIObject(false);

                        isMultiplayerMode = true;

                        new GameObject("Debug", typeof(ServerConsole));
                    }));
                }
            }
            else
            {
                GUILayout.Label("Server IP");
                serverIP = GUILayout.TextField(serverIP);

                GUILayout.Label("Server Port");
                serverPort = int.Parse(GUILayout.TextField(serverPort.ToString()));

                if (GUILayout.Button("Start As Master Server"))
                {
                    var masterServer = new GameObject("Master", typeof(MasterManager));
                    masterServer.GetComponent <MasterManager>().Initialize();

                    Object.DontDestroyOnLoad(masterServer);
                }

                if (GUILayout.Button("Connect To Master Server"))
                {
                    var client = new GameObject("Client", typeof(ClientManager));
                    client.GetComponent <ClientManager>().Initialize();

                    Object.DontDestroyOnLoad(client);
                }
            }



            //if (GUILayout.Button("Start As Server"))
            //{

            //    //NetworkComms.AppendGlobalIncomingPacketHandler<BinaryFormatterCustomObject>("CustomObject",
            //    //                    (header, connection, customObject) =>
            //    //                    {
            //    //                        Debug.LogError(connection);
            //    //                        Debug.LogError(customObject.IntValue);
            //    //                    });


            //    //List<EndPoint> localListeningEndPoints = Connection.ExistingLocalListenEndPoints(connectionTypeToUse);

            //    //foreach (IPEndPoint localEndPoint in localListeningEndPoints)
            //    //{
            //    //    Debug.LogError(("{0}:{1}", localEndPoint.Address, localEndPoint.Port));
            //    //}

            //    NetworkComms.AppendGlobalIncomingPacketHandler<BinaryFormatterCustomObject>("Message",
            //        (packetHeader, connection, incomingString) =>
            //        {
            //            Debug.LogError(incomingString);
            //        }
            //        );

            //    NetworkComms.AppendGlobalIncomingPacketHandler<ProtobufCustomObject>("Protobuf",
            //             (packetHeader, connection, incomingString) =>
            //             {
            //                 Debug.LogError(incomingString);
            //             }
            //             );
            //    Connection.StartListening(ConnectionType.UDP, IPEndPoint);

            //    //NetworkComms.AppendGlobalIncomingPacketHandler<string>("Message", (packetHeader, connection, incomingString) => { Debug.LogError(incomingString); });
            //    //Connection.StartListening(ConnectionType.TCP, IPEndPoint);
            //}

            //if(GUILayout.Button("Listen As Client"))
            //{
            //    NetworkComms.AppendGlobalIncomingPacketHandler<ProtobufCustomObject>("Protobuf",
            //   (packetHeader, connection, incomingString) =>
            //   {
            //       Debug.LogError(incomingString);
            //   }
            //   );
            //    Connection.StartListening(ConnectionType.UDP, new IPEndPoint(IPAddress.Parse("127.0.0.1"), 0));
            //}
            //if (GUILayout.Button("Send To Client"))
            //{
            //    //{
            //    //    NetworkComms.SendObject("Message", "127.0.0.1", 3231, "Hello");
            //    //Connection connectionToUse = UDPConnection.GetConnection(new ConnectionInfo(IPEndPoint, ApplicationLayerProtocolStatus.Disabled), UDPOptions.None);
            //    var connection = UDPConnection.GetConnection(new ConnectionInfo(IPEndPoint), UDPOptions.Handshake);
            //    connection.SendObject("Message", new BinaryFormatterCustomObject(123, "Hi"));
            //    //NetworkComms.SendObject("CustomObject", "127.0.0.1", 3333, new BinaryFormatterCustomObject(123, "Hello World Protobuf"));
            //    Debug.LogError("Send Msg");
            //}
            //if (GUILayout.Button("Send Protobuf"))
            //{
            //    var connection = UDPConnection.GetConnection(new ConnectionInfo(IPEndPoint), UDPOptions.Handshake);
            //    connection.SendObject("Protobuf", new ProtobufCustomObject(12, "Hello World"));
            //}
            //if(GUILayout.Button("Get Connection"))
            //{
            //    foreach(var connection in NetworkComms.AllConnectionInfo(false))
            //    {
            //        Debug.LogError($"Identifier { connection.NetworkIdentifier} EndPoint { connection.RemoteEndPoint}");
            //    }
            //    foreach(var connection in NetworkComms.GetExistingConnection())
            //    {
            //        connection.SendObject("Protobuf", new ProtobufCustomObject(12, "Hello Client!"));
            //    }
            //}
        }
コード例 #3
0
    public void Init(OfflineGameProperty gameProperty)
    {
        GameDataManager.OfflineMode = true;
        GameEventManager.ResetActions();

        if (PoolManager._Instance == null)
        {
            DontDestroyOnLoad(Instantiate(Resources.Load("PoolManager")));
        }

        respawnPointModule = new RespawnPointModule();
        respawnPointModule.CorountineRunObject = this;

        StartCoroutine(AssetBundleManager.RequestScene(true, true, gameProperty.gameMapEnum.ToString(), null, (onFinish) => {
            new ClientBuildingManagerModule();

            BattleMainUIModule.Init();



            List <string> vehicleList = GameYear.GetVehicleListFromYear(gameProperty.gameYearEnum);

            GameEventManager.onNewVehicleSpawned = (newVehicle) => {
                if (newVehicle.ownerTeam == PunTeams.Team.red)
                {
                    teamA.Add(newVehicle);
                }
                else
                {
                    teamB.Add(newVehicle);
                }

                GameLogic(gameProperty, vehicleList);
            };

            GameEventManager.onNewVehicleDestroyed = (destroyedVehicle) => {
                if (destroyedVehicle.ownerTeam == PunTeams.Team.red)
                {
                    teamA.Remove(destroyedVehicle);
                }
                else
                {
                    teamB.Remove(destroyedVehicle);
                }

                GameLogic(gameProperty, vehicleList);
            };

            GameEventManager.onPlayerVehicleDestroyed = () => {
                StartCoroutine(BattleMainUIModule._Instance.ShowDeadCountDown(5, () => {
                    BattleMainUIModule._Instance.onToggleSelectVehicleUIObject(true);
                }));
            };

            BattleMainUIModule._Instance.onUpdateVehicleList(
                vehicleList
                );

            BattleMainUIModule._Instance.onVehicleSelected = (selectedPlayerVehicle, bulletList) => {
                CreatePlayer(selectedPlayerVehicle, bulletList);
                BattleMainUIModule._Instance.onToggleSelectVehicleUIObject(false);
            };



            //CreateBot();
        }));
    }