コード例 #1
0
        public static ValidationResult ValidateEmbarkment(GameStates.Overworld Settings, out String Message)
        {
            if (Settings.InstanceSettings.TotalCreationCost() > Settings.PlayerCorporationFunds)
            {
                Message = "You do not have enough funds.";
                return(ValidationResult.Reject);
            }

            return(Embarkment.ValidateEmbarkment(Settings, out Message));
        }
コード例 #2
0
ファイル: DwarfGame.cs プロジェクト: kyroskoh/dwarfcorp
        protected override void LoadContent()
        {
#if SHARP_RAVEN
            try
            {
#endif
            // Prepare GemGui
            GumInputMapper = new Gui.Input.GumInputMapper(Window.Handle);
            GumInput       = new Gui.Input.Input(GumInputMapper);

            // Register all bindable actions with the input system.
            GumInput.AddAction("TEST", Gui.Input.KeyBindingType.Pressed);

            GumSkin = new RenderData(GraphicsDevice, Content,
                                     "newgui/xna_draw", "Content/newgui/sheets.txt");

            if (SoundManager.Content == null)
            {
                SoundManager.Content = Content;
                SoundManager.LoadDefaultSounds();
#if XNA_BUILD
                //SoundManager.SetActiveSongs(ContentPaths.Music.dwarfcorp, ContentPaths.Music.dwarfcorp_2,
                //    ContentPaths.Music.dwarfcorp_3, ContentPaths.Music.dwarfcorp_4, ContentPaths.Music.dwarfcorp_5);
#endif
            }

            if (GameSettings.Default.DisplayIntro)
            {
                StateManager.PushState(new IntroState(this, StateManager));
            }
            else
            {
                StateManager.PushState(new MainMenuState(this, StateManager));
            }

            BiomeLibrary.InitializeStatics();
            Embarkment.Initialize();
            VoxelChunk.InitializeStatics();
            ControlSettings.Load();
            Drawer2D.Initialize(Content, GraphicsDevice);
            ResourceLibrary.Initialize();
            base.LoadContent();
#if SHARP_RAVEN
        }

        catch (Exception exception)
        {
            if (ravenClient != null)
            {
                ravenClient.Capture(new SentryEvent(exception));
            }
            throw;
        }
#endif
        }
コード例 #3
0
 public static void Initialize()
 {
     EmbarkmentLibrary = ContentPaths.LoadFromJson <Dictionary <string, Embarkment> >(ContentPaths.World.embarks);
     DefaultEmbarkment = EmbarkmentLibrary["Normal"];
 }
コード例 #4
0
        protected override void LoadContent()
        {
            // Prepare GemGui
            GumInputMapper = new Gum.Input.GumInputMapper(Window.Handle);
            GumInput       = new Gum.Input.Input(GumInputMapper);

            // Register all bindable actions with the input system.
            GumInput.AddAction("TEST", Gum.Input.KeyBindingType.Pressed);

            GumSkin = new RenderData(GraphicsDevice, Content,
                                     "newgui/xna_draw", "Content/newgui/sheets.txt");

            if (SoundManager.Content == null)
            {
                SoundManager.Content = Content;
                SoundManager.LoadDefaultSounds();
#if XNA_BUILD
                SoundManager.SetActiveSongs(ContentPaths.Music.dwarfcorp, ContentPaths.Music.dwarfcorp_2,
                                            ContentPaths.Music.dwarfcorp_3, ContentPaths.Music.dwarfcorp_4, ContentPaths.Music.dwarfcorp_5);
#endif
            }

            // The thing keeping this from working is that some states are tied tightly to the play state.
            // Ideally the solution is to stop caching these at all, so there's no point in trying to make
            // an implementation work just to throw it out.

            /*
             * foreach (var type in System.Reflection.Assembly.GetExecutingAssembly().GetTypes())
             * {
             *  if (type.IsSubclassOf(typeof(GameState)))
             *  {
             *      var instance = Activator.CreateInstance(type, this, StateManager);
             *      StateManager.States.Add(type.Name, instance as GameState);
             *  }
             * }
             */

            /*
             * PlayState playState = new PlayState(this, StateManager);
             * StateManager.States["IntroState"] = new IntroState(this, StateManager);
             * StateManager.States["PlayState"] = playState;
             * StateManager.States["MainMenuState"] = new MainMenuState(this, StateManager);
             * StateManager.States["NewGameChooseWorldState"] = new NewGameChooseWorldState(this, StateManager);
             * StateManager.States["NewGameCreateDebugWorldState"] = new NewGameCreateDebugWorldState(this, StateManager);
             * StateManager.States["WorldSetupState"] = new WorldSetupState(this, StateManager);
             * StateManager.States["WorldGeneratorState"] = new WorldGeneratorState(this, StateManager);
             * StateManager.States["OptionsState"] = new OptionsState(this, StateManager);
             * StateManager.States["NewOptionsState"] = new NewOptionsState(this, StateManager);
             * StateManager.States["EconomyState"] = new EconomyState(this, StateManager);
             * StateManager.States["CompanyMakerState"] = new CompanyMakerState(this, StateManager);
             * StateManager.States["WorldLoaderState"] = new WorldLoaderState(this, StateManager);
             * StateManager.States["GameLoaderState"] = new GameLoaderState(this, StateManager);
             * StateManager.States["LoseState"] = new LoseState(this, StateManager, playState);
             * StateManager.States["LoadState"] = new LoadState(this, StateManager);
             */

            if (GameSettings.Default.DisplayIntro)
            {
                StateManager.PushState(new IntroState(this, StateManager));
            }
            else
            {
                StateManager.PushState(new MainMenuState(this, StateManager));
            }

            BiomeLibrary.InitializeStatics();
            Embarkment.Initialize();
            VoxelChunk.InitializeStatics();
            ControlSettings.Load();
            Drawer2D.Initialize(Content, GraphicsDevice);
            ResourceLibrary.Initialize();

            base.LoadContent();
        }
コード例 #5
0
 public static void InitializeDefaultLibrary()
 {
     // Todo: Better modding support - load list with names.
     Embarkments       = FileUtils.LoadJsonFromResolvedPath <Dictionary <string, Embarkment> >(ContentPaths.World.embarks);
     DefaultEmbarkment = Embarkments["Normal"];
 }
コード例 #6
0
 public InstanceSettings(ColonyCell Cell, GameStates.Overworld Overworld)
 {
     this.Cell        = Cell;
     InitalEmbarkment = new Embarkment(Overworld);
 }