Inheritance: MonoBehaviour
Ejemplo n.º 1
0
        internal State UpdatePlayerState(IRepository <IPlayer> players, IRepository <IBullet> bullets,
                                         StarField starfield, GameTime gameTime,
                                         State gameState, KeyboardState keyState)
        {
            starfield.Speed = 3;
            State state = gameState;

            //Clear dead players
            players.GetAll().RemoveAll(p => p.IsAlive == false);
            //Set gameover
            if (players.GetAll().All(p => p.IsAlive == false))
            {
                state = State.GameOver;
            }
            if (keyState.IsKeyDown(Keys.P))
            {
                state = State.Pause;
            }
            //update players
            players.GetAll().ForEach(p => p.Update(gameTime));
            players.GetAll().ForEach(p => p.InputHandler.Move(p));
            players.GetAll().ForEach(p => p.InputHandler.PlayerShoot(bullets, players, p.Id));
            starfield.Update(gameTime);

            return(state);
        }
Ejemplo n.º 2
0
    public void InitStarsMesh()
    {
        StarField Stars = new StarField();

        m_starsMesh = new Mesh();
        Stars.InitializeStarfield(ref m_starsMesh);
    }
Ejemplo n.º 3
0
 public GameEngine()
 {
     this.starfield    = new StarField();
     this.inputHandler = new InputHandler();
     this.graphics     = new GraphicsDeviceManager(this)
     {
         IsFullScreen              = false,
         PreferredBackBufferWidth  = Globals.MAIN_SCREEN_WIDTH,
         PreferredBackBufferHeight = Globals.MAIN_SCREEN_HEIGHT
     };
     this.IsMouseVisible        = true;
     this.Window.Title          = "Traveling to FARCROTHU";
     this.Content.RootDirectory = "Content";
     this.mainMenuButtons       = new ButtonFactory();
     this.pauseMenuButtons      = new ButtonFactory();
     this.singleLoginButtons    = new ButtonFactory();
     this.loadButtons           = new LoadButtonFactory(new Vector2(900, 300));
     this.mainMenuForms         = new FormFactory();
     this.singleLoginForms      = new FormFactory();
     this.databaseManager       = new SaveAndLoadDbManager();
     this.userDbManager         = new UserDbManager();
     this.usersRepository       = new UsersRepository();
     this.updateStateManager    = new UpdateStateManager();
     this.drawObjectsManager    = new DrawGameObjectsManager();
     this.playManager           = new PlayGameManager();
 }
Ejemplo n.º 4
0
 protected void InitStarsMesh()
 {
     if (this.Stars == null)
     {
         this.Stars = new StarField();
     }
     this.starsMesh           = this.Stars.InitializeStarfield();
     this.starsMesh.hideFlags = HideFlags.DontSave;
 }
Ejemplo n.º 5
0
    public void init(Transform spaceship, StarField starField)
    {
        this.spaceship = spaceship;
        this.starField = starField;
        trans          = transform;
//		cameraSizeMax = cameraStandartSize + 4;
        cameraSizeDefault = (int)Camera.main.orthographicSize;
        setDirectlyToShip();
    }
Ejemplo n.º 6
0
 public ChartBuilder(StarField field, List <Star> eligiblestars, List <Star> elitestars)
 {
     _field         = field;
     _eligiblestars = eligiblestars;
     _elitestars    = elitestars;
     _teststars     = eligiblestars;
     //_teststars = field.Stars
     //    .Where(x => x.MinSNR > GlobalVariables.MinSNR && x.Flags == 0 && x.ValidCatalogMag == true && x.OID == -1)
     //    .ToList();
 }
Ejemplo n.º 7
0
        internal State UpdateSingleLoadGameMenu(ButtonFactory singleLoginButtons, StarField starfield,
                                                State gameState, GameTime gameTime)
        {
            MouseState mouseAfterLogin = Mouse.GetState();

            singleLoginButtons.CreateButton(new Vector2(500, 300), State.OnePlayer, "New Game");
            singleLoginButtons.CreateButton(new Vector2(500, 400), State.LoadGameMenu, "Load Game");
            starfield.Update(gameTime);
            return(singleLoginButtons.ReturnButtonState(mouseAfterLogin, gameState));
        }
Ejemplo n.º 8
0
 protected void InitStarsMesh()
 {
     Stars               = new StarField();
     starsMesh           = Stars.InitializeStarfield();
     starsMesh.hideFlags = HideFlags.DontSave;
     if (starsMesh == null)
     {
         Debug.Log(" Can't find or read <b>StarsData.bytes</b> file.");
     }
 }
Ejemplo n.º 9
0
        internal State UpdatePauseMenu(ButtonFactory pauseMenuButtons, State previousState, State gameState,
                                       StarField starfield, GameTime gameTime)
        {
            pauseMenuButtons.CreateButton(new Vector2(500, 300), State.SaveGame, "Save game");
            pauseMenuButtons.CreateButton(new Vector2(500, 400), previousState, "Continue");
            pauseMenuButtons.CreateButton(new Vector2(500, 500), State.Quit, "Quit");

            MouseState pauseMouse = Mouse.GetState();

            starfield.Update(gameTime);
            starfield.Speed = 1;
            return(pauseMenuButtons.ReturnButtonState(pauseMouse, gameState));
        }
Ejemplo n.º 10
0
    private void init()
    {
        Vars.initVars();
        Vars.inSpace = true;

        ItemFactory.itemPrefab = itemPrefab;
        mainCamera             = Camera.main.transform;

        Imager.initialize();
        Player.init();

        GameObject.Find("Images Provider").GetComponent <ImagesProvider>().init();

        starField = GameObject.Find("StarField").GetComponent <StarField>().init();
        star      = transform.Find("Star").GetComponent <SpriteRenderer>();
        star.gameObject.SetActive(true);

        ItemDescriptor descriptor = GameObject.Find("Item Descriptor").GetComponent <ItemDescriptor>().init();

        statusScreen = GameObject.Find("Status Screen").GetComponent <StatusScreen>().init(this, descriptor);

        descriptor.playerData = statusScreen.playerData;

        if (Vars.shipCurrentHealth == -1)
        {
            statusScreen.shipData.initializeRandomShip(HullType.ARMAGEDDON);
            statusScreen.inventory.setCapacity(statusScreen.shipData.hullType.getStorageCapacity());
        }
        else
        {
            statusScreen.initFromVars();
        }

        initPlayerShip();

        statusScreen.cameraController = cameraController;

        Vars.userInterface = GameObject.FindGameObjectWithTag("UserInterface").GetComponent <UserInterface>().init(statusScreen, this, playerShip);

        shieldsPool = GameObject.Find("ShieldsPool").GetComponent <ShieldsPool>();

        explosionsManager = GameObject.Find("Explosions Manager").GetComponent <ExplosionsManager>().init();

        lootDropper = GameObject.Find("Loot Dropper").GetComponent <LootDropper>().init(statusScreen.inventory, descriptor);

        spawner = GetComponent <EnemySpawner>().init(Vars.userInterface.minimap, playerShip.transform);

        loadStarSystem();

        gamePaused = false;
    }
        public GameControl(Game game)
            : base(game)
        {
            input = new InputProvider(game);
            particles = new ParticleProvider();
            Stars = new StarField(game, 2, 1, 0.5f);
            FrontPlotter = new PrimitiveDraw(game);
            BackPlotter = new PrimitiveDraw(game);

            Hud = new Hud(game);
            text = new TextInterface(game, new Vector2(1360, 730));

            extensions = new ExtensionsManager();
            
        }
Ejemplo n.º 12
0
        internal void DrawAllGameObjects(GameDatabase db, SpriteBatch spriteBatch, StarField starfield)
        {
            starfield.Draw(spriteBatch);

            db.Enemies.GetAll().ForEach(e => e.Draw(spriteBatch));
            db.Bullets.GetAll().ForEach(b => b.Draw(spriteBatch));
            db.Asteroids.GetAll().ForEach(a => a.Draw(spriteBatch));
            db.Explosions.GetAll().ForEach(e => e.Draw(spriteBatch));

            foreach (var item in db.Items.GetAll())
            {
                item.Draw(spriteBatch);
            }
            db.Players.GetAll().ForEach(p => p.Draw(spriteBatch));
        }
Ejemplo n.º 13
0
 void Awake()
 {
     starfield            = GameObject.Find("Starfield").GetComponent <StarField>();
     customSettingsToggle = GameObject.Find("CustomSettingsToggle");
     serverScore          = GameObject.Find("ServerScore").GetComponent <ServerScore>();
     classicDescription   = GameObject.Find("ClassicDescription");
     customDescription    = GameObject.Find("CustomDescription");
     healthSettingLives   = GameObject.Find("ToggleLives").GetComponent <Toggle>();
     bulletSetting        = GameObject.Find("BulletSetting").GetComponent <Toggle>();
     collisionSetting     = GameObject.Find("CollisionSetting").GetComponent <Toggle>();
     starfieldSetting     = GameObject.Find("StarfieldSetting").GetComponent <Toggle>();
     submitScoreButton    = GameObject.Find("SubmitScoreButton").GetComponent <Button>();
     submitScoreText      = GameObject.Find("SubmitScoreText").GetComponent <Text>();
     settingsMenu         = GameObject.Find("Settings");
     highscoreMenu        = GameObject.Find("Highscore");
     restartMenu          = GameObject.Find("RestartGame");
 }
Ejemplo n.º 14
0
        private void BuildBackground(IStateMachine <string, INetworkGameScreen> machine)
        {
            var asteroidField = new RandomAsteroidField(SpaceBackgroundConfiguration.AsteroidsCount);

            asteroidField.Initialize();
            machine.SharedContext.Add(nameof(RandomAsteroidField), asteroidField);

            var debrisField = new RandomDebrisField(SpaceBackgroundConfiguration.DebrisFieldCount);

            debrisField.Initialize();
            machine.SharedContext.Add(nameof(RandomDebrisField), debrisField);

            var starField = new StarField(SpaceBackgroundConfiguration.StarsFieldCount);

            starField.Initialize();
            machine.SharedContext.Add(nameof(StarField), starField);
        }
        public void StartGame()
        {
            _starField       = new StarField(StarCount, _starVelocity, new TileSheet(_spriteSheet, _starTextureSourceRectangle, Star.AnimationFrames), ScreenBounds);
            _asteroidManager = new AsteroidManager(AsteroidCount, new TileSheet(_spriteSheet, _initalAsteroidFrame, Asteroid.AsteroidFrames), ScreenBounds);
            _shotManager     = new ShotManager(new TileSheet(_spriteSheet, _shotTextureInitialFrame, Shot.AnimationFrames), ScreenBounds);
            _enemyManager    = new EnemyManager(new TileSheet(_spriteSheet, _enemyInitialFrame, Enemy.AnimationFrames), ScreenBounds);

            _pieceExplosionManager = new ExplosionParticleSystem(new TileSheet(_spriteSheet, _explosionPieceSpriteFrame, ExplosionParticleSystem.PieceAnimationFrames), ExplosionParticleSystem.ParticleType.Piece);
            _pointExplosionManager = new ExplosionParticleSystem(new TileSheet(_spriteSheet, _explosionPointSpriteFrame, ExplosionParticleSystem.PointAnimationFrames), ExplosionParticleSystem.ParticleType.Point);

            _asteroidManager.OnAsteroidDestroy += (s, e) => _collisionEngine.RemoveEntity((GameEntity)s);
            _shotManager.OnShotDestroy         += (s, e) => _collisionEngine.RemoveEntity((GameEntity)s);
            _enemyManager.OnEnemyDestroyed     += HandleOnEnemyDestroy;
            _enemyManager.ShotFired            += EnemyManagerShotFired;

            SpawnPlayer();
            _playerScore = 0;
            _gameOver    = false;
        }
Ejemplo n.º 16
0
        protected override void LoadContent()
        {
            spriteBatch = new SpriteBatch(GraphicsDevice);

            titleScreen = Content.Load <Texture2D>(@"Textures\TitleScreen");
            spriteSheet = Content.Load <Texture2D>(@"Textures\spriteSheet");
            starField   = new StarField(Window.ClientBounds.Width, Window.ClientBounds.Height,
                                        200, new Vector2(0, 30), spriteSheet, new Rectangle(0, 450, 2, 2));
            asteroidManager = new AsteroidManager(10, spriteSheet, new Rectangle(0, 0, 50, 50),
                                                  20, Window.ClientBounds.Width, Window.ClientBounds.Height);
            playerManager = new PlayerManager(spriteSheet, new Rectangle(0, 150, 50, 50), 3,
                                              new Rectangle(0, 0, Window.ClientBounds.Width, Window.ClientBounds.Height));
            enemyManager = new EnemyManager(spriteSheet, new Rectangle(0, 200, 50, 50), 6,
                                            playerManager, new Rectangle(0, 0, Window.ClientBounds.Width, Window.ClientBounds.Height));
            explosionManager = new ExplosionManager(spriteSheet, new Rectangle(0, 100, 50, 50),
                                                    3, new Rectangle(0, 450, 2, 2));
            collisionManager = new CollisionManager(asteroidManager, playerManager,
                                                    enemyManager, explosionManager);
            SoundManager.Initialize(Content);
            pericles14 = Content.Load <SpriteFont>(@"Fonts\Pericles14");
        }
Ejemplo n.º 17
0
    void Start()
    {
        win               = false;
        victory           = false;
        gameOver          = false;
        restart           = false;
        respawn           = false;
        fullrestart       = false;
        restartText.text  = "";
        gameOverText.text = "";
        score             = 0;
        lives             = 3;
        UpdateScore();
        UpdateLives();
        StartCoroutine(SpawnWaves());

        GameObject backgroundObject = GameObject.FindWithTag("Background");

        if (backgroundObject != null)
        {
            background = backgroundObject.GetComponent <BG_Scroller>();
        }

        GameObject starsObject = GameObject.FindWithTag("StarField");

        if (starsObject != null)
        {
            stars = starsObject.GetComponent <StarField>();
        }

        GameObject farstarsObject = GameObject.FindWithTag("FarStarField");

        if (farstarsObject != null)
        {
            farstars = farstarsObject.GetComponent <FarStarField>();
        }
    }
Ejemplo n.º 18
0
 protected void InitStarsMesh()
 {
     if (this.Stars == null)
     {
         this.Stars = new StarField();
     }
     this.starsMesh = this.Stars.InitializeStarfield();
     this.starsMesh.hideFlags = HideFlags.DontSave;
 }
 void Start()
 {
     Place ();
     starField = FindObjectOfType<StarField> ();
     UpdateGlobals ();
 }
Ejemplo n.º 20
0
        static void Main(string[] args)
        {
            if (GlobalVariables.ParseCommands(args) == false)
            {
                return;
            }

            if (GlobalVariables.BuildStarDatabase == true)
            {
                StarCatalog.BuildPPMCatalog(GlobalVariables.PPMCatalogSource);
                StarCatalog.BuildVSXCatalog(GlobalVariables.VSXCatalogSource);
                return;
            }

            using (var db = new StarCatalogContext())
            {
                if (GlobalVariables.LoadFrames == true)
                {
                    FrameManager.GetFrameInfo(GlobalVariables.InputDirectory, db);
                    return;
                }

                if (GlobalVariables.LoadResults == true)
                {
                    string chartname =
                        new ChartManager().LoadChart(GlobalVariables.InputDirectory, db);

                    new SampleManager().LoadStarField(GlobalVariables.InputDirectory, chartname, db);

                    return;
                }

                var field = StarField.LoadStarField(GlobalVariables.Chart, db);

                // Apply quality filter.
                field.Stars = field.Stars.OrderByDescending(x => x.AvgInstrumentalMag).Where(x => x.MinSNR > GlobalVariables.MinSNR && x.Flags < 16).ToList();

                field.DoPhotometricReduction();

                // Output results
                StringBuilder candidates = new StringBuilder();
                candidates.AppendLine(String.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12}", "Star", "RMag", "C-VMag", "C-VMag-E", "VMag", "C-ColorIndex", "ColorIndex", "Label", "Known Variable", "Uncertainty", "Score", "Flags", "URL"));

                StringBuilder timeseries = new StringBuilder();
                timeseries.AppendLine(String.Format("{0},{1},{2},{3},{4},{5}", "Score", "Star", "ObsDate", "VMag", "TFAMag", "Uncertainty"));

                StringBuilder aavsolog = new StringBuilder();

                aavsolog.AppendLine("#TYPE=EXTENDED");
                aavsolog.AppendLine("#OBSCODE=" + GlobalVariables.ObsCode);
                aavsolog.AppendLine("#SOFTWARE=VSA V" + Assembly.GetEntryAssembly().GetName().Version);
                aavsolog.AppendLine("#DELIM=,");
                aavsolog.AppendLine("#DATE=JD");
                aavsolog.AppendLine("#OBSTYPE=DSLR");
                aavsolog.AppendLine("#NAME,DATE,MAG,MERR,FILT,TRANS,MTYPE,CNAME,CMAG,KNAME,KMAG,AMASS,GROUP,CHART,NOTES");

                Console.WriteLine("Outputing results.");
                foreach (Star star in field.Stars)
                {
                    D_VSXEntry entry = StarCatalog.GetVSXEntry((double)star.RA, (double)star.DEC);

                    string variabletype = "";
                    if (entry != null && entry.VFlag < 2)
                    {
                        Console.WriteLine("Found variable star: " + entry.Name);
                        variabletype = "http://www.aavso.org/vsx/index.php?view=detail.top&oid=" + entry.OID.Trim();

                        string ensemble = "Custom ensemble of " + (star.Comparables.Count() - 1).ToString() + " due to low chart count.";
                        if (field.ChartComparables.Count > 1)
                        {
                            ensemble = field.ChartComparables[1].Label;
                            for (int f = 2; f < field.ChartComparables.Count; f++)
                            {
                                ensemble += "/" + field.ChartComparables[f].Label;
                            }
                        }

                        // Query to get auid.
                        string auid = StarCatalog.GetAUID(entry);

                        if (auid != null)
                        {
                            aavsolog.AppendLine(String.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14}",
                                                              auid,
                                                              Math.Round(field.Frames[0].Time, 4),
                                                              Math.Round(star.VMag, 3).ToString().PadLeft(7, ' '),
                                                              Math.Round(star.e_VMag, 3),
                                                              "V",
                                                              "YES",
                                                              "STD",
                                                              "ENSEMBLE",
                                                              "na",
                                                              field.ChartComparables[0].Label.Replace("[CHECK]", "").Trim(),
                                                              Math.Round(field.ChartComparables[0].VMag, 3).ToString().PadLeft(7, ' '),
                                                              "na",
                                                              "na",
                                                              field.Frames[0].Chart,
                                                              String.Format("MAG=avg {0} img|MERR=StdDe|ENSEMBLE={1}", star.Samples.Count(), ensemble)));
                        }
                    }

                    string label = "";
                    if (field.ChartComparables.Contains(star))
                    {
                        label = star.Label;
                    }

                    candidates.Append(String.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11}",
                                                    star.Name,
                                                    star.CatalogEntry.Rmag,
                                                    star.VMag,
                                                    star.e_VMag,
                                                    star.CatalogEntry.Vmag,
                                                    star.CalculatedColorIndex,
                                                    star.ColorIndex,
                                                    label,
                                                    variabletype,
                                                    star.EnsembleError,
                                                    star.Score,
                                                    Convert.ToString(star.Flags, 2).PadLeft(5, '0')));

                    // Output the calculated differential magnitude with the comparable star.
                    int i = 0;
                    foreach (SampleData sample in star.Samples)
                    {
                        timeseries.AppendLine(String.Format("{0},{1},{2},{3},{4},{5}", star.Score, star.Name, field.Frames[i].Time, sample.ApparentVMag - star.VMag, sample.TFAVMag - star.VMag, sample.Uncertainty));
                        i++;
                    }
                    candidates.Append(String.Format(",http://simbad.u-strasbg.fr/simbad/sim-coo?Coord={0}%20{1}%20{2}%20{3}%20{4}%20{5}&Radius=2&Radius.unit=arcsec&",
                                                    star.Name.Substring(0, 2), star.Name.Substring(2, 2), star.Name.Substring(4, 4), star.Name.Substring(8, 3), star.Name.Substring(11, 2), star.Name.Substring(13, 2)));
                    candidates.AppendLine();
                }
                File.WriteAllText(GlobalVariables.GetOutput(".\\AAVSO\\" + field.Frames[0].Chart + ".txt"), aavsolog.ToString());
                File.WriteAllText(GlobalVariables.GetOutput(".\\candidates_out.csv"), candidates.ToString());
                File.WriteAllText(GlobalVariables.GetOutput(".\\timeseries_out.csv"), timeseries.ToString());
            }
        }
Ejemplo n.º 21
0
        internal State UpdateLoadGameMenu(LoadButtonFactory loadButtons, SaveAndLoadDbManager databaseManager, UsersRepository usersRepository, InputHandler inputHandler, IRepository <IPlayer> players, IRepository <IEnemy> enemies, IRepository <IAsteroid> asteroids, StarField starfield, GameTime gameTime)
        {
            int        gameId        = 0;
            MouseState mouseLoadGame = Mouse.GetState();

            loadButtons.CreateButtons(databaseManager.GetUserGamesId(usersRepository.GetAll()));
            gameId = loadButtons.ReturnGameId(mouseLoadGame);
            starfield.Update(gameTime);
            return(databaseManager.LoadGame(players, enemies, asteroids,
                                            inputHandler, usersRepository, gameId));
        }
Ejemplo n.º 22
0
        internal State UpdateSingleLoginMenu(FormFactory singleLoginForms, ButtonFactory singleLoginButtons,
                                             State gameState, UsersRepository usersRepository, StarField starfield, GameTime gameTime)
        {
            MouseState mouseLogin = Mouse.GetState();

            singleLoginForms.UpdateForms(mouseLogin);
            singleLoginButtons.CreateButton(new Vector2(900, 426), State.SingleLoadGameMenu, "LogIn");
            gameState = singleLoginButtons.ReturnButtonState(mouseLogin, gameState);
            if (gameState == State.SingleLoadGameMenu)
            {
                usersRepository.AddUser(singleLoginForms);
            }

            starfield.Update(gameTime);

            return(gameState);
        }
Ejemplo n.º 23
0
        internal State UpdateRegisterState(UserDbManager userDbManager, FormFactory mainMenuForms, StarField starfield, GameTime gameTime)
        {
            MouseState mouseRegister = Mouse.GetState();

            userDbManager.RegisterUser(mainMenuForms.GetAllForms());
            Thread.Sleep(50);
            starfield.Update(gameTime);
            mainMenuForms.EraseForms();
            return(State.Menu);
        }
Ejemplo n.º 24
0
    // Use this for initialization
    void Awake()
    {
        followTarget = true;
        //createCamera ();
        //createTextCanvas ();

        starField = gameObject.AddComponent<StarField>();
        currentPos = Camera.main.transform.position;
        oldPos = currentPos;
    }