public void Init(ISpawnCommand command) { foreach (var spawner in _spawners) { spawner.Init(command); } }
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++; }
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); }
public void Init(ISpawnCommand command) { _destroyable = GetComponent <IDestroyable>(); _command = command; _destroyable.OnDestroy += DestroySpawner; }
public SpawnSplittingEntityCommand(IObjectPool <GameObject> pool, Vector3 [] targets, Owner owner, ISpawnCommand spawnOthersCommand) : base(pool, owner) { _targets = targets; _spawnOthersCommand = spawnOthersCommand; }
public void Init(ISpawnCommand command) { _command = command; }
public SpawnSpawningEntityCommand(IObjectPool <GameObject> pool, Vector3 [] targets, Owner owner, ISpawnCommand spawnOthersCommand) : base(pool, targets, owner, spawnOthersCommand) { }