Example #1
0
 public void Init(ISpawnCommand command)
 {
     foreach (var spawner in _spawners)
     {
         spawner.Init(command);
     }
 }
Example #2
0
        private void ExecuteNormalSpawn(SpawnAbility spawnAbility, SpawnAbilityEventInfo spwInf)
        {
            spawnAbility.SetRequireGameData(spwInf);
            StartPerform(spawnAbility);
            if (spawnAbility.CanIExecute() == false)
            {
                if (debugOn)
                {
                    Debug.Log("SPAWN ABILITY NO SE PUEDE EJECUTAR");
                }
                return;
            }

            GameObject    goKimboko    = spawnManagerUI.GetKimbokoPrefab();
            ISpawnCommand spawnCommand = new ISpawnCommand(spwInf, goKimboko, game);

            Invoker.AddNewCommand(spawnCommand);
            Invoker.ExecuteCommands();

            Vector3 spawnPosition = spwInf.spawnTile.GetRealWorldLocation();
            //Motion normalSpawnMotion = spawnManagerUI.NormalSpawn(spawnPosition, goKimboko);
            //InvokerMotion.AddNewMotion(normalSpawnMotion);
            //InvokerMotion.StartExecution(spawnManagerUI);


            Animotion normalSpawnMotion = spawnManagerUI.NormalSpawnAnimotion(spawnPosition, goKimboko);

            InvokerAnimotion.AddNewMotion(normalSpawnMotion);
            InvokerAnimotion.StartExecution(spawnManagerUI);


            Perform(spawnAbility);
            EndPerform(spawnAbility);
            spawnIndexID++;
        }
Example #3
0
        public SpawnEnemyCommandsFactory(Vector3[] targets, GameObject rocketPrefab, GameObject planePrefab, GameObject ufoPrefab)
        {
            var rocketPool = new GameObjectPool(rocketPrefab, 32);
            var planePool  = new GameObjectPool(planePrefab, 4);
            var ufoPool    = new GameObjectPool(ufoPrefab, 4);

            _spawnRocketCommand    = new SpawnEntityCommand(rocketPool, Owner.Enemy);
            _spawnSplittingCommand = new SpawnSplittingEntityCommand(rocketPool, targets, Owner.Enemy, _spawnRocketCommand);
            _spawnPlaneCommand     = new SpawnSpawningEntityCommand(planePool, targets, Owner.Enemy, _spawnRocketCommand);
            _spawnUfoCommand       = new SpawnSpawningEntityCommand(ufoPool, targets, Owner.Enemy, _spawnSplittingCommand);
        }
Example #4
0
 public void Init(ISpawnCommand command)
 {
     _destroyable            = GetComponent <IDestroyable>();
     _command                = command;
     _destroyable.OnDestroy += DestroySpawner;
 }
Example #5
0
 public SpawnSplittingEntityCommand(IObjectPool <GameObject> pool, Vector3 [] targets, Owner owner, ISpawnCommand spawnOthersCommand) : base(pool, owner)
 {
     _targets            = targets;
     _spawnOthersCommand = spawnOthersCommand;
 }
Example #6
0
 public void Init(ISpawnCommand command)
 {
     _command = command;
 }
Example #7
0
 public SpawnSpawningEntityCommand(IObjectPool <GameObject> pool, Vector3 [] targets, Owner owner, ISpawnCommand spawnOthersCommand) : base(pool, targets, owner, spawnOthersCommand)
 {
 }