Exemple #1
0
 protected ALevelRLR(LevelManagerRLR manager)
 {
     Manager         = manager;
     DroneFactory    = Manager.DroneFactory;
     MapGeneratorRlr = Manager.MapGenerator;
     RunlingChaser   = Manager.RunlingChaser;
 }
Exemple #2
0
        private IEnumerator GenerateGreenDrones(float delay, int initialDroneCount, float speed, float size,
                                                DroneColor color, float reduceDelay, float minDelay, int droneIncrease, int maxDrones)
        {
            var droneCount = 0;

            while (true)
            {
                DroneFactory.SetPattern(new Pat360Drones(initialDroneCount + droneCount, delay, false, true, -90, 180, changeDirection: true, patternRepeats: 2),
                                        new DefaultDrone(speed, size, color), posDelegate: delegate {
                    return(new Vector3(0, 0.4f, BoundariesSLA.FlyingSla.BottomBoundary + (0.5f + 1.5f / 2)));
                });
                yield return(new WaitForSeconds(2 * delay));

                DroneFactory.SetPattern(new Pat360Drones(initialDroneCount + droneCount, delay, false, false, -90, 180, changeDirection: true, patternRepeats: 2),
                                        new DefaultDrone(speed, size, color), posDelegate: delegate {
                    return(new Vector3(0, 0.4f, BoundariesSLA.FlyingSla.TopBoundary - (0.5f + 1.5f / 2)));
                });

                yield return(new WaitForSeconds(2 * delay));

                if (delay > minDelay)
                {
                    delay -= delay * reduceDelay;
                }
                if (droneCount < maxDrones - initialDroneCount)
                {
                    droneCount += droneIncrease;
                }
            }
        }
Exemple #3
0
 public override void CreateDrones()
 {
     // Spawn Bouncing Drones
     DroneFactory.SpawnAndAddDrones(new RandomDrone(13, 1f, DroneColor.Blue), 7, 6, BoundariesSLA.BouncingSla);
     DroneFactory.SpawnAndAddDrones(new RandomDrone(7, 1.15f, DroneColor.Magenta), 7, 7, BoundariesSLA.BouncingSla);
     DroneFactory.SpawnAndAddDrones(new RandomDrone(4, 1.5f, DroneColor.Red), 7, 9, BoundariesSLA.BouncingSla);
 }
Exemple #4
0
        private void AdjustVisuals(GameObject drone, DroneFactory factory)
        {
            var model = drone.transform.Find("Model");

            foreach (Transform child in model)
            {
                if (child.name == "Top")
                {
                    continue;
                }

                if (child.name == "Sphere")
                {
                    foreach (Transform ch in child)
                    {
                        ch.GetComponent <Renderer>().material = factory.SetDroneMaterial[Color];
                    }
                }
                child.GetComponent <Renderer>().material = factory.SetDroneMaterial[Color];
            }

            if (DroneType == DroneType.BouncingDrone || DroneType == DroneType.FlyingBouncingDrone ||
                DroneType == DroneType.FlyingOneWayDrone)
            {
                if (Size > 1)
                {
                    model.transform.localPosition += new Vector3(0, (Size - 1) / 7, 0);
                }
            }
        }
Exemple #5
0
        public void CreateDroneTests()
        {
            var droneFactory = new DroneFactory(_mockDroneCommands.Object);
            var drone        = droneFactory.CreateDrone;

            Assert.AreEqual(typeof(Drone), drone.GetType());
        }
Exemple #6
0
        public override GameObject CreateDroneInstance(DroneFactory factory, bool isAdded, Area area, StartPositionDelegate posDelegate = null)
        {
            var direction = Random.Range(0, 4);
            var newDrone  = Object.Instantiate(factory.SetDroneType[DroneType], DroneStartPosition.GetRandomPosition(Size, _area), Quaternion.Euler(0, -45 + 90 * direction, 0), factory.transform);

            return(newDrone);
        }
Exemple #7
0
            public void BeeFactory()
            {
                BeeFactory beeFactory = null;

                Console.WriteLine("Choose your bee from 1,2 or 3: ");
                string bee = Console.ReadLine();

                switch (bee)
                {
                case "1":
                    beeFactory = new QueenFactory(150, false);
                    break;

                case "2":
                    beeFactory = new DroneFactory(100, false);
                    break;

                case "3":
                    beeFactory = new WorkerFactory(80, false);
                    break;

                default:
                    break;
                }

                IBee bee1 = beeFactory.GetBee();
            }
Exemple #8
0
 private void Start()
 {
     gun          = GetComponent <Gun>();
     health       = GetComponent <Health>();
     droneFactory = GetComponent <DroneFactory>();
     photonView.Owner.TagObject = this;
 }
Exemple #9
0
    void Start()
    {
        // 距離補正用に予め逆数を計算しておく
        _invLeaderDistanceMax = 1f / (_leaderDistanceMax - 0.1f);

        _droneFactory = FindObjectOfType <DroneFactory>();
    }
Exemple #10
0
        private IEnumerator GenerateDrones(DroneFactory factory, IDrone drone, StartPositionDelegate posDelegate, GameObject parentDrone = null)
        {
            var addPattern = parentDrone != null;

            while (true)
            {
                if (parentDrone == null && addPattern)
                {
                    yield break;
                }

                if (parentDrone != null)
                {
                    factory.SpawnDrones(drone, DroneCount, posDelegate: delegate
                    {
                        return(parentDrone.transform.position);
                    });
                }
                else
                {
                    factory.SpawnDrones(drone, DroneCount, posDelegate: posDelegate);
                }
                yield return(new WaitForSeconds(Delay));
            }
        }
Exemple #11
0
        public override void CreateDrones()
        {
            // Spawn Bouncing Drones
            DroneFactory.SpawnAndAddDrones(new RandomDrone(7f, 1.5f, DroneColor.Red), 15, 7f, BoundariesSLA.BouncingSla);

            // Spawn Green Drones
            DroneFactory.StartCoroutine(GenerateLevel12GreenDrones(5f, 9f, 1.2f, DroneColor.Cyan, 32, 0.02f, 2.5f, 1, 48));
        }
Exemple #12
0
        public override void CreateDrones()
        {
            // Spawn Bouncing Drones
            DroneFactory.SpawnAndAddDrones(new RandomDrone(7, 1.5f, DroneColor.Red), 15, 5, BoundariesSLA.BouncingSla);

            DroneFactory.SpawnDrones(new MineDrone(5, 3, DroneColor.Red, new Pat360Drones(56, 4, true, false, 0, 720, changeDirection: true),
                                                   new DefaultDrone(8, 1.3f, DroneColor.Cyan)), area: BoundariesSLA.FlyingSla);
        }
Exemple #13
0
        public override void CreateDrones()
        {
            // Spawn blue drones
            DroneFactory.SetPattern(new PatContinuousSpawn(0.15f, 2),
                                    new RandomDrone(10, 1, DroneColor.Blue, restrictedZone: 0, droneType: DroneType.FlyingOneWayDrone));

            // Spawn red drones
            DroneFactory.SpawnDrones(new RedDrone(15, 1, DroneColor.Red, 3, LaneArea[0]), 100);
        }
Exemple #14
0
        public override void CreateDrones()
        {
            // Spawn Bouncing Drones
            DroneFactory.SpawnAndAddDrones(new RandomDrone(7, 1.5f, DroneColor.Red), 15, 5, BoundariesSLA.BouncingSla);

            // Spawn Mine Drones
            MineVariations.Synced360Mines(DroneFactory, 3, new MineDrone(5, 3, DroneColor.Red), BoundariesSLA.FlyingSla,
                                          new DefaultDrone(10, 1, DroneColor.Cyan), 32, 8, 0.03f);
        }
Exemple #15
0
        public override void CreateDrones()
        {
            // Spawn Bouncing Drones
            DroneFactory.SpawnAndAddDrones(new RandomDrone(7, 1.15f, DroneColor.Blue), 10, 4, BoundariesSLA.BouncingSla);

            // Spawn Grid Drones
            DroneFactory.SetPattern(new PatGridDrones(10, 0.05f, true), new DefaultDrone(7f, 1f, DroneColor.Magenta),
                                    BoundariesSLA.FlyingSla);
        }
Exemple #16
0
        public override void CreateDrones()
        {
            // Spawn Bouncing Drones
            DroneFactory.SpawnAndAddDrones(new RandomDrone(6, 1f, DroneColor.Blue), 12, 5, BoundariesSLA.BouncingSla);
            DroneFactory.SpawnAndAddDrones(new RandomDrone(6, 1.5f, DroneColor.Red), 6, 9, BoundariesSLA.BouncingSla);

            // Spawn Green Drones
            DroneFactory.StartCoroutine(GenerateLevel4GreenDrones(4, 16, 8, 1.5f, DroneColor.DarkGreen, 0.05f, 1, 1, 16));
        }
Exemple #17
0
        public override void CreateDrones()
        {
            // Spawn Bouncing Drones
            DroneFactory.SpawnAndAddDrones(new RandomDrone(7, 1f, DroneColor.Blue), 13, 8, BoundariesSLA.BouncingSla);

            // Spawn Green Drones
            DroneFactory.StartCoroutine(GenerateLevel6GreenDrones(4f, 24, 7f, 1.5f, DroneColor.DarkGreen, 0.01f, 1.5f, 1, 40, DroneStartPosition.GetRandomBottomSector));
            DroneFactory.StartCoroutine(GenerateLevel6GreenDrones(5f, 24, 7f, 1.5f, DroneColor.DarkGreen, 0.02f, 1.5f, 1, 40, DroneStartPosition.GetRandomTopSector));
        }
Exemple #18
0
        public override void CreateDrones()
        {
            // Spawn Bouncing Drones
            DroneFactory.SpawnAndAddDrones(new RandomDrone(7, 1f, DroneColor.Blue), 10, 6, BoundariesSLA.BouncingSla);
            DroneFactory.SpawnAndAddDrones(new RandomDrone(7, 1.5f, DroneColor.Red), 6, 10, BoundariesSLA.BouncingSla);

            // Spawn Green Drones
            DroneFactory.StartCoroutine(GenerateGreenDrones(2.5f, 12, 7, 1.5f, DroneColor.DarkGreen, 0.02f, 1.5f, 1, 24));
        }
Exemple #19
0
        public override void CreateDrones()
        {
            // Spawn red drones
            DroneFactory.SpawnDrones(new RedDrone(17, 2, DroneColor.Red, 3, LaneArea[0]), 60);

            // Spawn yellow drones
            DroneFactory.SetPattern(new Pat360Drones(32, 3, true, startRotation: -90),
                                    new DefaultDrone(16, 2, DroneColor.Golden, movementType: new SinusoidalMovement(40, 4)));
        }
Exemple #20
0
        public void SetPattern(DroneFactory factory, IDrone drone, Area area, StartPositionDelegate posDelegate = null)
        {
            if (posDelegate == null)
            {
                posDelegate = delegate { return(new Vector3(0, 0.4f, 0)); }
            }
            ;

            factory.StartCoroutine(GenerateDrones(factory, drone, posDelegate));
        }
Exemple #21
0
 public override void CreateDrones()
 {
     // Spawn bouncing drones
     for (var i = 1; i < LaneArea.Length - 2; i++)
     {
         DroneFactory.SpawnDrones(new RandomDrone(3f, 1f, DroneColor.Grey), (int)(15 - i * 0.6f), area: LaneArea[i]);
     }
     DroneFactory.SpawnDrones(new RedDrone(500, 1, DroneColor.Red, 1000, LaneArea[19], 5, true, DroneType.BouncingDrone), 5);
     DroneFactory.SpawnDrones(new RedDrone(500, 1, DroneColor.Red, 1000, LaneArea[20], 5, true, DroneType.BouncingDrone), 4);
 }
Exemple #22
0
        public override void CreateDrones()
        {
            // Spawn Bouncing Drones
            DroneFactory.SpawnAndAddDrones(new RandomDrone(7, 1.5f, DroneColor.Red), 12, 7, BoundariesSLA.BouncingSla);

            // Spawn Green Drones
            DroneFactory.StartCoroutine(GenerateLevel9GreenDrones(4, 16, 8f, 1.5f, DroneColor.DarkGreen, 0.05f, 1f, 1, 32));

            // Spawn Chaser Drone
            Manager.SpawnChaser(new DefaultDrone(6, 1.1f, DroneColor.Golden));
        }
        public override GameObject CreateDroneInstance(DroneFactory factory, bool isAdded, Area area, StartPositionDelegate posDelegate = null)
        {
            var drone = Object.Instantiate(factory.SetDroneType[DroneType], _position, Quaternion.identity, factory.transform);
            var data  = drone.AddComponent <DroneStateManager>();

            data.Initialize(_state.Id, factory);
            if (factory.Drones.ContainsKey(_state.Id))
            {
                Debug.LogError("ID " + _state.Id + " already taken!");
            }
            factory.Drones[_state.Id] = data;
            return(drone);
        }
Exemple #24
0
        public override void CreateDrones()
        {
            // Spawn bouncing drones
            for (var i = 1; i < LaneArea.Length - 2; i++)
            {
                DroneFactory.SpawnDrones(new RandomDrone(5, 2f, DroneColor.Grey), (int)(12 - i * 0.4f), area: LaneArea[i]);
            }
            DroneFactory.SpawnDrones(new RandomDrone(5, 2f, DroneColor.Grey), 4, area: LaneArea[19]);
            DroneFactory.SpawnDrones(new RandomDrone(5, 2f, DroneColor.Grey), 3, area: LaneArea[20]);

            // Spawn blue drones
            DroneFactory.SetPattern(new Pat360Drones(32, 10, true, true, 270), new DefaultDrone(8, 2, DroneColor.Blue));
        }
Exemple #25
0
        public override void CreateDrones()
        {
            // Spawn bouncing drones
            for (var i = 1; i < LaneArea.Length - 2; i++)
            {
                DroneFactory.SpawnDrones(new RandomDrone(6, 2, DroneColor.Grey), (int)(11 - i * 0.4f), area: LaneArea[i]);
            }
            DroneFactory.SpawnDrones(new RandomDrone(6, 2, DroneColor.Grey), 4, area: LaneArea[19]);
            DroneFactory.SpawnDrones(new RandomDrone(6, 2, DroneColor.Grey), 3, area: LaneArea[20]);

            // Spawn red drones
            DroneFactory.SpawnDrones(new RedDrone(17, 2, DroneColor.Red, 3, LaneArea[0]), 60);
        }
        public override void CreateDrones()
        {
            // Spawn bouncing drones
            for (var i = 1; i < LaneArea.Length - 2; i++)
            {
                DroneFactory.SpawnDrones(new RandomDrone(6, 2, DroneColor.Grey), (int)(11 - i * 0.4f), area: LaneArea[i]);
            }
            DroneFactory.SpawnDrones(new RandomDrone(6, 2, DroneColor.Grey), 4, area: LaneArea[19]);
            DroneFactory.SpawnDrones(new RandomDrone(6, 2, DroneColor.Grey), 3, area: LaneArea[20]);

            // Spawn yellow drones
            DroneFactory.SetPattern(new PatContinuousSpawn(0.1f, 1),
                                    new RandomDrone(14, 2, DroneColor.Golden, DroneType.FlyingOneWayDrone, 0, movementType: new SinusoidalMovement(40, 5f)));
        }
Exemple #27
0
        public override void CreateDrones()
        {
            // Spawn bouncing drones
            for (var i = 1; i < LaneArea.Length - 2; i++)
            {
                DroneFactory.SpawnDrones(new RandomDrone(6, 2f, DroneColor.Grey), (int)(11 - i * 0.4f), area: LaneArea[i]);
            }
            DroneFactory.SpawnDrones(new RandomDrone(6, 2f, DroneColor.Grey), 4, area: LaneArea[19]);
            DroneFactory.SpawnDrones(new RandomDrone(6, 2f, DroneColor.Grey), 3, area: LaneArea[20]);

            // Spawn yellow drones
            DroneFactory.SetPattern(new Pat360Drones(32, repeat: true, pulseDelay: 5),
                                    new DefaultDrone(12, 2, DroneColor.Golden, movementType: new CurvedMovement(10)));
        }
        public override void CreateDrones()
        {
            // Spawn bouncing drones
            for (var i = 1; i < LaneArea.Length - 2; i++)
            {
                DroneFactory.SpawnDrones(new RandomDrone(5, 1, DroneColor.Grey), (int)(11 - i * 0.4f), area: LaneArea[i]);
            }

            // Spawn blue drones
            DroneFactory.SetPattern(new PatContinuousSpawn(0.15f, 2),
                                    new RandomDrone(10, 1, DroneColor.Blue, restrictedZone: 0, droneType: DroneType.FlyingOneWayDrone));

            // Middle reds
            DroneFactory.SpawnDrones(new RedDrone(500, 1, DroneColor.Red, 1000, LaneArea[19], 5, true, DroneType.BouncingDrone), 5);
            DroneFactory.SpawnDrones(new RedDrone(500, 1, DroneColor.Red, 1000, LaneArea[20], 5, true, DroneType.BouncingDrone), 4);
        }
Exemple #29
0
        private IEnumerator GenerateLevel4GreenDrones(float delay, int initialDroneCount, float speed, float size, DroneColor color, float reduceDelay, float minDelay, int droneIncrease, int maxDrones)
        {
            var droneCount = 0;
            while (true)
            {
                DroneFactory.SetPattern(new Pat360Drones(initialDroneCount + 2 * droneCount),
                    new DefaultDrone(speed, size, color), BoundariesSLA.FlyingSla, DroneStartPosition.GetRandomBottomSector);
                yield return new WaitForSeconds(delay);

                DroneFactory.SetPattern(new Pat360Drones(initialDroneCount + 2 * droneCount),
                    new DefaultDrone(speed, size, color), BoundariesSLA.FlyingSla, DroneStartPosition.GetRandomTopSector);
                yield return new WaitForSeconds(delay);
                if (delay > minDelay) { delay -= delay*reduceDelay; }
                if (droneCount < maxDrones) { droneCount += droneIncrease; }
            }
        }
Exemple #30
0
        public override GameObject CreateDroneInstance(DroneFactory factory, bool isAdded, Area area, StartPositionDelegate posDelegate = null)
        {
            Vector3 pos;

            if (posDelegate != null)
            {
                pos = posDelegate(Size, area);
            }
            else
            {
                pos = isAdded
                    ? DroneStartPosition.GetRandomCorner(Size, area)
                    : DroneStartPosition.GetRandomPosition(Size, area);
            }

            var newDrone = Object.Instantiate(factory.SetDroneType[DroneType], pos,
                                              Quaternion.Euler(0, _startDirection + DroneDirection.RandomDirection(_restrictedZone, _coneRange), 0), factory.transform);

            return(newDrone);
        }