Exemplo n.º 1
0
    public void Init(EnemyBase enemyBase, HpSlider hpSlider, WaveBase wave)
    {
        m_Data     = enemyBase;
        m_HpSlider = hpSlider;

        //更新数据
        m_Data.Coin         = wave.Coin;
        m_Data.CurrentHp    = wave.Hp;
        m_Data.TotalHp      = wave.Hp;
        m_Data.MoveSpeed    = wave.MoveSpeed;
        m_Data.MagicDefense = wave.MagicDefense;
        m_Data.Defense      = wave.Defense;
    }
Exemplo n.º 2
0
    private void SpawnEnemy(int id, Vector3 pos, WaveBase wave)
    {
        EnemyBase enemyBase = Tools.Clone(m_EnemyData.EnemyDict[id]);
        Enemy     enemy     = ObjectManager.Instance.InstantiateObject(enemyBase.Path).GetComponent <Enemy>();

        //HpSlider
        HpSlider hpSlider = ObjectManager.Instance.InstantiateObject(Consts.UI_HpSlider).GetComponent <HpSlider>();

        hpSlider.Init(enemy.gameObject);

        enemy.Init(enemyBase, hpSlider, wave);
        enemy.transform.position = pos;
    }
Exemplo n.º 3
0
    public void NextWave()
    {
        _childIndex++;
        if (_childIndex >= transform.childCount)
        {
            Debug.Log("Out of waves, reloading scene");
            GameManager.ReloadScene();
            return;
        }

        _currentWave = transform.GetChild(_childIndex).GetComponent <WaveBase>();

        if (_currentWave is WaveFight)
        {
            _unitHighlight.SetEnemyWave(GetEnemyWave());
            _battleSystem.UpdateUnits();
        }
        else
        {
            Debug.Log("Skipped non fight wave!");
            NextWave();
        }
    }
Exemplo n.º 4
0
    IEnumerator StartSpawn(int wave, System.Action action)
    {
        WaveBase waveBase = m_WaveData.WaveDict[wave];

        yield return(new WaitForSeconds(ModelManager.Instance.WaitingTime));

        int count = waveBase.Count;

        while (count > 0)
        {
            count--;
            //SpawnEnemy(wave.EnemyId, Vector3.zero, wave);
            yield return(new WaitForSeconds(waveBase.Interval));
        }
        //结束回调
        if (wave % 5 == 0)
        {
            SpawnWelfare(wave, action);
        }
        else
        {
            action?.Invoke();
        }
    }
Exemplo n.º 5
0
 public void Wave(WaveBase wave)
 {
     WaveContainer.Add(wave);
 }
Exemplo n.º 6
0
 /// <summary>
 /// Build a minimal row from a class (key fields only)
 /// </summary>
 public static void BuildMinimalRow(ref DataRow row, Wave entity)
 {
     WaveBase.BuildMinimalRow(ref row, entity);
 }