Esempio n. 1
0
 internal static void Postfix(UpgradeScreen __instance)
 {
     if (!__instance.selectedDetails.gameObject.active)
     {
         __instance.SelectUpgrade(__instance.path2Upgrades[0]);
     }
 }
Esempio n. 2
0
        public Game1()
        {
            graphics = new GraphicsDeviceManager(this);

            graphics.PreferredBackBufferWidth  = screenWidth;
            graphics.PreferredBackBufferHeight = screenHeight;

            ScreenRectangle = new Rectangle(
                0,
                0,
                screenWidth,
                screenHeight);

            Content.RootDirectory = "Content";

            Components.Add(new InputHandler(this));

            stateManager = new GameStateManager(this);
            Components.Add(stateManager);

            TitleScreen              = new TitleScreen(this, stateManager);
            StartMenuScreen          = new StartMenuScreen(this, stateManager);
            GamePlayScreen           = new GamePlayScreen(this, stateManager);
            AdminScreen              = new AdminScreen(this, stateManager);
            CharacterGeneratorScreen = new CharacterGeneratorScreen(this, stateManager);
            EndGameScreen            = new EndGameScreen(this, stateManager);
            BuyScreen       = new BuyScreen(this, stateManager);
            SellScreen      = new SellScreen(this, stateManager);
            SaveScreen      = new SaveScreen(this, stateManager);
            highscoreScreen = new HighscoreScreen(this, stateManager);
            upgradeScreen   = new UpgradeScreen(this, stateManager);


            stateManager.ChangeState(TitleScreen, null);
        }
        internal static void Postfix(UpgradeScreen __instance, TowerModel tower, int pathIndex, Il2CppReferenceArray <UpgradeDetails> pathUpgrades)
        {
            var modTower = tower.GetModTower();

            if (modTower != null)
            {
                var portrait       = modTower.PortraitReference;
                var maxPathTier    = modTower.tierMaxes[pathIndex];
                var emptyAbilities = new List <AbilityModel>().Cast <ICollection <AbilityModel> >();
                var upgradeModel   = modTower.dummyUpgrade;
                for (var i = maxPathTier; i < 5; i++)
                {
                    var upgradeDetails = pathUpgrades[i];
                    upgradeDetails.SetUpgrade(tower.baseId, upgradeModel, emptyAbilities, pathIndex, portrait);
                    upgradeDetails.gameObject.SetActive(false);
                }

                if (maxPathTier < 5)
                {
                    var bgLines = __instance.transform.GetComponentFromChildrenByName <RectTransform>($"{pathIndex + 1}");
                    bgLines.GetComponentsInChildren <CanvasRenderer>().Do(renderer =>
                    {
                        renderer.SetAlpha(0);
                    });
                }
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Load Game Assets and initialize all screens
        /// </summary>
        protected override void LoadContent()
        {
            //Instantiate the singleton class GameContent and load all game assets
            GameContent gameContent = new GameContent(Content);

            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            //Instantiate the singleton class HorizontalMenuBGSprite
            HorizontalMenuBGSprite scrollingBG = new HorizontalMenuBGSprite(GameContent.GameAssets.Images.Backgrounds.Screens[ScreenBackgrounds.GlobalScrollingBg], spriteBatch);


            //Initialize screens

            titleScreen = new Title(spriteBatch, new Delegates.QuitFunction(Exit));
            titleScreen.InitScreen(ScreenType.Title);
            titleScreen.Visible = true;

            shopScreen = new Shop(spriteBatch);
            shopScreen.InitScreen(ScreenType.Shop);

            controlScreen = new ControlScreen(spriteBatch);
            controlScreen.InitScreen(ScreenType.ControlScreen);

            mainMenuScreen = new MainMenu(spriteBatch);
            mainMenuScreen.InitScreen(ScreenType.MainMenu);

            creditsScreen = new Credits(spriteBatch);
            creditsScreen.InitScreen(ScreenType.Credits);

            gameScreen = new GameScreen(spriteBatch);
            gameScreen.InitScreen(ScreenType.Game);

            optionScreen = new Options(spriteBatch);
            optionScreen.InitScreen(ScreenType.Options);

            pauseScreen = new PauseScreen(spriteBatch);
            pauseScreen.InitScreen(ScreenType.Pause);

            shipSelectScreen = new ShipSelect(spriteBatch);
            shipSelectScreen.InitScreen(ScreenType.ShipSelect);

            weaponSelectScreen = new WeaponSelectScreen(spriteBatch);
            weaponSelectScreen.InitScreen(ScreenType.WeaponSelect);

            upgradeScreen = new UpgradeScreen(spriteBatch);
            upgradeScreen.InitScreen(ScreenType.UpgradeScreen);

            tierSelectScreen = new TierSelect(spriteBatch);
            tierSelectScreen.InitScreen(ScreenType.TierSelect);

            levelSelectScreen = new LevelSelect(spriteBatch);
            levelSelectScreen.InitScreen(ScreenType.LevelSelect);

            screenManager            = new ScreenManager(spriteBatch, Color.White, titleScreen, mainMenuScreen, creditsScreen, gameScreen, optionScreen, shopScreen, pauseScreen, shipSelectScreen, weaponSelectScreen, upgradeScreen, tierSelectScreen, levelSelectScreen, controlScreen);
            StateManager.AllScreens  = screenManager;
            StateManager.ScreenState = CoreTypes.ScreenType.Title;
        }
    public void OnClickBack()
    {
        int           islandNo = PlayerPrefs.GetInt(Constants.ISLAND, 0);
        UpgradeScreen screen   = upgradeTrigger[islandNo].GetComponent <UpgradeScreen>();

        //screen.currentState = screen.MenuStates.Main;
        screen.SetState(1);
        screen.SetMainSelected();
    }
    public void OnClickUpgrade()
    {
        int           islandNo = PlayerPrefs.GetInt(Constants.ISLAND, 0);
        UpgradeScreen screen   = upgradeTrigger[islandNo].GetComponent <UpgradeScreen>();

        //screen.currentState = screen.MenuStates.Shop;
        Debug.Log("Upgrade button At island " + islandNo);
        screen.SetState(3);
        screen.SetEventSelected();
    }
    public void OnClickSearch()
    {
        int           islandNo = PlayerPrefs.GetInt(Constants.ISLAND, 0);
        UpgradeScreen screen   = upgradeTrigger[islandNo].GetComponent <UpgradeScreen>();

        screen.startTime = Time.realtimeSinceStartup;
        Debug.Log("Search button At island " + islandNo);
        screen.SetState(2);
        //screen.currentState = screen.MenuStates.Search;
    }
Esempio n. 8
0
 internal static void Prefix(UpgradeScreen __instance)
 {
     for (var i = 1; i <= 3; i++)
     {
         var bgLines = __instance.transform.GetComponentFromChildrenByName <RectTransform>(i.ToString());
         bgLines.GetComponentsInChildren <CanvasRenderer>().Do(renderer =>
         {
             renderer.SetAlpha(1);
         });
     }
 }
Esempio n. 9
0
        public Game1()
        {
            graphics = new GraphicsDeviceManager(this);

            graphics.PreferredBackBufferWidth  = screenWidth;
            graphics.PreferredBackBufferHeight = screenHeight;

            ScreenRectangle = new Rectangle(
                0,
                0,
                screenWidth,
                screenHeight);

            Content.RootDirectory = "Content";

            Components.Add(new InputHandler(this));

            stateManager = new GameStateManager(this);
            Components.Add(stateManager);

            TitleScreen              = new TitleScreen(this, stateManager);
            StartMenuScreen          = new StartMenuScreen(this, stateManager);
            GamePlayScreen           = new GamePlayScreen(this, stateManager);
            AdminScreen              = new AdminScreen(this, stateManager);
            CharacterGeneratorScreen = new CharacterGeneratorScreen(this, stateManager);
            EndGameScreen            = new EndGameScreen(this, stateManager);
            PauseScreen              = new PauseScreen(this, stateManager);
            highscoreScreen          = new HighscoreScreen(this, stateManager);
            upgradeScreen            = new UpgradeScreen(this, stateManager);
            saveHistory              = new SaveHistoryScreen(this, stateManager);
            initPrice = new InitialPriceScreen(this, stateManager);

            spaceShip = new SpaceShip();
            board     = new Board();

            stateManager.ChangeState(TitleScreen);
        }
 internal static bool Prefix(UpgradeScreen __instance)
 {
     return(false);
 }
Esempio n. 11
0
    public override void _Process(float delta)
    {
        switch (_gameState)
        {
        case GameState.Game:
            if (!_level.IsRunning())
            {
                if (MoveCameraBack(delta))
                {
                    _gameState = GameState.UpgradeMenu;
                }
                else
                {
                    if (_hud != null)
                    {
                        _hud.QueueFree();
                        _hud = null;
                        _player.Deactivate();

                        UpdateFleet();
                    }
                }
            }
            break;

        case GameState.PrepareGame:
            if (LevelIntroduction(delta))
            {
                return;
            }

            if (_levelNumber != 1)
            {
                _level.IncreaseDifficulty();
            }

            _levelNumber++;
            _level.Start();
            CreateHud();
            _player.SetHud(_hud);
            _player.Activate();
            _gameState = GameState.Game;
            break;

        case GameState.GameOver:
            if (_level != null)
            {
                _level.QueueFree();
                _level = null;
            }

            ShowGameOver();

            if (MoveCameraBack(delta))
            {
                if (_menuButton == null)
                {
                    if (_menuButtonScene.Instance() is MenuButton menuButton)
                    {
                        menuButton.RectPosition = new Vector2(-325, 600);
                        GetTree().CurrentScene.AddChild(menuButton);
                        _menuButton = menuButton;
                    }
                }
            }
            break;

        case GameState.UpgradeMenu:
            if (_upgradeScreen == null)
            {
                if (_upgradeScene.Instance() is UpgradeScreen upgradeScreen)
                {
                    GetTree().CurrentScene.AddChild(upgradeScreen);
                    _upgradeScreen = upgradeScreen;
                }
            }

            if (_flightButton == null)
            {
                if (_flightButtonScene.Instance() is FlightButton flightButton)
                {
                    flightButton.RectPosition = new Vector2(-250, 600);
                    GetTree().CurrentScene.AddChild(flightButton);
                    _flightButton = flightButton;
                }
            }

            break;

        case GameState.Start:
            if (_upgradeScreen != null)
            {
                _upgradeScreen.QueueFree();
                _upgradeScreen = null;
            }

            if (MoveCameraForward(delta))
            {
                _levelWaitTime = 0;
                _flightButton  = null;
                _upgradeScreen = null;
                _gameState     = GameState.PrepareGame;
            }
            break;

        case GameState.Intro:
            if (_flightButton == null)
            {
                if (_flightButtonScene.Instance() is FlightButton flightButton)
                {
                    flightButton.RectPosition = new Vector2(-250, 600);
                    GetTree().CurrentScene.AddChild(flightButton);
                    _flightButton = flightButton;
                }
            }

            break;

        default:
            throw new ArgumentOutOfRangeException();
        }
    }