Ejemplo n.º 1
0
        public ITankBuilder SetTurret(int id = 0)
        {
            if (id < 0 || id >= TURRET_COUNT)
            {
                throw new IndexOutOfRangeException();
            }

            if (tank.FindChild <TankBarrel>() != null)
            {
                throw new Exception("Tank already has a barrel");
            }

            string     path   = string.Format($"{spritesPath}turret_{id}.png");
            TankBarrel turret = new TankBarrel(
                tank,
                Image.FromFile(path),
                tank.transform.position,
                new Vector2(64f, 8f));

            turret.SetParent(tank);
            turret.transform.SetPosition(new Vector2(0f, -20f));
            return(this);
        }
Ejemplo n.º 2
0
        public override TankBuilder SetTurret()
        {
            if (barrelId < 0 || barrelId >= TURRET_COUNT)
            {
                throw new IndexOutOfRangeException();
            }

            if (tank.FindChild <TankBarrel>() != null)
            {
                throw new Exception("Tank already has a barrel");
            }

            Console.WriteLine("BUILDER TankBuilder: SetTurret()");
            string     path   = string.Format($"{spritesPath}turret_{barrelId}.png");
            TankBarrel turret = new TankBarrel(
                tank,
                Image.FromFile(path),
                tank.transform.position,
                new Vector2(64f, 8f));

            turret.SetParent(tank);
            turret.transform.SetPosition(new Vector2(0f, -20f));
            return(this);
        }