コード例 #1
0
ファイル: Controller.cs プロジェクト: yoshapihoff/Invaders
        private void SetColorByType()
        {
            Color color = InvadersController.GetColorByInvaderType(Type);

            Renderer.color              = color;
            DestroyEffect.startColor    = color;
            WaveDamageEffect.startColor = color;
        }
コード例 #2
0
ファイル: Controller.cs プロジェクト: yoshapihoff/Invaders
        private IEnumerator Shoot()
        {
            yield return(new WaitForSeconds(ShootInterval * Random.value));

            var shoot = Instantiate <GameObject>(ShootPrefab);

            shoot.transform.position = ThisTransform.position;
            Vector2 subVector = shoot.transform.position - PlayerTr.position;
            float   angle     = Mathf.Atan2(subVector.y, subVector.x) * Mathf.Rad2Deg;

            shoot.transform.rotation = Quaternion.Euler(0f, 0f, angle);
            shoot.GetComponentInChildren <SpriteRenderer>().color         = InvadersController.GetColorByInvaderType(Type);
            shoot.GetComponentInChildren <TrailRenderer>().material.color = InvadersController.GetColorByInvaderType(Type);
        }
コード例 #3
0
        public override void Install()
        {
            // create player
            var player = new Player()
            {
                Index  = 1,
                Name   = $"Player {((InvadersWorld)World).CurrentPlayer}",
                Color  = ConsoleColor.White,
                Lives  = 3,
                Score  = 0,
                KeyMap = new KeyboardKeyMap[]
                {
                    new KeyboardKeyMap(ConsoleKey.LeftArrow, Command.Left),
                    new KeyboardKeyMap(ConsoleKey.RightArrow, Command.Right),
                    new KeyboardKeyMap(ConsoleKey.Spacebar, Command.Fire)
                }
            };

            World.Players.Add(player);

            // create arena
            Arena = new Arena(Config.DataFolder, new Point(0, 0), new Size(World.Size.Width, World.Size.Height - 2));
            World.Elements.Add(Arena);

            // create defender ship
            defender = new DefenderShip(player, new Point(10, 35), Arena.Size);
            World.Elements.Add(defender);

            // create barriers
            for (int b = 0; b < 4; b++)
            {
                World.Elements.Add(new Barrier(new Point(9 + b * 23, 32)));
            }

            // create invaders ships
            var invaders = new List <InvaderShip>();

            //
            for (int row = 0; row < 1; row++)
            {
                for (int col = 0; col < 5; col++)
                {
                    invaders.Add(new InvaderShipSquid(new Point(col * 14 + 1, 3 + row * 5), Arena.Size));
                }
            }
            //
            for (int row = 1; row < 2; row++)
            {
                for (int col = 0; col < 6; col++)
                {
                    invaders.Add(new InvaderShipCrab(new Point(col * 12, 3 + row * 5), Arena.Size));
                }
            }
            //
            for (int row = 2; row < 4; row++)
            {
                for (int col = 0; col < 7; col++)
                {
                    invaders.Add(new InvaderShipOctopus(new Point(col * 10 + 1, 3 + row * 5 + 1), Arena.Size));
                }
            }
            World.Elements.AddRange(invaders);
            //
            World.Elements.Add(new InvaderShipUFO(new Point(-16, 0), Arena.Size));

            // create invaders fleet controller
            fleet = new InvadersController(invaders, 800 - Index * 250, Arena.Size);

            // lives
            World.Elements.Add(new LivesBox(player, new Point(2, World.Size.Height - 2)));

            // score
            World.Elements.Add(new ScoreBox(player, new Point(83, World.Size.Height - 2), 20));

            // level
            World.Elements.Add(new LevelBox(Index, new Point(47, World.Size.Height - 2), 20));
        }
コード例 #4
0
 // Use this for initialization
 void Start()
 {
     spriteRenderer     = GetComponent <SpriteRenderer> ();
     MessageController  = FindObjectOfType(typeof(MessageController)) as MessageController;
     invadersController = FindObjectOfType(typeof(InvadersController)) as InvadersController;
 }
コード例 #5
0
ファイル: Controller.cs プロジェクト: yoshapihoff/Invaders
 private void SetRandomType()
 {
     Type = InvadersController.GetRandomType();
 }