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; }
// 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(); }
// Use this for initialization void Start() { // 漁師の絵を選択 spRender = this.GetComponent <SpriteRenderer> (); spRender.sprite = SelectFisherManType(); // 左右の向きを親クラスから取得 moveX = this.GetComponentInParent <MoveX>(); isLeft = moveX.GetIsLeft(); spRender.flipX = isLeft; }
// Update is called once per frame void Update() { // 方向転換した時に通知するのが面倒なのでヘタレる isLeft = moveX.GetIsLeft(); spRender.flipX = isLeft; }