Esempio n. 1
0
        /// <summary>
        ///		Builds the game using Volt Builder's <see cref="GameBuilder.BuildGame"/>
        /// </summary>
        public static void StartVoltBuilder()
        {
            Debug.Log("Build game started...");
            System.Console.WriteLine("Build game started...");

            ParseCommandLineArguments(out Dictionary <string, string> arguments);

            if (!arguments.ContainsKey("buildTarget"))
            {
                EditorApplication.Exit(-1);
            }

            bool currentZipBuild = false;

            if (SettingsManager.Instance.ContainsKey <bool>(ZipBuildKey))
            {
                currentZipBuild = SettingsManager.Instance.Get <bool>(ZipBuildKey);
            }
            SettingsManager.Instance.Set(ZipBuildKey, true);

            BuildTarget target   = (BuildTarget)Enum.Parse(typeof(BuildTarget), arguments["buildTarget"]);
            string      buildDir = $"{GameBuilder.GetBuildDirectory()}{target}-DevOpsBuild/{PlayerSettings.productName}";

            System.Console.WriteLine($"Building TC for {target} platform to {buildDir}");

            GameBuildOptions options = new GameBuildOptions(buildDir, target, BuildActions.GetBuildActions());

            AddressablesBuilder.BuildAddressables();
            GameBuilder.BuildGame(options);

            SettingsManager.Instance.Set(ZipBuildKey, currentZipBuild);
        }
Esempio n. 2
0
        private void btnLoadGame_Click(object sender, RoutedEventArgs e)
        {
            GameBuilder gameBuilder = (GameBuilder) new PetitMonde.SavedGame(this.dataContext);

            gameBuilder.BuildGame();
            Window w = new InGame();

            w.Show();
            this.Close();
        }
Esempio n. 3
0
        public void UnitImplTest()
        {
            NewGameDataContext dataContext = new NewGameDataContext();

            dataContext.FactionP1  = Units.Faction.Dwarves;
            dataContext.FactionP2  = Units.Faction.Elves;
            dataContext.NicknameP1 = "Player1";
            dataContext.NicknameP2 = "Player2";
            dataContext.SizeOfMap  = Map.MapSize.medium;
            GameBuilder gameBuilder = (GameBuilder) new PetitMonde.NewGame(dataContext);

            gameBuilder.BuildGame();
        }
Esempio n. 4
0
        public void StartGame(GameSettings settings)
        {
            GameBuilder gameBuilder = new GameBuilder(_ui, _rng, _species);
            GameHandler gameHandler = gameBuilder.BuildGame(settings);

            try {
                gameHandler.Process();
            } catch (Exception ex) {
                Logger.Fatal($"Received error from GameHandler: {ex.Message}.");
                Logger.Debug($"Stacktrace: {ex.StackTrace}.");
                _ui.OnError(ex.Message);
            }
        }
Esempio n. 5
0
            private async Task <bool> StartNew(string name, bool playWithBot)
            {
                if (games.ContainsKey(name))
                {
                    return(false);
                }

                var game = GameBuilder.BuildGame(name);

                games[name] = new Context
                {
                    game        = game,
                    Connections = { (Context.ConnectionId, 0) },
Esempio n. 6
0
            private async Task <bool> PlayAgain(string name, bool playWithBot)
            {
                if (games.TryGetValue(name, out var ctx) && ctx.game.Winner >= 0)
                {
                    ctx.game = GameBuilder.BuildGame(name);

                    await Clients.Client(ctx.Connections.First().connection).Started(ctx.game.GetInitData(0));

                    if (!playWithBot)
                    {
                        await Clients.Client(ctx.Connections.Last().connection).Started(ctx.game.GetInitData(1));
                    }

                    return(true);
                }

                return(false);
            }
Esempio n. 7
0
        /// <summary>
        ///		Builds the game using Volt Builder's <see cref="GameBuilder.BuildGame"/>
        /// </summary>
        public static void StartVoltBuilder()
        {
            System.Console.WriteLine("Build game started...");

            ParseCommandLineArguments(out Dictionary <string, string> arguments);

            if (!arguments.ContainsKey("buildTarget"))
            {
                EditorApplication.Exit(-1);
            }

            BuildTarget target   = (BuildTarget)Enum.Parse(typeof(BuildTarget), arguments["buildTarget"]);
            string      buildDir = $"{GameBuilder.GetBuildDirectory()}{target}-DevOpsBuild/{PlayerSettings.productName}";

            System.Console.WriteLine($"Building TC for {target} platform to {buildDir}");

            GameBuilder.BuildGame(buildDir, target);
        }
    private void BuildGame()
    {
        if (_hotFixOption == HotFixOption.Customize && string.IsNullOrEmpty(_hotFixUrl))
        {
            Debug.LogError("hotFixUrl is empty");
            return;
        }

        var buildPath = string.Empty;

        if (_buildMode != BuildMode.Patch)
        {
            buildPath = EditorUtility.SaveFilePanel(
                "SaveFile",
                PlayerPrefs.GetString("build_play_save_path"),
                _appName,
                _exportProject ? string.Empty : PlatformEditorUtils.GetAppExt(_buildTarget).Substring(1));

            if (string.IsNullOrEmpty(buildPath))
            {
                Debug.LogError("buildPath is empty");
                return;
            }

            PlayerPrefs.SetString("build_play_save_path", buildPath.Replace(_appName, string.Empty));
        }

        var buildOptions = BuildOptions.None;

        if (_development)
        {
            buildOptions |= BuildOptions.Development;
        }

        if (_exportProject)
        {
            buildOptions |= BuildOptions.AcceptExternalModificationsToPlayer;
        }

        GameBuilder.GameBuilderParameter para =
            new GameBuilder.GameBuilderParameter
        {
            BuildMode   = _buildMode,
            BuildTarget = _buildTarget,
            CopyFmod    = true,
            IncreativeBuildAssetBundles = _increativeBuildAssetBundles,
            BundleCompress   = _bundleCompress,
            ApplyAllRule     = _applyAllRule,
            BuildVersion     = GameBuilder.GetBuildVersion(_versionOption, _customizeVersion, _buildTarget),
            BuildOptions     = buildOptions,
            OutputPath       = buildPath,
            UseMono2X        = _useMono2X,
            ExportProject    = _exportProject,
            UseGradle        = _useGradle,
            BundleIdentifier = _bundleIdentifier,
            Multithreaded    = true,
            EnableHotFix     = _hotFixOption != HotFixOption.None,
            HotFixUrl        = GameBuilder.GetHotFixUrl(_hotFixOption, _hotFixUrl),
            BuildNumber      = DateTimeToUnixTimestamp(DateTime.Now),
        };

        GameBuilder.BuildGame(para);
    }