コード例 #1
0
ファイル: Form1.cs プロジェクト: geotrieu/shapestd
        public Form1()
        {
            InitializeComponent();
            this.ClientSize = new Size(width * 32, height * 32);
            this.Show();

            Random r      = new Random();
            int    rLevel = r.Next(1, 5);

            if (!InitLevel(rLevel))
            {
                Console.WriteLine("Level " + rLevel + " failed to initialize.");
            }

            //Load Waves
            WaveHandler.LoadWaveData();

            //create the onscreen graphics
            dc = this.CreateGraphics();

            // create a blank bitmap
            curBitmap = new Bitmap(width * 32, height * 32);

            //Create a temporary Graphics object from the bitmap
            offscreen = Graphics.FromImage(curBitmap);
        }
コード例 #2
0
        private void EnemySpawned(WaveHandler handler, IEnemy obj)
        {
            EnemySpawnPoint spawnpoint = Pather.GetRandomSpawnPoint();

            obj.Init(spawnpoint.transform.position, spawnpoint.GetPath(), handler);
            OnEnemySpawned?.Invoke(obj);
        }
コード例 #3
0
        private void OnWaveFinished(int index, WaveHandler wave)
        {
            UpcomingDisplay display = _currentDisplays.First(x => x.Wave == index);

            Destroy(display.gameObject);
            _currentDisplays.Remove(display);
        }
コード例 #4
0
    // Private Methods

    private void Start()
    {
        attackers   = new LinkedList <Pathogen>();
        waveHandler = GameObject.Find("WaveHandler").GetComponent <WaveHandler>();
        player      = GameObject.Find("PlayerHandler").GetComponent <PlayerHandler>();
        path        = GameObject.Find("Path").GetComponent <Path>();
    }
コード例 #5
0
    private void Awake()
    {
        playerHandler   = GameObject.Find("PlayerHandler").GetComponent <PlayerHandler>();
        attackerHandler = GameObject.Find("AttackerHandler").GetComponent <AttackerHandler>();
        waveHandler     = GameObject.Find("WaveHandler").GetComponent <WaveHandler>();

        moneyText  = GameObject.Find("MoneyText").GetComponent <Text>();
        healthText = GameObject.Find("HealthText").GetComponent <Text>();
        waveText   = GameObject.Find("WaveText").GetComponent <Text>();
        countText  = GameObject.Find("PathogenText").GetComponent <Text>();

        cellInfoPanel = GameObject.Find("CellInfo");

        upgrade1Text   = GameObject.Find("Upgrade1Text").GetComponent <Text>();
        upgrade2Text   = GameObject.Find("Upgrade2Text").GetComponent <Text>();
        sellButtonText = GameObject.Find("SellButtonText").GetComponent <Text>();

        upgrade1   = GameObject.Find("Upgrade1").GetComponent <Button>();
        upgrade2   = GameObject.Find("Upgrade2").GetComponent <Button>();
        sellButton = GameObject.Find("SellButton").GetComponent <Button>();

        cellName    = GameObject.Find("CellName").GetComponent <Text>();
        killCount   = GameObject.Find("KillCount").GetComponent <Text>();
        damageCount = GameObject.Find("DamageCount").GetComponent <Text>();

        nextWaveButton = GameObject.Find("WaveNumber");
    }
コード例 #6
0
ファイル: EnemyStats.cs プロジェクト: BasicLich/UNcertainty
    private void Start()
    {
        audioZ = GetComponent <AudioSource>();
        if (isBoss)
        {
            HealthBar = UIManager.instance.bossHealth;
        }
        immune = false;

        waveHandler = FindObjectOfType <WaveHandler>();

        Health = startHealth;
        TryGetComponent(out rb);

        sprite = GetComponent <SpriteRenderer>();

        sprite.material = material;
        spriteMat       = sprite.material;

        SpriteRenderer[] childrenSprites = GetComponentsInChildren <SpriteRenderer>();
        if (childrenSprites.Length > 0)
        {
            foreach (var chSpr in childrenSprites)
            {
                chSpr.material = spriteMat;
            }
        }

        hitEffect = GetComponent <ParticleSystem>();
        hitEffect.GetComponent <ParticleSystemRenderer>().material = material;
    }
コード例 #7
0
 private void OnEnemyKilled(WaveHandler handler, IEnemy enemy)
 {
     if (enemy.Identifier == _identifier)
     {
         _amount--;
         UpdateAmount();
     }
 }
コード例 #8
0
        private void OnWaveFinished(int arg1, WaveHandler arg2)
        {
            RoundController controller = RoundController.Instance;

            if (controller.ActiveWaves.Length < 2)
            {
                controller.BeginNextWave();
            }
        }
コード例 #9
0
    //private Weapon weaponScript;

    void Start()
    {
        playerControllerScript = player.gameObject.GetComponent <PlayerController>();
        inventoryScript        = player.gameObject.GetComponent <Inventory>();
        buildManagerScript     = this.gameObject.GetComponent <BuildManager>();
        //weaponScript = GameObject.Find("Weapon").GetComponent<Weapon>();
        playerScript      = this.gameObject.GetComponent <SaveGame>();
        waveHandlerScript = this.gameObject.GetComponent <WaveHandler>();
    }
コード例 #10
0
 private void Awake()
 {
     dead     = false;
     hp       = 20;
     prestige = 5f + Random.Range(0f, 1f);
     target   = GameObject.Find("Angel").GetComponent <Transform>();
     alive    = GameObject.Find("Mechanics").GetComponent <WaveHandler>();
     waiting  = false;
     manager  = GameObject.Find("SoundManager").GetComponent <AudioManagerScript>();
 }
コード例 #11
0
ファイル: GameManager.cs プロジェクト: Mobjunk/GDFJ2O1
 public void HandleDeath()
 {
     //Sets the time scale to 0
     Time.timeScale = 0;
     //Shows the death screen
     deathScreen.SetActive(true);
     //Shows the score the player ended with
     deathScreenScore.text = $"Score:\n\n{player.score}";
     //Shows what wave you died on
     deathScreenWave.text = $"Wave:\n\n{WaveHandler.Instance().wave}";
 }
コード例 #12
0
ファイル: Waves.cs プロジェクト: sivgd/vgd21-q2-am1
    IEnumerator SpawnWave()
    {
        if (waveIndex >= wavesVar.Length)
        {
            print("YOU WON");
            yield break;
        }

        WaveCounter.waveNumber += 1;

        WaveHandler wave = wavesVar[waveIndex];

        waveIndex++;
        for (int i = 0; i < wave.groups.Length; i++)
        {
            StartCoroutine(SpawnGroup(wave.groups[i]));

            yield return(new WaitForSeconds(wave.groups[i].delay));
        }

        /*
         * if (wave.firstEnemy != null)
         * {
         *  for (int i = 0; i < wave.firstCount; i++)
         *  {
         *      SpawnEnemy(wave.firstGroup);
         *      yield return new WaitForSeconds(1f / wave.rate);
         *  }
         * }
         * if (wave.secondGroup != null)
         * {
         *  for (int i = 0; i < wave.secondCount; i++)
         *  {
         *      SpawnEnemy(wave.secondGroup);
         *      yield return new WaitForSeconds(1f / wave.rate);
         *  }
         * }
         * if (wave.thirdGroup != null)
         * {
         *  for (int i = 0; i < wave.thirdCount; i++)
         *  {
         *      SpawnEnemy(wave.thirdGroup);
         *      yield return new WaitForSeconds(1f / wave.rate);
         *  }
         * }
         * if (wave.fourthGroup != null)
         * {
         *  for (int i = 0; i < wave.fourthCount; i++)
         *  {
         *      SpawnEnemy(wave.fourthGroup);
         *      yield return new WaitForSeconds(1f / wave.rate);
         *  }
         * }*/
    }
コード例 #13
0
        private void OnWaveFinished(int arg1, WaveHandler arg2)
        {
            List <ResearchOption> toTick = new List <ResearchOption>(_inProgress);

            foreach (ResearchOption option in toTick)
            {
                option.Tick();
            }

            OnTick?.Invoke();
        }
コード例 #14
0
        private void WaveCompleted(WaveHandler handler)
        {
            RemoveWave(handler);

            OnWaveFinished?.Invoke(handler.Wave, handler);

            if (_activeWaves.Count == 0)
            {
                ChangeState(RoundState.Ready);
            }
        }
コード例 #15
0
        private void OnWaveStarted(int index, WaveHandler wave)
        {
            UpcomingDisplay newDisplay;

            newDisplay = Instantiate(DisplayPrefab, DisplayParent).GetComponent <UpcomingDisplay>();
            _currentDisplays.Add(newDisplay);

            newDisplay.Display(index, wave, wave.Timeline);

            NextDisplay.Display(-1, null, RoundController.NextWave);
            NextDisplay.transform.SetAsLastSibling();
        }
コード例 #16
0
 private void OnWaveCleared(int index, WaveHandler wave)
 {
     if (index > _amount)
     {
         _onProgressedCallback();
         _amount = index;
         if (_amount >= Target)
         {
             _onCompletedCallback();
         }
     }
 }
コード例 #17
0
    IEnumerator SpawnWave(WaveHandler spawnWave)
    {
        state = SpawnState.SPAWNING;
        for (int i = 0; i < spawnWave.count; i++)
        {
            SpawnEnemyPrefab();
            yield return(new WaitForSeconds(1f / spawnWave.rate));
        }

        state = SpawnState.WAITING;
        yield break;
    }
コード例 #18
0
        private void RemoveWave(WaveHandler handler)
        {
            handler.OnEnemySpawned        -= EnemySpawned;
            handler.OnEnemyAdded          -= EnemyAdded;
            handler.OnEnemyKilled         -= EnemyKilled;
            handler.OnEnemyFinished       -= EnemyFinished;
            handler.OnAllSpawnersFinished -= WaveSpawnsFinished;
            handler.OnAllEnemiesDone      -= WaveCompleted;

            _activeWaves.Remove(handler);
            Destroy(handler.gameObject);
        }
コード例 #19
0
        private void AddWave(WaveHandler handler)
        {
            _activeWaves.Add(handler);

            handler.OnEnemySpawned        += EnemySpawned;
            handler.OnEnemyAdded          += EnemyAdded;
            handler.OnEnemyKilled         += EnemyKilled;
            handler.OnEnemyFinished       += EnemyFinished;
            handler.OnAllSpawnersFinished += WaveSpawnsFinished;
            handler.OnAllEnemiesDone      += WaveCompleted;

            Debug.Log("Added wave " + handler.Wave);
        }
コード例 #20
0
    IEnumerator SpawnWave(WaveHandler spawnWave)
    {
        state = SpawnState.SPAWNING;
        for (int i = 0; i < spawnWave.count; i++)
        {
            SpawnEnemyPrefab();
            yield return(new WaitForSeconds(1f / spawnWave.rate));

            Debug.Log("Still in loop");
        }

        Debug.Log("Waiting");
        state = SpawnState.WAITING;
        yield break;
    }
コード例 #21
0
        public void Display(WaveHandler handler, int amount, string enemyIdentifier)
        {
            _identifier = enemyIdentifier;
            IContentCachedPrefab enemy = Enemy.GetEnemy(_identifier);

            EnemyImage.sprite = Iconography.GenerateSprite(enemy.GetCache());

            _amount = amount;
            UpdateAmount();

            if (handler) // Bit janky but shut up
            {
                handler.OnEnemyKilled    += OnEnemyKilled;
                handler.OnEnemyFinished  += OnEnemyKilled;
                handler.OnAllEnemiesDone += OnWaveFinished;
            }
        }
コード例 #22
0
    public GameSave(PlayerHandler ph, WaveHandler wh)
    {
        level = wh.level;

        waveNumber = wh.currentWave;
        spawnDelay = wh.spawnDelay;

        money  = ph.money;
        health = ph.health;

        cells = new CellWrapper[ph.cells.Count];

        for (int i = 0; i < ph.cells.Count; i++)
        {
            cells[i] = new CellWrapper(ph.cells[i]);
        }
    }
コード例 #23
0
    private void Start()
    {
        centrePos   = centre.position;
        waveHandler = FindObjectOfType <WaveHandler>();

        waypoints   = new List <Vector2>();
        spawnPoints = new List <Vector2>();
        spawnDoors  = new List <Animator>();
        foreach (Transform point in waypointParent)
        {
            waypoints.Add(point.position);
        }
        foreach (Transform point in spawnpointParent)
        {
            spawnPoints.Add(point.position);
            spawnDoors.Add(point.GetComponentInChildren <Animator>());
        }
        instance = this;
    }
コード例 #24
0
        private bool StartWave(int wave)
        {
            ChangeState(RoundState.InProgress);
            WaveTimeline timeline = GetWave(wave);

            Debug.Log("Starting next wave!");

            if (timeline != null)
            {
                WaveHandler handler = Instantiate(WaveHandlerPrefab).GetComponent <WaveHandler>();
                handler.Assign(wave, timeline);
                AddWave(handler);

                handler.BeginWave();
                OnWaveStarted?.Invoke(wave, handler);
            }

            return(timeline != null);
        }
コード例 #25
0
            public void WriteE0(Chip chip, byte val)
            {
                if ((regE0 ^ val) == 0)
                {
                    return;
                }
                //in opl3 mode you can always selet 7 waveforms regardless of waveformselect
                byte waveForm = (byte)(val & ((0x3 & chip.waveFormMask) | (0x7 & chip.opl3Active)));

                regE0 = val;
#if WAVE_HANDLER
                waveHandler = WaveHandlerTable[waveForm];
#else
                waveBase = new short[WaveTable.Length - WaveBaseTable[waveForm]];
                Array.Copy(WaveTable, WaveBaseTable[waveForm], waveBase, 0, WaveTable.Length - WaveBaseTable[waveForm]);
                //waveBase = WaveTable + WaveBaseTable[ waveForm ];
                waveStart = (uint)(WaveStartTable[waveForm] << WAVE_SH);
                waveMask  = WaveMaskTable[waveForm];
#endif
            }
コード例 #26
0
        public void Display(int wave, WaveHandler handler, WaveTimeline timeline)
        {
            foreach (Transform child in transform)
            {
                if (child != TextTransform)
                {
                    Destroy(child.gameObject);
                }
            }

            Wave = wave;

            TitleText.text = wave == -1 ? "Next wave" : $"Wave {wave}";
            var dict = timeline.GetEnemySpawnAmount();

            foreach (var pair in dict)
            {
                EnemyTypeDisplay display = Instantiate(EnemyTypeDisplayPrefab, EnemyTypeDisplayParent).GetComponent <EnemyTypeDisplay>();
                display.Display(handler, pair.Value, pair.Key);
            }
        }
コード例 #27
0
ファイル: Form1.cs プロジェクト: geotrieu/shapestd
 /*****************************************************
  * Name: George Trieu
  * Date: 2018-06-08
  * Title: timer1_Tick
  * Purpose: This function is called with every tick from
  *          the timer.
  * Inputs: object sender
  *         EventArgs e
  * Returns: nothing
  ****************************************************/
 private void timer1_Tick(object sender, EventArgs e)
 {
     Pathfinding.MovePath();
     GameConditions.CheckEnemies();
     GameConditions.CheckHealth();
     //Sort Enemies every sortEnemiesInterval Seconds
     if (currentTick == sortEnemiesInterval)
     {
         SortEnemies.ReorderEnemies();
         currentTick = 0;
     }
     else
     {
         currentTick++;
     }
     WaveHandler.WaveTick();
     GameConditions.CheckWin();
     DrawGraphics.DrawEveryTick();
     if (MessageBox.messageActive)
     {
         timer1.Enabled = false;
     }
 }
コード例 #28
0
 void Awake()
 {
     waveHandler = GameObject.FindObjectOfType <WaveHandler>();
 }
コード例 #29
0
 private void OnWaveStarted(int arg1, WaveHandler arg2)
 {
     Text.text = DisplayText.Replace("{0}", (arg1 + 1).ToString());
 }
コード例 #30
0
 public void Initialization(WaveHandler handler, float force)
 {
     _handler = handler;
     _force   = force;
 }