Example #1
0
    // Use this for initialization
    void Start()
    {
        currentWave     = deBugWaveNumber;
        currentWaveType = WaveType.INVALID;
        hudManager      = GlobalControl.Instance.pHUD.GetComponent <HUDManager>();

        enemiesSpawnManager = enemiesSpawn.GetComponent <EnemiesSpawnManager>();
        enemiesSpawnManager.Initialize(waveInfo);
        enemiesSpawnManager.InitWaveNumber(currentWave);
    }
        //----------------------//------------------------//

        public override void LoadContent()
        {
            base.LoadContent();

            var viewportSize = SceneManager.Instance.VirtualSize;

            // Camera init
            _camera = new Camera2D(SceneManager.Instance.ViewportAdapter);

            // Player init
            _player = new Player(ImageManager.loadCharacter("Player"));

            // Projectiles init
            _projectilesTextures = new Dictionary <string, Texture2D>()
            {
                { "snowball", ImageManager.loadProjectile("Snowball") },
            };
            _projectiles = new List <GameProjectile>();
            _projectilesColliderTexture = new Texture2D(SceneManager.Instance.GraphicsDevice, 1, 1);
            _projectilesColliderTexture.SetData(new Color[] { Color.Orange });

            // Enemies init
            _enemies = new List <EnemyBase>();
            var ghostTexture = ImageManager.loadCharacter("Ghost");
            var birdTexture  = ImageManager.loadCharacter("Bird");

            _ghost = new Ghost(ghostTexture);
            _bird  = new Bird(birdTexture);

            // Background init
            _backgroundTexture = ImageManager.loadScene("sceneMap", "Background");

            // Hud init
            _gameHud = new GameHud();

            // Particles init
            var particleTexture = new Texture2D(SceneManager.Instance.GraphicsDevice, 1, 1);

            particleTexture.SetData(new[] { Color.White });
            ParticlesInit(new TextureRegion2D(particleTexture));

            _blizzardTriggerPosition = new Vector2(viewportSize.X / 2 - 50.0f, -50.0f);

            // Spawn Manager init
            _enemiesSpawnManager = new EnemiesSpawnManager();
            _enemiesSpawnManager.Start();

            // Load the map
            LoadMap(MapManager.FirstMap);

            // Crystal init
            var mapSize         = new Vector2(MapManager.Instance.MapWidth, MapManager.Instance.MapHeight);
            var crystalPosition = new Vector2(mapSize.X / 2 - 48, 96);

            _crystal = new GameCrystal(crystalPosition, ImageManager.loadCharacter("Crystal"));

            // Wave Clear init
            var textWidth = SceneManager.Instance.GameFontBig.MeasureString(WaveClearText).Width;
            var x         = (viewportSize.X - textWidth) / 2;

            _waveClearInitialPosition = new Vector2(x, viewportSize.Y / 2 - 70);
            _waveClearPosition        = _waveClearInitialPosition;

            // SE init
            var ambienceSe = SoundManager.LoadSe("Ambience");

            _ambienceSei          = ambienceSe.CreateInstance();
            _ambienceSei.IsLooped = true;
            _ambienceSei.Play();

            SoundManager.StartBgm(SoundManager.BGMType.Default);
        }