private bool block = false;//avoid taking damage in triggerevent void Awake() { updateReferences(); cooldowns = new List <Coroutine>(); RotationPattern rotationPattern = new RotationPattern(this); CyclicPattern cyclicPattern = new CyclicPattern(this); WavePattern wavePattern = new WavePattern(this); patternsAvailable.Add("RotationPattern", rotationPattern); patternsAvailable.Add("CyclicPattern", cyclicPattern); patternsAvailable.Add("WavePattern", wavePattern); EventManager.StartListening("OnSurvivalPhase", goVulnerable); EventManager.StartListening("OnCounterPhase", goInvicible); //Pause between each phase EventManager.StartListening("OnSurvivalPhase", onChangingPhase); EventManager.StartListening("OnCounterPhase", onChangingPhase); EventManager.StartListening("OnAdaptationPhase", onChangingPhase); cc = GetComponent <CircleCollider2D>(); //coroutine = SelectingPaterns(); weakPoint = transform.Find("WeakPoint"); }
public WavePattern NextWave() { WavePattern pattern = index == waves.Length ? null : waves[index++]; pattern?.Init(); return(pattern); }
// Next wave random generation void GenerateNextWave() { // Nueva oleada WavePattern nextWave = (WavePattern)Random.Range(0, numWavePatters); switch (nextWave) { case WavePattern.Three_Straight: GenerateWaveThreeEnemies(MovementType.Straight, AttackType.Shoot); break; case WavePattern.Three_Sin: GenerateWaveThreeEnemies(MovementType.Sin, AttackType.NoAttack); break; case WavePattern.Three_Sin_Line: GenerateWaveThreeEnemies(MovementType.Sin, AttackType.Shoot, true); break; case WavePattern.Cone: GenerateWaveCone(MovementType.Straight, AttackType.NoAttack); break; case WavePattern.Stairs_Left: GenerateWaveStairs(MovementType.Straight, AttackType.NoAttack, true); break; case WavePattern.Stairs_Right: GenerateWaveStairs(MovementType.Straight, AttackType.NoAttack, false); break; case WavePattern.Hunters_Two: GenerateWaveTwoHunters(); break; case WavePattern.Hunters_Three: GenerateWaveThreeHunters(); break; case WavePattern.Two_Sides: GenerateWaveTwoSides(MovementType.Straight, AttackType.Shoot); break; case WavePattern.Five_Mix: GenerateWaveFiveMix(); break; default: break; } // Número de oleadas entre jefe y jefe if (++waves >= numWavesBetweenBosses) { bossStage = true; waves = 0; SpawnBoss(); } }
public override void CreateInGame() { if (PatternSource.get().Equals("")) { MyPattern = new WavePattern(CardCount.get()); } else { MyPattern = new WavePattern(CardCount.get(), PatternSource.get()); } base.CreateInGame(); }
public void LoadNextWave() { pattern = waveEnumerator.NextWave(); if (pattern == null) { finishUI?.SetActive(true); return; } for (int i = 0; i < pattern.enemies.Count; i++) { Spawn(i); } }
IEnumerator StartObstacleSpawn(WavePattern wavePattern) { for (int i = 0; i < wavePattern.amountOfObstacles; i++) { var lanePosition = wavePattern.pattern[i]; var obstacleType = wavePattern.obstacle[i]; if (!isGameOver) { GetObstacleFromPool(lanePosition, obstacleType); } yield return(new WaitForSeconds(DELAY_FOR_NEXT_OBSTACLE)); } StartCoroutine(DelayForNextWave()); }
public void init(FixedEntity spawner, Vector2 pos, WavePattern pattern) { this._simpleTarget = spawner; this._currentPosition = pos; this.updatePosition(this._currentPosition); this._faction = 2; this._maxSpeed = 2.0f; this._maxSteeringForce = 2.0f; _animatorEntity = GetComponent <Animator>(); sizeRadius = 2.0f; timeBeforeChangePos = Random.Range(3.0f, 6.0f); wavePattern = pattern; }
void Awake() { updateReferences(); cooldowns = new List <Coroutine>(); RotationPattern rotationPattern = new RotationPattern(this); CyclicPattern cyclicPattern = new CyclicPattern(this); WavePattern wavePattern = new WavePattern(this); LaserPattern laserPattern = new LaserPattern(this); patternsAvailable.Add("RotationPattern", rotationPattern); patternsAvailable.Add("CyclicPattern", cyclicPattern); patternsAvailable.Add("WavePattern", wavePattern); patternsAvailable.Add("LaserPattern", laserPattern); //Take damage or not EventManager.StartListening("OnSurvivalPhase", goVulnerable); EventManager.StartListening("OnCounterPhase", goInvicible); EventManager.StartListening("OnCounterPhase", growWeakPoint); EventManager.StartListening("OnAdaptationPhase", goInvicible); //Pause between each phase EventManager.StartListening("OnSurvivalPhase", onChangingPhase); EventManager.StartListening("OnCounterPhase", onChangingPhase); EventManager.StartListening("OnAdaptationPhase", onChangingPhase); //Rotating or not EventManager.StartListening("OnSurvivalPhase", restrictMovement); EventManager.StartListening("OnCounterPhase", allowMovement); EventManager.StartListening("OnAdaptationPhase", restrictMovement); EventManager.StartListening("OutroOver", doExplode); EventManager.StartListening("EndGame", willExplode); EventManager.StartListening("IntroOver", stopRrrr); cc = GetComponent <CircleCollider2D>(); //coroutine = SelectingPaterns(); GetComponent <SpriteRenderer>().sprite = sleepingSprite; weakPoint = transform.Find("WeakPoint"); }
public void LoadNextWave() { pattern = waveEnumerator.NextWave(); waveCount += 1; if (waveCount > totalWave) { finishUI?.SetActive(true); if (playerRenderer) { playerRenderer.sprite = perfectCircle; playerRenderer.transform.localScale = new Vector3(2, 2, 2); } return; } for (int i = 0; i < pattern.enemies.Count; i++) { Spawn(i); } }
// Constructor public ReachTargetState(WavePattern statePatternEnemy, SeekBehavior seekBehavior) { state = statePatternEnemy; seek = seekBehavior; }
public AttackUnitState(WavePattern statePatternEnemy, PursuitBehavior pursuitBehavior) { state = statePatternEnemy; pursuit = pursuitBehavior; }
void LoadWavePatterns() { Lua LuaFile; System.Text.Encoding encodeType = System.Text.Encoding.ASCII; string path = MapLuaParser.GetDataPath() + "/Structure/Waves/wavepatterns.lua"; if (!Directory.Exists(Path.GetDirectoryName(path))) { Debug.LogError("Cant find Waves folder"); return; } if (!File.Exists(path)) { Debug.LogError("Cant find Waves file"); return; } string loadedFile = File.ReadAllText(path, encodeType); LuaFile = new Lua(); LuaFile.LoadCLRPackage(); try { LuaFile.DoString(MapLuaParser.Current.SaveLuaHeader.text + loadedFile); } catch (NLua.Exceptions.LuaException e) { Debug.LogError(LuaParser.Read.FormatException(e), MapLuaParser.Current.gameObject); return; } var patternTable = LuaFile.GetTable(KEY_patterns); LuaTable[] wvTabs = LuaParser.Read.GetTableTables(patternTable); WavePatterns = new WavePattern[wvTabs.Length]; for (int i = 0; i < WavePatterns.Length; i++) { WavePattern pattern = new WavePattern(); pattern.name = LuaParser.Read.StringFromTable(wvTabs[i], "name", "pattern" + i); pattern.preview = LuaParser.Read.StringFromTable(wvTabs[i], "preview", "/editor/tools/water/nopreview.bmp"); LuaTable parametersTable = (LuaTable)wvTabs[i].RawGet("parameters"); LuaTable[] parameters = LuaParser.Read.GetTableTables(parametersTable); pattern.parameters = new WavePattern.Parameters[parameters.Length]; for (int p = 0; p < parameters.Length; p++) { pattern.parameters[p] = new WavePattern.Parameters(); pattern.parameters[p].texture = LuaParser.Read.StringFromTable(parameters[p], "texture", "/env/common/decals/shoreline/wavetest.dds"); pattern.parameters[p].ramp = LuaParser.Read.StringFromTable(parameters[p], "ramp", "/env/common/decals/shoreline/waveramptest.dds"); pattern.parameters[p].position = LuaParser.Read.Vector3FromTable(parameters[p], "position"); pattern.parameters[p].period = LuaParser.Read.FloatFromTable(parameters[p], "period"); pattern.parameters[p].periodVariance = LuaParser.Read.FloatFromTable(parameters[p], "periodVariance"); pattern.parameters[p].speed = LuaParser.Read.FloatFromTable(parameters[p], "speed"); pattern.parameters[p].speedVariance = LuaParser.Read.FloatFromTable(parameters[p], "speedVariance"); pattern.parameters[p].lifetime = LuaParser.Read.FloatFromTable(parameters[p], "lifetime"); pattern.parameters[p].lifetimeVariance = LuaParser.Read.FloatFromTable(parameters[p], "lifetimeVariance"); pattern.parameters[p].scale = LuaParser.Read.Vector2FromTable(parameters[p], "scale"); pattern.parameters[p].scaleVariance = LuaParser.Read.FloatFromTable(parameters[p], "scaleVariance"); pattern.parameters[p].velocityDelta = LuaParser.Read.Vector3FromTable(parameters[p], "velocityDelta"); pattern.parameters[p].frameCount = LuaParser.Read.IntFromTable(parameters[p], "frameCount"); pattern.parameters[p].frameRate = LuaParser.Read.FloatFromTable(parameters[p], "frameRate"); pattern.parameters[p].frameRateVariance = LuaParser.Read.FloatFromTable(parameters[p], "frameRateVariance"); pattern.parameters[p].stripCount = LuaParser.Read.IntFromTable(parameters[p], "stripCount"); } WavePatterns[i] = pattern; } }