Beispiel #1
0
    /*===============================================================*/
    /// <summary>取りあえずの実装:現状,敵攻撃動作のみに対応,ダメージなどはまだあたえられない</summary>
    public void AAttack(BattleEnemyGenerate generate)
    {
        // とりあえずの呼び出し
        Debug.Log("AAtack Function Call.");

        foreach (Combat.CombatState item in myCombatState)
        {
            if (item.isAction)                // 行動可能フラグが有効な時
            // 敵選択 Arrow を 表示する
            {
                HUD_BattleScene.ApplyMessageText(generate.GetEnemyStatusData
                                                     (item.id.gameObject.name + "_NAME") + "の攻撃");
                // 敵側からの攻撃 → Player 側への攻撃エフェクト表示をする
                // エフェクト再生関数を呼ぶ
                // 2 秒後に出す
                Observable.Timer(TimeSpan.FromMilliseconds(2000))
                .Subscribe(_ => new
                           PlayerEffect( ).SetEffectPlay(
                               UnityEngine.Random.Range(0, 3) /*ランダムに攻撃*/, "IsTest", 36.0f, 36.0f, 0.0f, -70.0f));

                // 行動可能フラグを無効にし行動終了とする
                item.isAction = false;
            }
        }
    }
Beispiel #2
0
    /*===============================================================*/

    /*===============================================================*/
    /// <summary>戦闘開始時の行動ゲームオブジェクト決定処理</summary>
    void InitializeActionTurn( )
    {
        // 戦闘開始時に 1 番目に行動するゲームオブジェクトを入れる
        actionTurnGameObj = ActionTurn( );
        // ターン中の行動 State を初期化
        for (int i = 0; i < actionTurnGameObj.GetLength(0); i++)
        {
            // 初期化
            ActionState.Add(new CombatState(actionTurnGameObj[i], 1, false, false));
        }
        // 一番目に行動可能とする
        ActionState[0].isAction = true;

        // キャラクター側の行動ターンまたは敵側の行動ターンか
        switch (actionTurnGameObj[0].name)
        {
        default: {
            Debug.Log("<color='red'>敵側の行動ターンです。</color>");
            HUD_BattleScene.ApplyStandPictureSprite(440.0f, -37.0f, 200.0f, 150.0f, -1); /* 立ち絵の画像を変更します */
            PlayerAnimator.StandPictureSlide(0);                                         // 立ち絵のスライドアニメーション関数を呼ぶ

            /////////////////////////////////////////////
            // TODO : 取りあえずの実装
            new Attack( ).AAttack(generate);
            /////////////////////////////////////////////

            break;
        }

        case "Character0": {
            Debug.Log("<color='red'>Character1の行動ターンです。</color>");
            HUD_BattleScene.ApplyStandPictureSprite(440.0f, -37.0f, 200.0f, 150.0f, 0);
            PlayerAnimator.StandPictureSlide(1);
            break;
        }

        case "Character1": {
            Debug.Log("<color='red'>Character2の行動ターンです。</color>");
            PlayerAnimator.StandPictureSlide(1);
            HUD_BattleScene.ApplyStandPictureSprite(440.0f, -37.0f, 200.0f, 150.0f, 1);
            break;
        }

        case "Character2": {
            Debug.Log("<color='red'>Character3の行動ターンです。</color>");
            PlayerAnimator.StandPictureSlide(1);
            HUD_BattleScene.ApplyStandPictureSprite(440.0f, -37.0f, 200.0f, 150.0f, 2);
            break;
        }

        case "Character3": {
            Debug.Log("<color='red'>Character4の行動ターンです。</color>");
            PlayerAnimator.StandPictureSlide(1);
            HUD_BattleScene.ApplyStandPictureSprite(440.0f, -37.0f, 200.0f, 150.0f, 3);
            break;
        }
        }
    }
Beispiel #3
0
    /*===============================================================*/

    /*===============================================================*/
    /// <summary>
    /// @brief 初期化
    /// </summary>
    void Initialize( )
    {
        // 呼び出そうとしているスクリプトは, Combat スクリプトがアタッチされているオブジェクトと同じオブジェクトにアタッチ
        // されているので現在アタッチされているゲームオブジェクトで初期化する
        thisObj = this.gameObject;
        thisObj.GetComponent <BattleEnemyGenerate>( ).Initialize( );

        generate = thisObj.GetComponent <BattleEnemyGenerate>( );
        hud      = thisObj.GetComponent <HUD_BattleScene>( );

        playersSpeed[0] = hud.Player1.SPD;
        playersSpeed[1] = hud.Player2.SPD;
        playersSpeed[2] = hud.Player3.SPD;
        playersSpeed[3] = hud.Player4.SPD;
        playersSpeed[4] = hud.Player5.SPD;
        playersSpeed[5] = hud.Player6.SPD;
    }
Beispiel #4
0
    /*===============================================================*/

    /*===============================================================*/
    /// <summary>攻撃や防御などの先頭コマンド選択処理</summary>
    /// <param name="combat">MyOnClickから呼び出されたゲームオブジェクトが入ります</param>
    void InputEvent(GameObject combat)
    {
        switch (combat.GetComponent <Text>( ).text)
        {
        default: {
            // スキル ( 攻撃名 ) 表示
            if (skillMessageFlg)
            {
                HUD_BattleScene.ApplyMessageText(combat.GetComponent <Text>( ).text);
            }
            break;
        }

        case "攻撃": {
            // エフェクト再生関数を呼ぶ
            EnemyEffect.SetEffectPlay(0, "IsSword", 1.0f, 1.0f, 0.0f, 0.0f);
            HUD_BattleScene.ApplyMessageText("攻撃");
            skillMessageFlg = false;                     // 元に戻す

            /////////////////////////////////////////////////
            /// TODO 攻勢チェンジテスト
            Combat.GetCombatState[0].isAction = false;
            Combat.GetCombatState[1].isAction = true;
            /////////////////////////////////////////////////

            break;
        }

        case "防御": {
            // エフェクト再生関数を呼ぶ
            EnemyEffect.SetEffectPlay(0, "IsSpear", 1.0f, 1.0f, 0.0f, -0.5f);
            skillMessageFlg = false;                     // 元に戻す
            break;
        }

        case "スキル": {
            // スクロールバーを閉じる
            combat.transform.parent.parent.parent.GetChild(4).gameObject.SetActive(false);
            combat.transform.parent.parent.parent.GetChild(5).gameObject.SetActive(false);
            // スクロールバーを出現させる
            combat.transform.parent.parent.parent.GetChild(3).gameObject.SetActive(true);
            // スキルスクロールバーを操作できるようにする
            pocketElement = 0;
            // カウント変数の初期化
            slvCnt = 0;
            // スキル ( 攻撃名 ) を表示できるようにする
            skillMessageFlg = true;
            break;
        }

        case "入れ替え": {
            // スクロールバーを閉じる
            combat.transform.parent.parent.parent.GetChild(3).gameObject.SetActive(false);
            combat.transform.parent.parent.parent.GetChild(5).gameObject.SetActive(false);
            // スクロールバーを出現させる
            combat.transform.parent.parent.parent.GetChild(4).gameObject.SetActive(true);
            // 入れ替えスクロールバーを操作できるようにする
            pocketElement = 1;
            // カウント変数の初期化
            slvCnt          = 0;
            skillMessageFlg = false;                     // 元に戻す
            break;
        }

        case "アイテム": {
            // スクロールバーを閉じる
            combat.transform.parent.parent.parent.GetChild(3).gameObject.SetActive(false);
            combat.transform.parent.parent.parent.GetChild(4).gameObject.SetActive(false);
            // スクロールバーを出現させる
            combat.transform.parent.parent.parent.GetChild(5).gameObject.SetActive(true);
            // アイテムスクロールバーを操作できるようにする
            pocketElement = 2;
            // カウント変数の初期化
            slvCnt          = 0;
            skillMessageFlg = false;                     // 元に戻す
            break;
        }

        case "逃走": {
            break;
        }
        }
    }