Inheritance: MonoBehaviour
 private static float PositionUpdateDelaySeconds(Wave original)
 {
     var delay =  original.PositionUpdateDelaySeconds - .01f;
     if (delay < .2f)
         delay = .2f;
     return delay;
 }
Exemple #2
0
	void Start() 
    {
        if (StartSpawning)
            Spawning = true;

        CurrentWave = Waves[0];
	}
Exemple #3
0
    void NextWave()
    {
        currentWaveNumber++;
        if(currentWaveNumber -1 < waves.Length){
            currentWave = waves[currentWaveNumber-1];
        }

        enemiesRemainingToSpawn = currentWave.enemyCount;
        enemiesRemainingAlive = enemiesRemainingToSpawn;

        if(OnNewWave != null) {
            OnNewWave( currentWaveNumber );
        }
        ResetPlayerPosition();

        if (!currentWave.infinite)
        {
            gameUI.waveText.text = "Wave #: " + currentWaveNumber;
            gameUI.enemiesLeftText.text = "Enemies left: " + enemiesRemainingAlive;
        }
        else
        {
            gameUI.waveText.text = "Wave #: Infinite";
            gameUI.enemiesLeftText.text = "Enemies left: Infinite";
        }
    }
 //initilization
 void Start() {
     Wave SetWave = new Wave(maxAnimats, 0.5f);
     waves = new Wave[] { SetWave , SetWave , SetWave , SetWave , SetWave };
     FirstWave();
     FindObjectOfType<SunControls>().NightFall += RecallAnimats;
     FindObjectOfType<SunControls>().DayBreak += UnDock;
 }
Exemple #5
0
 void SpawnWave(Wave w)
 {
     for (int i = 0; i < w.waves.Length; i++) {
         SpawnEnnemy (w.waves [i].number, w.waves [i].health, w.waves [i].speed, w.waves [i].color, w.waves [i].size, (float)(i * 1.2f));
     }
     waveSpawnEnd = true;
 }
    //public Seq[] sequences;
    // Use this for initialization
    void Start()
    {
        var cz = GetComponent<CombatZone>();
        var wCount = 0;
        foreach (Wav wav in waves) {
            var w = new Wave();
            cz.spawnWaves.Add(w);
            cz.spawnWaves[wCount].delayNextSeq = wav.delaySeq;
            foreach (Seq seq in wav.sequences) {

                    var sq = new Sequence ();
                    cz.spawnWaves [wCount].spawnSeqs.Add (sq);
                    sq.delayNextEvent = seq.delay;
                    sq.pos = seq.pos;
                    for (int i=0; i<seq.amount; i ++) {
                            var e = new SpawnEvent ();//sq.spawnEvents[i];
                            e.enemyType = seq.eType;
                            e.equipped = seq.equipped;
                            e.paratrooper = seq.chute;
                            Vector2 p = transform.position;
                            e.offset = p + sq.pos + (seq.offset * i);
                            sq.spawnEvents.Add (e);
                    }

            }
            wCount++;
        }
    }
Exemple #7
0
    private void NextWave()
    {
        currentWaveNumber++;
        currentWave = waves[currentWaveNumber - 1];

        enemyRemainingToSpawn = currentWave.enemyCount;
    }
 void Start()
 {
     if (m_currentLevel.HasWavesRemaining)
     {
         m_currentWave = m_currentLevel.NextWave;
     }
 }
        public Sheep(RenderContext rc, float3 position, float3 rotation, float3 scaleFactor,  SceneRenderer sc, Game game)
            : base(rc, position, rotation, scaleFactor, sc)
        {
            _distance = position.Length;
            if (_distance > 60)
            {
                _score = 120;
            }
            if (_distance > 40)
            {
                _score = 80;
            }
            else
            {
                _score = 50;
            }
            Speed = (5 / _distance) * game.Level;
            Radius = 4f;
            _game = game;
            Pos = position;
            _alpha = (float)Math.Tan(Pos.z/Pos.x);
            Tag = "Sheep";
            _level = 1;
            //zufällige Wellenbewegung

            if (position.x % 2 == 0)
            {
                TheWave = SinWave;
            }
            else
            {
                TheWave = CosWave;
            }
        }
 private static float LaunchDelaySeconds(Wave original)
 {
     var delay = original.LaunchDelaySeconds  - .05f;
     if (delay < .4f)
         delay = .4f;
     return delay;
 }
Exemple #11
0
 public Wave CreateWave(Round round)
 {
     // lookup pool by type
     Wave wave = new Wave(round.waves.Count);
     round.waves.Add(wave);
     return wave;
 }
Exemple #12
0
        private void LoadLevel(string levelName)
        {
            var doc = new XmlDocument();
            doc.Load("Assets/Resources/Levels/{0}.xml".ToFormat(levelName));
            var waves = doc.SelectSingleNode("Waves");

            foreach (XmlNode wave in waves.SelectNodes("Wave"))
            {
                var w = new Wave
                {
                    BeforeWaveDelay = float.Parse(wave.GetAttributeOrDefault("BeforeWaveDelay", "0")),
                    EnemiesToSpawn = new List<GameObject>()
                };

                foreach (XmlNode enemy in wave.SelectNodes("Enemy"))
                {
                    var e = (GameObject) Instantiate(
                        Resources.Load("Prefabs/Enemies/" + enemy.GetAttributeOrDefault("Type", "Popcorn")));
                    var ecom = e.GetComponent<Enemy>();
                    ecom.X = float.Parse(enemy.GetAttributeOrDefault("X", "0"));
                    ecom.Spawn = float.Parse(enemy.GetAttributeOrDefault("Spawn", "0"));
                    ecom.Speed = float.Parse(enemy.GetAttributeOrDefault("Speed", "5"));
                    ecom.transform.Translate(0, 20, 0);
                    e.gameObject.SetActive(false);

                    w.EnemiesToSpawn.Add(e);
                }

                _waves.Add(w);
            }
        }
 private void CheckForNewWave()
 {
     if (Waves.IndexOf(CurrentWave) != GameManager.CurrentStage)
     {
         CurrentWave = Waves[GameManager.CurrentStage - 1];
     }
 }
Exemple #14
0
 void Spawn(Wave wave)
 {
     for(int i = 0; i < wave.numWaves; i++)
     {
         int spawnPointIndex = Random.Range (0, spawnPoints.Length);
         Instantiate (wave.getEnemy(i), spawnPoints [spawnPointIndex].position, spawnPoints [spawnPointIndex].rotation);
     }
 }
Exemple #15
0
 /// <summary>
 /// Spawns a wave of enemies
 /// </summary>
 /// <param name="wave">a Wave object containing enemies</param>
 /// <returns>A time in seconds to wait</returns>
 IEnumerator SpawnWave(Wave wave)
 {
     foreach (string enemy in wave.wave)
     {
         SpawnEnemy(enemy);
         yield return new WaitForSeconds(2);
     }
 }
Exemple #16
0
 public void DoWave(Wave wave)
 {
     wave.Done = true;
     foreach(AnimalSpec spec in wave.Animals)
     {
         SpawnAnimals(spec);
     }
 }
Exemple #17
0
 // ---- getters & setters ----
 // ---- constructor ----
 public Round()
 {
     this.OnIndexChange += delegate {
         SetEventHandlers(currentWave, false);
         currentWave = selectedItem as Wave;
         SetEventHandlers(currentWave, true);
     };
 }
Exemple #18
0
 IEnumerator spawnCoroutine(Wave wave)
 {
     for(int i = 0; i < wave.numWaves; i++)
     {
         int spawnPointIndex = Random.Range (0, spawnPoints.Length);
         Instantiate (wave.getEnemy(i), spawnPoints [spawnPointIndex].position, spawnPoints [spawnPointIndex].rotation);
         yield return new WaitForSeconds(1);
     }
 }
Exemple #19
0
        Wave wave; //wav file wrapper

        #endregion Fields

        #region Constructors

        //constructor takes in a Wave object which is used to initialize the fields
        public MapMaker(Wave w)
        {
            wave = w;
            wavAudio = new Audio(wave, 1000000);//1000000

            SBD = new StatBeatDetection(wave, 1000000);

            soundInformation = new SoundInfo[SBD.length() + 1];
        }
Exemple #20
0
 public Visualizer(Wave song)
 {
     this.song = song;
     blank = new Texture2D(Globals.graphics.GraphicsDevice, 1, 1, false, SurfaceFormat.Color);
     blank.SetData(new[] { Color.White });//blank texture
     for (int i = 0; i < 30; i++)
     {
         points[i] = new Vector2(850, 645);//fill points with default values
     }
 }
	void NextWave() {
		currentWaveNumber ++;
		print ("Wave: " + currentWaveNumber);
		if (currentWaveNumber - 1 < waves.Length) {
			currentWave = waves [currentWaveNumber - 1];

			enemiesRemainingToSpawn = currentWave.enemyCount;
			enemiesRemainingAlive = enemiesRemainingToSpawn;
		}
	}
 //Generates a new wave of animat
 void FirstWave() {
     aliveAnimats = 0;
     remaingAnimats = maxAnimats;
     currentWaveNumber ++;
     print("wave " + currentWaveNumber);
     if (currentWaveNumber - 1 < waves.Length)
     {
         currentWave = waves[currentWaveNumber - 1];
         remaingAnimats = currentWave.animatCount;
     }
 }
 private IEnumerator SpawnWave(Wave _wave)
 {
     state = SpawnState.Spawning;
     for (int i = 0; i < _wave.count; i++)
     {
         SpawnEnemy(_wave.enemy);
         yield return new WaitForSeconds(1f / _wave.rate);
     }
     state = SpawnState.Waiting;
     yield break;
 }
 IEnumerator SpawnWave(Wave _wave)
 {
     Debug.Log("Spawning Wave: " + _wave.name);
     state = SpawnState.SPAWNING;
     if (NormalSpawnCount.GetComponent<WaveSpawner> ().totalwaves % 5 == 0) {
         SpawnEnemy (_wave.enemy);
         yield return new WaitForSeconds( 1f/_wave.rate);
     }
     state = SpawnState.WAITING;
     yield break;
 }
Exemple #25
0
    public void NextWave()
    {
        waveIndex++;
        if (waveIndex > Waves.Count)
            print("Not Enough Waves");

        CurrentWave = Waves[waveIndex];

        StartCoroutine(SpawnTimer());
        Spawning = true;
    }
Exemple #26
0
    void NextWave()
    {
        currentWaveNumber++;

        if(currentWaveNumber - 1 < waves.Length)
        {
            currentWave = waves[currentWaveNumber - 1];

            enemiesAlive = enemiesToSpawn = currentWave.EnemyCount;
        }
    }
Exemple #27
0
 public void addWave(Wave wave)
 {
     for (int i = 0; i < waveList.Length; i++)
     {
         if(waveList[i] == null)
         {
             waveList[i] = wave;
             break;
         }
     }
 }
Exemple #28
0
		public void TestWaveXmlData()
		{
			var wave = new Wave(0.1f, 1.0f, "Paper, Cloth", "Dummy");
			var waveXml = wave.AsXmlData();
			Assert.AreEqual("Dummy", waveXml.GetAttributeValue("ShortName"));
			Assert.AreEqual("0.1", waveXml.GetAttributeValue("WaitTime"));
			Assert.AreEqual("1", waveXml.GetAttributeValue("SpawnInterval"));
			Assert.AreEqual("Paper, Cloth", waveXml.GetAttributeValue("SpawnTypeList"));
			Assert.AreEqual("1", waveXml.GetAttributeValue("MaxSpawnItems"));
			Assert.AreEqual("0", waveXml.GetAttributeValue("MaxTime"));
		}
    void Spawn(Wave.Entry entry)
    {
        for (int i=0; i<entry.Count; i++) {
            Vector3 randomPosition = _SpawnPoints [Random.Range (0, _SpawnPoints.Length)].position;
            randomPosition.y = 0;
            Vector3 screenPos = Camera.main.WorldToScreenPoint (randomPosition);

            GameObject enemy = Instantiate (entry.Enemy, randomPosition, Quaternion.identity) as GameObject;
            enemy.GetComponent<CharacterHealth> ().MaxHealth = (int)(enemy.GetComponent<CharacterHealth> ().MaxHealth * Difficulty);
            _enemiesAlive++;
        }
    }
Exemple #30
0
    void NextWave()
    {
        currentWaveNumber++;
        if (currentWaveNumber - 1 < waves.Length)
        {
            currentWave = waves[currentWaveNumber - 1];

            enemiesRemainingToSpawn = currentWave.enemyCount;
            enemiesRemainingAlive = enemiesRemainingToSpawn;
        }
        else allEnemiesDefeated = true;
    }
Exemple #31
0
    // ---- event handlers ----

    private void waveStartedHandler(Wave target)
    {
        Utils.trace("\t\t", target, "- waveStarted", waves.IndexOf(target));
        liveWaves.Add(target);
    }
Exemple #32
0
 private void enemySpawnedHandler(Wave target, Enemy enemy)
 {
     liveEnemies.Add(enemy);
 }
    // Use this for initialization
    public new IEnumerator Start()
    {
        Init();

        //public WaveUnit(GameObject unit, float delay, float cooldown, int lane, int maxamount){

        //waveManager = waves.GetComponentInChildren<WaveManager>();
        GameObject wave1 = new GameObject("wave1");

        wave1.transform.parent = waves.transform;
        wave1.AddComponent <Wave>();
        Wave wave1Script = wave1.GetComponent <Wave>();

        wave1Script.units = new WaveUnit[] {
            new WaveUnit(allEnemies[0], 0, 0, 0, 1),
            new WaveUnit(allEnemies[0], 0, 0, 1, 1),
        };
        wave1Script.nextWaveDelay = 15f;
        waveManager.waves.Add(wave1Script);

        GameObject wave2 = new GameObject("wave2");

        wave2.transform.parent = waves.transform;
        wave2.AddComponent <Wave>();
        Wave wave2Script = wave2.GetComponent <Wave>();

        wave2Script.units = new WaveUnit[] {
            new WaveUnit(allEnemies[0], 0, 0, 0, 1),
            new WaveUnit(allEnemies[0], 0, 0, 1, 1),
            new WaveUnit(allEnemies[1], 0, 0, 2, 1),
        };

        wave2Script.nextWaveDelay = 20f;
        waveManager.waves.Add(wave2Script);

        GameObject wave3 = new GameObject("wave3");

        wave3.transform.parent = waves.transform;
        wave3.AddComponent <Wave>();
        Wave wave3Script = wave3.GetComponent <Wave>();

        wave3Script.units = new WaveUnit[] {
            new WaveUnit(allEnemies[1], 0, 0, 0, 1),
            new WaveUnit(allEnemies[1], 0, 0, 1, 1),
            new WaveUnit(allEnemies[1], 0, 0, 2, 1),
            new WaveUnit(allEnemies[1], 0, 0, 3, 1),
        };
        wave3Script.nextWaveDelay = 20f;
        waveManager.waves.Add(wave3Script);

        GameObject wave4 = new GameObject("wave4");

        wave4.transform.parent = waves.transform;
        wave4.AddComponent <Wave>();
        Wave wave4Script = wave4.GetComponent <Wave>();

        wave4Script.units = new WaveUnit[] {
            new WaveUnit(allEnemies[2], 0, 0, 0, 1),
            new WaveUnit(allEnemies[1], 0, 0, 1, 1),
            new WaveUnit(allEnemies[2], 0, 0, 2, 1),
            new WaveUnit(allEnemies[1], 0, 0, 3, 1),
        };
        wave4Script.nextWaveDelay = 25f;
        waveManager.waves.Add(wave4Script);



        GameObject wave5 = new GameObject("wave5");

        wave5.transform.parent = waves.transform;
        wave5.AddComponent <Wave>();
        Wave wave5Script = wave5.GetComponent <Wave>();

        wave5Script.units = new WaveUnit[] {
            new WaveUnit(allEnemies[1], 0, 0, 0, 1),
            new WaveUnit(allEnemies[2], 0, 0, 1, 1),
            new WaveUnit(allEnemies[1], 0, 0, 2, 1),
            new WaveUnit(allEnemies[3], 0, 0, 3, 1),
        };
        wave5Script.nextWaveDelay = 25f;
        waveManager.waves.Add(wave5Script);


        GameObject bossWave = new GameObject("bossWave");

        bossWave.transform.parent = waves.transform;
        bossWave.AddComponent <Wave>();
        Wave bossWaveScript = bossWave.GetComponent <Wave>();

        bossWaveScript.units = new WaveUnit[] {
            new WaveUnit(allEnemies[0], 5, 0, 3, 2),
            new WaveUnit(allEnemies[1], 0, 0, 0, 1),
            new WaveUnit(allEnemies[2], 0, 0, 1, 1),
            new WaveUnit(allEnemies[3], 0, 0, 2, 1),
        };
        bossWaveScript.nextWaveDelay = 30f;
        waveManager.waves.Add(bossWaveScript);


        yield return(new WaitForSeconds(1f));

        waveManager.state = WavesState.Setup;
    }
Exemple #34
0
 public void AddWave(Wave _wave)
 {
     waveList.Add(_wave);
 }
Exemple #35
0
        public void SpawnWave()
        {
            Wave++;

            Region.SendRegionMessage(1152528, Wave.ToString());

            int toSpawn = (int)Math.Ceiling(Math.Max(5, Math.Sqrt(Wave) * 2) * 1.5);
            List <BaseCreature> creatures = new List <BaseCreature>();

            var gate1 = new VoidPoolGate();

            gate1.MoveToWorld(StartPoint1, Map);
            Effects.PlaySound(StartPoint1, Map, 0x20E);

            var gate2 = new VoidPoolGate();

            gate2.MoveToWorld(StartPoint2, Map);
            Effects.PlaySound(StartPoint2, Map, 0x20E);

            Timer.DelayCall(TimeSpan.FromSeconds(toSpawn * .80), () =>
            {
                Effects.SendLocationParticles(EffectItem.Create(gate1.Location, gate1.Map, EffectItem.DefaultDuration), 0x376A, 9, 20, 5042);
                Effects.PlaySound(gate1.GetWorldLocation(), gate1.Map, 0x201);

                Effects.SendLocationParticles(EffectItem.Create(gate2.Location, gate2.Map, EffectItem.DefaultDuration), 0x376A, 9, 20, 5042);
                Effects.PlaySound(gate2.GetWorldLocation(), gate2.Map, 0x201);

                gate1.Delete();
                gate2.Delete();
            });

            for (int i = 0; i < toSpawn; i++)
            {
                Point3D start = i % 2 == 0 ? StartPoint1 : StartPoint2;

                for (int j = 0; j < 25; j++)
                {
                    int x = start.X + Utility.RandomMinMax(start.X - (StartPointVariance / 2), start.X + (StartPointVariance / 2));
                    int y = start.Y + Utility.RandomMinMax(start.Y - (StartPointVariance / 2), start.Y + (StartPointVariance / 2));
                    int z = this.Map.GetAverageZ(x, y);

                    if (this.Map.CanSpawnMobile(x, y, z))
                    {
                        start = new Point3D(x, y, z);
                        break;
                    }
                }

                int  ran = Utility.RandomMinMax(0, Stage < 10 ? 12 : Stage < 15 ? 14 : 15);
                Type t;

                switch (ran)
                {
                default:
                case 0:
                case 1:
                case 3:
                case 4: t = SpawnTable[(int)VoidType][0]; break;

                case 5:
                case 6:
                case 7:
                case 8: t = SpawnTable[(int)VoidType][1]; break;

                case 9:
                case 10:
                case 11: t = SpawnTable[(int)VoidType][2]; break;

                case 12:
                case 13: t = SpawnTable[(int)VoidType][3]; break;

                case 14:
                case 15: t = SpawnTable[(int)VoidType][4]; break;
                }

                BaseCreature bc = Activator.CreateInstance(t, Wave, true) as BaseCreature;

                if (bc != null)
                {
                    bc.NoLootOnDeath = true;
                    Timer.DelayCall(TimeSpan.FromSeconds((double)i * .75), () =>
                    {
                        if (OnGoing)
                        {
                            bc.MoveToWorld(start, this.Map);
                            bc.Home      = EndPoint;
                            bc.RangeHome = 1;

                            creatures.Add(bc);

                            bc.CurrentWayPoint = GetNearestWaypoint(bc);
                        }
                        else
                        {
                            bc.Delete();
                        }
                    });
                }
            }

            Waves.Add(new WaveInfo(Wave, creatures));
            NextWave = GetNextWaveTime();
        }
Exemple #36
0
 public Wave Insert(Wave record)
 {
     return(this.repository.Insert(record));
 }
 public void StopWave()
 {
     currentWave = null;
 }
Exemple #38
0
 private void Form1_Load(object sender, EventArgs e)
 {
     waveOne          = new Wave(Wave.Sine);
     sineWaveProvider = new SineWaveProvider32();
 }
Exemple #39
0
 public ApproachTurn(Wave wave) : base(wave)
 {
 }
Exemple #40
0
    public void DrawMapInEditor()
    {
        if (processus == 2)
        {
            if (heightLinear == 0)
            {
                waterMap = new float[101, 101];
                WaterBase.Params();
            }
        }
        if (witch == 1)
        {
            if (processus == 2)
            {
                Rain.SetActive(true);
                Cloud.SetActive(true);
                Sun.intensity         = .5f;
                RenderSettings.skybox = Rainning;
            }
            waterMap = RainSimulate();
        }
        if (witch == 4)
        {
            if (processus == 2)
            {
                waterMap = Wave.initWave(waterMap, 0.5f, 8);
            }
            waterMap = WaterBase.waterMove(waterMap, processus, 0.5f);
        }
        if (witch == 2)
        {
            if (processus == 2)
            {
                heightLinear += .05f;
                if (heightLinear <= 1)
                {
                    waterMap = Wave.initUniformWave(waterMap, heightLinear, 3);
                }
            }
            if (heightLinear <= 1)
            {
                waterMap = WaterBase.waterMove(waterMap, processus, heightLinear);
            }
            if (processus >= 102)
            {
                processus = 1;
            }
        }
        processus++;
        waterDisplay display = FindObjectOfType <waterDisplay>();

        display.DrawMesh(MeshGenerator.GenerateTerrainMesh(waterMap, multiplier, waterCurve));
        if ((waterMap[1, 1] >= 1 && witch == 1) || (processus >= 100 && witch == 4) || (heightLinear >= 1.05 && witch == 2))
        {
            instance.CancelInvoke();
            if (Rain.activeSelf)
            {
                Rain.SetActive(false);
                Cloud.SetActive(false);
                Sun.intensity         = 1f;
                RenderSettings.skybox = Sunning;
            }
            infos.text = "PrevSimulation is finish, remove water in 20 s";
            TextScenes.SetActive(true);
            remove = 1;
            InvokeRepeating("HideText", 5f, 10f);
        }
    }
    public IEnumerator WaveDelay()
    {
        inWave = false;
        handle = true;
        yield return(new WaitForSeconds(3));

        float timepassed = 0;

        timeLb.gameObject.SetActive(true);
        WavesSurvived++;

        waveLb.text = "" + WavesSurvived;

        if (currentWave != null)
        {
            currentWave.ResetWave();
        }

        bool  beeped   = false;
        float beeptime = 0;

        countBeep.PlayOneShot(countBeep.clip);

        while (true)
        {
            timepassed += Time.deltaTime;
            beeptime   += Time.deltaTime;

            if (beeptime > 1)
            {
                countBeep.PlayOneShot(countBeep.clip);
                beeptime = 0;
            }

            int t = (int)delay - (int)timepassed;

            timeLb.text = "" + t;
            if (timepassed >= delay)
            {
                timeLb.gameObject.SetActive(false);
                break;
            }



            //if (!beeped)
            //{
            //    countBeep.PlayOneShot(countBeep.clip);
            //    beeped = true;
            //    i = t;
            //}
            //else
            //{

            //}

            yield return(new WaitForEndOfFrame());
        }


        //yield return new WaitForSeconds(delay);
        currentWave = waves[wavIndex];
        currentWave.StartWave();
        inWave = true;
        //wavIndex++;

        //wavIndex = (wavIndex + 1) % waves.ToArray().Length;

        NextWave();



        handle = false;
    }
    public int Play(WaveType waveType, float freq, float amplitude, DutyCycle cycle = DutyCycle.Half)
    {
        int  channel = -1;
        Wave wave    = null;

        switch (waveType)
        {
        case WaveType.Square:
            for (int ch = 0; ch < SQUARE_CHANNELS; ch++)
            {
                if (usingSquare[ch])
                {
                    continue;
                }
                usingSquare[ch]      = true;
                wave                 = square[ch];
                channel              = ch;
                square[ch].DutyCycle = ((int)cycle) * BaseDutyCycle;
                break;
            }
            break;

        case WaveType.Sawtooth:
            for (int ch = 0; ch < SAWTOOTH_CHANNELS; ch++)
            {
                if (usingSawtooth[ch])
                {
                    continue;
                }
                usingSawtooth[ch] = true;
                wave    = sawtooth[ch];
                channel = ch;
                break;
            }
            break;

        case WaveType.Triangle:
            for (int ch = 0; ch < TRIANGLE_CHANNELS; ch++)
            {
                if (usingTriangle[ch])
                {
                    continue;
                }
                usingTriangle[ch] = true;
                wave    = triangle[ch];
                channel = ch;
                break;
            }
            break;

        case WaveType.Noise:
            for (int ch = 0; ch < NOISE_CHANNELS; ch++)
            {
                if (usingNoise[ch])
                {
                    continue;
                }
                usingNoise[ch] = true;
                wave           = noise[ch];
                channel        = ch;
                break;
            }
            break;

        default:
            break;
        }
        if (channel != -1)
        {
            wave.Amplitude = amplitude;
            wave.Frequency = freq;
        }
        return(channel);
    }
 protected override void SolveInstance(IGH_DataAccess DA)
 {
     base.SolveInstance(DA);
     Message = Wave.ToString();
 }
Exemple #44
0
 public Wave Update(Wave record)
 {
     return(this.repository.Update(record));
 }
Exemple #45
0
    void StartNextWave()
    {
        Wave currentWave = waves[waveIndex];

        StartCoroutine(SpawnEnemies(currentWave.enemyCount, currentWave.spawnRate));
    }
Exemple #46
0
 public void Delete(Wave record)
 {
     this.repository.Delete(record);
 }
    public void StartWave(Wave wave)
    {
        currentWave = wave;

        transform.position = wave.WaveData.startingPosition;
    }
Exemple #48
0
    // Constructor
    public SettingStrip(MilkForm m, TabPage t, int swT, ShapeTabs sTabs, WaveTabs wTabs, Shape s, Wave w, Point tL, string tt, int tMin, int tMax, int tVal, int indx)
    {
        mForm     = m;
        tab       = t;
        shape     = s;
        tBarTxt   = "   " + tt;
        shapeTabs = sTabs;
        waveTabs  = wTabs;
        shape     = s;
        wave      = w;
        stripIndx = indx;
        swType    = swT;

        Font tblFont = new Font("Arial", 8, FontStyle.Bold);

        // Initialize TrackBar
        tBar               = new TrackBar();
        tBar.Parent        = tab;
        tBar.Text          = tt;
        tBar.Orientation   = Orientation.Horizontal;
        tBar.Size          = new Size(84, 16);
        tBar.TickStyle     = TickStyle.None;
        tBar.BackColor     = Color.Black;
        tBar.ForeColor     = Color.Black;
        tBar.Padding       = new Padding(2, 2, 2, 2);
        tBar.Margin        = new Padding(0, 5, 0, 5);
        tBar.Left          = 1;
        tBar.TickFrequency = 10;
        tBar.Minimum       = tMin;
        tBar.Maximum       = tMax;
        tBar.Value         = tVal;
        tBar.ValueChanged += new EventHandler(tick);

        // Create TrackBar Setting Label
        tBarSetL          = new Label();
        tBarSetL.Text     = tBarTxt;
        tBarSetL.Location = new Point(tL.X - 105, tL.Y + 2);
        tBarSetL.Size     = new Size(100, 20);
        tBarSetL.Font     = tblFont;
        tBarSetL.Parent   = tab;

        // Create TrackBar Value Label
        tBarValL = new Label();
        if (tBarTxt.Contains("Sides"))
        {
            tBarValL.Text = tVal.ToString();
        }
        else
        {
            tBarValL.Text = ((float)tVal / (float)100.0).ToString();
        }
        tBarValL.Location    = new Point(tL.X + 103, tL.Y + 3);
        tBarValL.Parent      = tab;
        tBarValL.Size        = new Size(28, 17);
        tBarValL.BorderStyle = BorderStyle.Fixed3D;

        // Ceate UserControl
        uControl             = new UserControl();
        uControl.Size        = new Size(93, 27);
        uControl.BackColor   = Color.Black;
        uControl.Location    = new Point(tL.X + 5, tL.Y);
        uControl.Parent      = tab;
        uControl.BorderStyle = BorderStyle.Fixed3D;
        uControl.Controls.Add(tBar);

        // Set TrackBar Location Inside UserControl
        tBar.Location = new Point(3, 0);

        // Create Reaction Button
        react            = new Button();
        react.Image      = new Bitmap("C:\\Users\\User\\Desktop\\Dev\\Milkdrop\\react.jpg");
        react.ImageAlign = ContentAlignment.MiddleCenter;
        react.UseVisualStyleBackColor = true;
        react.Width     = 65;
        react.Height    = 12;
        react.Location  = new Point(tL.X + 139, tL.Y + 5);
        react.Parent    = tab;
        react.Font      = tblFont;
        react.TabStop   = false;
        react.FlatStyle = FlatStyle.Flat;
        react.FlatAppearance.BorderSize = 0;
        react.Click += reactClick;

        // Create Reaction Box
        rBox = new ReactBox(mForm, tab, sTabs, wTabs, shape, wave, stripIndx, tt);
    }
Exemple #49
0
        public void EndInvasion()
        {
            Region.SendRegionMessage(1152530);             // Cora's forces have destroyed the Void Pool walls. The battle is lost!

            VoidPoolStats.OnInvasionEnd(this /*CurrentScore, Wave*/);

            NextStart = DateTime.UtcNow + TimeSpan.FromMinutes(RestartSpan);

            Region.SendRegionMessage(1152526, RestartSpan.ToString());             // The battle for the Void Pool will begin in ~1_VALUE~ minutes.

            List <Mobile> list = Region.GetPlayers();

            foreach (Mobile m in list.Where(m => GetCurrentPoints(m) > 0))
            {
                PointsSystem.VoidPool.AwardPoints(m, GetCurrentPoints(m));
            }

            foreach (Mobile m in list.Where(m => CurrentScore.ContainsKey(m)))
            {
                m.SendLocalizedMessage(1152650, String.Format("{0}\t{1}\t{2}\t{3}", GetTotalWaves(m), Wave.ToString(), Wave.ToString(), CurrentScore[m]));
                // During the battle, you helped fight back ~1_COUNT~ out of ~2_TOTAL~ waves of enemy forces. Your final wave was ~3_MAX~. Your total score for the battle was ~4_SCORE~ points.

                if (m is PlayerMobile)
                {
                    var quest = QuestHelper.GetQuest <AForcedSacraficeQuest>((PlayerMobile)m);

                    if (quest != null)
                    {
                        quest.CompleteQuest();
                    }
                }
            }

            ColUtility.Free(list);
            ClearSpawn(true);
        }
Exemple #50
0
 public void Reclaim(Wave wave)
 {
     pool.Add(wave);
     wave.gameObject.SetActive(false);
 }
Exemple #51
0
        private void LoadProcessor(string path)
        {
            this._processor = StegoProcessorBase.GetProcessor(path, false);
            if (this._processor == null)
            {
                return;
            }

            this._processor.LoadHost(path, true);

            if (this._processor.MType != HostMediaType.Video)
            {
                this.cb_watermark.Enabled = false;
            }

            if (this._processor.MType == HostMediaType.Bitmap)
            {
                ///Show the bitmap summary control
                BitmapSummary summaryControl = new BitmapSummary();
                this._currentControl = summaryControl;
                this.ShowNewSummaryControl(summaryControl);

                ///Display cover file size
                summaryControl.HostSize = this.ToSize(this._processor.HostSize);

                ///Save and display hiding capacity of cover object
                this._hidingCapacity          = (int)this._processor.HidingCapacity / 2;
                summaryControl.HidingCapacity = this.ToSize(this._hidingCapacity);

                ///Setup the maximum length of message
                this.rtxt_message.MaxLength = this._hidingCapacity - (Stego.Message.MAX_KEY_LEN + 8);

                ///Let show the pic in preview box. Open the image by giving the path
                ///The size mode of this image is set to zoom. So if the image is bigger then the
                ///frame it will automatically adjust it to fit the frame. Same happens if it is smaller
                ///then the frame
                this.pic_coverPreview.Image = new System.Drawing.Bitmap(this.txt_coverFileName.Text);
            }
            else if (this._processor.MType == HostMediaType.Wave)
            {
                ///Show the bitmap summary control
                WaveSummary summaryControl = new WaveSummary();
                this._currentControl = summaryControl;
                this.ShowNewSummaryControl(summaryControl);

                Wave host = (Wave)this._processor.HostObject;

                ///Display number of channels
                summaryControl.Channels = host.Format.nChannels.ToString();

                ///Display samples/sec
                summaryControl.SamplesPerSec = host.Format.nSamplesPerSec.ToString();

                ///Save and display hiding capacity of cover object
                this._hidingCapacity          = (int)this._processor.HidingCapacity / 2;
                summaryControl.HidingCapacity = this.ToSize(this._hidingCapacity);

                ///Setup the maximum length of message
                this.rtxt_message.MaxLength = this._hidingCapacity - (Stego.Message.MAX_KEY_LEN + 8);

                ///Setup the Avi icon image in the preview box
                this.pic_coverPreview.Image = global::HideIt.Properties.Resources.wav;
            }
            else
            {
                if (this.cb_watermark.Checked)
                {
                    this.LoadWatermarkingStegoProcessor();
                }
                else
                {
                    this.LoadAviStegoProcessor();
                }
            }
        }
Exemple #52
0
    void OnGUI()
    {
        GameObject search = null;

        if (!spawner)
        {
            search = GameObject.Find("EnemyManager");
            if (search)
            {
                spawner = search.GetComponent <EnemyManager> ();
            }
            else
            {
                return;
            }
        }

        if (windowStatus == WindowStatus.All)
        {
            if (GUILayout.Button("Difficulty graph"))
            {
                windowStatus = WindowStatus.Graph;
            }

            for (int i = 0; i < spawner.waves.Count; i++)
            {
                if (GUILayout.Button("Wave: " + (i + 1).ToString() + " - Difficulty: " + CalculateDifficulty(spawner.waves[i], i)))
                {
                    windowStatus = WindowStatus.Wave;
                    wave         = spawner.waves[i];
                    waveIndex    = i;
                }
            }

            if (GUILayout.Button("Remove wave"))
            {
                spawner.waves.RemoveAt(spawner.waves.Count - 1);
            }
            if (GUILayout.Button("Add wave"))
            {
                spawner.waves.Add(new Wave());
            }
        }
        if (windowStatus == WindowStatus.Wave)
        {
            if (GUILayout.Button("Back"))
            {
                windowStatus = WindowStatus.Graph;
            }

            for (int i = 0; i < wave.subwaves.Count; i++)
            {
                GUILayout.Label("Subwave " + (i + 1).ToString());
                for (int j = 0; j < wave.subwaves[i].enemies.Count; j++)
                {
                    wave.subwaves[i].enemies[j].enemy       = (GameObject)EditorGUILayout.ObjectField(wave.subwaves[i].enemies[j].enemy, typeof(GameObject), false);
                    wave.subwaves[i].enemies[j].spawnAmount = EditorGUILayout.IntField("Spawn amount", wave.subwaves[i].enemies[j].spawnAmount);
                    if (GUILayout.Button("Remove enemy"))
                    {
                        wave.subwaves[i].enemies.Remove(wave.subwaves[i].enemies[j]);
                    }
                }

                if (GUILayout.Button("Add enemy"))
                {
                    wave.subwaves[i].enemies.Add(new Wave.Enemy());
                }

                wave.subwaves[i].spawnTime = EditorGUILayout.FloatField("Subwave length", wave.subwaves[i].spawnTime);
                if (GUILayout.Button("Remove subwave"))
                {
                    wave.subwaves.Remove(wave.subwaves[i]);
                }
            }

            if (GUILayout.Button("Add subwave"))
            {
                wave.subwaves.Add(new Wave.Subwave());
            }
            GUILayout.Label("Difficulty: " + CalculateDifficulty(wave, waveIndex) + " - Desired: " + CalculatePreferredDifficulty(waveIndex));
        }
        if (windowStatus == WindowStatus.Graph)
        {
            if (GUILayout.Button("Back"))
            {
                windowStatus = WindowStatus.All;
            }
            if (GUILayout.Button("Reset Curve"))
            {
                highestDifficulty = 0;
            }

            graphOffset = GUILayout.HorizontalSlider(graphOffset, 0, spawner.waves.Count * 30);
            preferredCurveMultiplier = EditorGUILayout.FloatField("Curve Start", preferredCurveMultiplier);

            for (int i = 0; i < spawner.waves.Count; i++)
            {
                Rect baseRect = new Rect((-graphOffset + 10) + i * 30, position.height - 30, 25, 25);
                if (GUI.Button(baseRect, i.ToString()))
                {
                    windowStatus = WindowStatus.Wave;
                    wave         = spawner.waves[i];
                    waveIndex    = i;
                }
                int difficulty      = CalculateDifficulty(spawner.waves[i], i);
                int height          = Mathf.RoundToInt((float)difficulty / Mathf.Max(highestDifficulty, 1) * (position.height - 100));
                int preferredHeight = Mathf.RoundToInt((float)CalculatePreferredDifficulty(i) / Mathf.Max(highestDifficulty, 1) * (position.height - 100));
                GUI.Box(new Rect(baseRect.x + 5, baseRect.y - height, 15, height), "");
                GUI.Box(new Rect(baseRect.x + 10, baseRect.y - preferredHeight, 5, preferredHeight), "");
                if (difficulty > highestDifficulty)
                {
                    highestDifficulty = difficulty;
                }
            }
        }
    }
    private void Update()
    {
        if (!waveEnd)
        {
            switch (grouptype)
            {
            case WaveGroupTypes.Simultaneous:
                //Check every 5 seconds if this wave has ended
                transform.LookAt(planet, Vector3.forward);

                //if (!waveEnd)
                //{
                if (!check)
                {
                    checkelapsed += Time.deltaTime;

                    if (checkelapsed >= 5)
                    {
                        check        = true;
                        checkelapsed = 0;
                    }
                }
                else
                {
                    bool f = true;

                    foreach (Wave w in waves)
                    {
                        if (w.waveEnd == false)
                        {
                            f = false;
                        }
                    }

                    if (f == true)
                    {
                        waveEnd = true;
                    }


                    check = false;
                }
                //}

                break;


            case WaveGroupTypes.Consecutive:

                if (waveStart)
                {
                    if (currentIndex >= waves.Length - 1)
                    {
                        if (currentWave.waveEnd)
                        {
                            waveEnd = true;
                        }
                    }
                    else
                    {
                        if (currentWave.waveEnd)
                        {
                            currentIndex = Mathf.Clamp(currentIndex + 1, 0, waves.Length - 1);
                            currentWave  = waves[currentIndex];
                            currentWave.StartWave();
                        }
                    }
                }



                break;
            }
        }
    }
    /**
     * Called when the manager is running
     */
    private void OnManagerRunning()
    {
        bool blocking = false;

        for (int nHandle = currentWaves.Count - 1; nHandle >= 0; nHandle--)
        {
            // Check for ended waves
            if (currentWaves[nHandle].GetState() == WaveHandle.WaveState.WaveEnd)
            {
                UnityEngine.GameObject.Destroy(currentWaves[nHandle].gameObject);
                currentWaves.RemoveAt(nHandle);
                continue;
            }

            // There is a blocking wave
            if (currentWaves[nHandle].waveState == WaveHandle.WaveState.WaveBlocking)
            {
                blocking = true;
            }
        }

        if (blocking)
        {
            return;
        }

        timer += Time.deltaTime;

        List <int> firstWaves = GetFirstWaves();

        if (firstWaves.Count == 0)
        {
            if (currentWaves.Count == 0)
            {
                managerState = ManagerState.ManagerDone;
            }

            return;
        }

        if (timer < currenteStage.StageWaves[firstWaves[0]].WaveTiming)
        {
            return;
        }

        GameObject oiginalHandle = Resources.Load("Prefabs/Actors/WaveHandle") as GameObject;

        // Creating handles
        for (int nWave = 0; nWave < firstWaves.Count; ++nWave)
        {
            GameObject go     = UnityEngine.GameObject.Instantiate(oiginalHandle, parent);
            WaveHandle handle = go.GetComponent <WaveHandle>();

            Wave wave = currenteStage.StageWaves[firstWaves[nWave]];
            handle.Init(wave, firstWaves[nWave]);
            currentWaves.Add(handle);

            Debug.Log("    - " + wave.WaveName + " loaded.");
            waveIndexes.Remove(firstWaves[nWave]);
        }
    }
Exemple #55
0
 private void enemyDestroyedHandler(Wave target, Enemy enemy)
 {
     liveEnemies.Remove(enemy);
 }
 public void BeginWave(int index)
 {
     currenWave = waves[index];
     StartCoroutine("SpawnWave");
 }
Exemple #57
0
 private void waveDepletedHandler(Wave target)
 {
     Utils.trace("\t\t", target, "- waveDepleted", waves.IndexOf(target));
 }
Exemple #58
0
 public void WaveComplete(Wave w)
 {
     waveI++;
     NextWave();
 }
Exemple #59
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Wave obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }
Exemple #60
0
    IEnumerator WaitAndSpawn(Wave wave)
    {
        yield return(new WaitForSeconds(wave.startTime));

        StartCoroutine(SpawnNextWave(wave));
    }