Beispiel #1
0
    bool isStartAct = false;            // 行動開始するか

    // Use this for initialization
    void Start()
    {
        // 他のクラスでも使う関数を切り出した
        //generalFunc = new GeneralFunc ();

        // 左右の向きを親クラスから取得
        moveX  = this.GetComponentInParent <MoveX>();
        isLeft = moveX.GetIsLeft();

        // コピー用銛をDeactiveに
        boatSpear.SetActive(false);

        // 一斉攻撃のタイミング取得用
        // BoatManagerはGameController経由で取得
        gameControllerObj = GameObject.FindWithTag("GameController");
        gameCtrl          = gameControllerObj.GetComponent <GameController>();
        boatManager       = gameCtrl.GetBoatManager();


        // 設定値取得等の初期設定
        InitSetting();

        // ダメージの確認用
        boatDamage = this.GetComponent <BoatDamage> ();

        // 銛関係のマネージャ
        GameObject   obj           = new GameObject("SpearManger");
        SpearManager smAddComponet = obj.AddComponent <SpearManager> ();

        spearManager = smAddComponet;
    }
Beispiel #2
0
    // Update is called once per frame
    void Update()
    {
        // 行動開始するまでの待機処理
        StandBy();

        isLeft = moveX.GetIsLeft();

        // 攻撃中なら攻撃間隔時間を減らして0以下になれば
        // 次の攻撃が出来る
        if (isAttack)
        {
            AttackStandByTime();
        }

        // 行動開始しているなら
        if (isStartAct)
        {
            // 行動後時間中待機処理
            if (isActed)
            {
                AttackStandByTime();
            }
            else
            {
                Act();  // 行動後時間中でなければ行動
            }
        }

        // ダメージ時間処理
        bool IsDamage = boatDamage.Damage();

        // 一斉攻撃待機中か確認
        bool AllOutAttackStandBy = boatManager.AllOutAttackStandBy();

        if (AllOutAttackStandBy)
        {
            return;                              // 一斉攻撃待機中は普通の攻撃はしないので抜ける
        }
        // ダメージ中の処理
        // ダメージ時間中でなければ攻撃する
        if (!IsDamage)
        {
            isAttack = spearManager.Fire(
                false,
                isAttack,
                isLeft,
                this.gameObject.transform,
                boatSpear.gameObject.transform.position.x,
                boatSpear.gameObject.transform.position.y,
                boatSpear,
                boatType
                );
        }

        // 削除された銛をListから削除
        spearManager.DeleteSpears();
    }
Beispiel #3
0
    // Use this for initialization
    void Start()
    {
        // 漁師の絵を選択
        spRender        = this.GetComponent <SpriteRenderer> ();
        spRender.sprite = SelectFisherManType();

        // 左右の向きを親クラスから取得
        moveX          = this.GetComponentInParent <MoveX>();
        isLeft         = moveX.GetIsLeft();
        spRender.flipX = isLeft;
    }
Beispiel #4
0
 // Update is called once per frame
 void Update()
 {
     // 方向転換した時に通知するのが面倒なのでヘタレる
     isLeft         = moveX.GetIsLeft();
     spRender.flipX = isLeft;
 }