EnemyGenerator.Update C# (CSharp) Method

Update() private method

private Update ( ) : void
return void
    void Update()
    {
        /*if (Time.timeSinceLevelLoad >= startTime)
            {
                if (!Generate())
                    return;

                startTime = Time.timeSinceLevelLoad + timeSpan;
            }*/

            if (raycastingEnabled)
            {
                if (enemies != null && enemies.Count > 0)
                {
                    foreach (GameObject go in enemies)
                        go.GetComponent<EnemyController>().DoRayCast();
                }
            }

            if (!isGenerated && Generator.generatorDone == true)
            {
                if (!Generate())
                    return;

                isGenerated = true;

                /*if (startTime == -1)
                    startTime = Time.timeSinceLevelLoad + timeSpan;*/
            }
    }

Usage Example

Esempio n. 1
0
    // 更新・メイン
    void UpdateMain()
    {
        // 敵生成管理の更新
        _enemyGenerator.Update();

        // 配置できるかどうか判定
        if (_cursor.Placeable == false)
        {
            // 配置できないのでここでおしまい
            return;
        }

        // カーソルの下にあるオブジェクトをチェック
        int        mask = 1 << LayerMask.NameToLayer("Tower");
        Collider2D col  = Physics2D.OverlapPoint(_cursor.GetPosition(), mask);

        _selObj = null;
        if (col != null)
        {
            // 選択中のオブジェクトを格納
            _selObj = col.gameObject;
        }

        // マウスクリック判定
        if (Input.GetMouseButtonDown(0) == false)
        {
            //クリックしていないので以下の処理は不要
            return;
        }

        if (_selObj != null)
        {
            // 砲台をクリックした
            // 選択した砲台オブジェクトを取得
            _selTower = _selObj.GetComponent <Tower>();

            // アップグレードモードに移行する
            ChangeSelMode(eSelMode.Upgrade);
        }

        switch (_selMode)
        {
        case eSelMode.Buy:
            if (_cursor.SelObj == null)
            {
                // 所持金を減らす
                int cost = Cost.TowerProduction();
                Global.UseMoney(cost);
                // 何もないので砲台を配置
                Tower.Add(_cursor.X, _cursor.Y);
                // 次のタワーの生産コストを取得する
                int cost2 = Cost.TowerProduction();
                if (Global.Money < cost2)
                {
                    // お金が足りないので通常モードに戻る
                    ChangeSelMode(eSelMode.None);
                }
            }
            break;
        }
    }
All Usage Examples Of EnemyGenerator::Update