示例#1
0
    //----------------------------------------------------------------------------------------------------
    /// <summary>
    /// ボス画像が並ぶ
    /// </summary>
    void BossImageLineUp()
    {
        //移動
        Transposition(BossImage[m_numAppearingImages].gameObject, Vector3.zero,
                      m_initPosBossImage[m_numAppearingImages] / 2, m_countTimeState - (m_bossImageAppealTime + m_bossImageAppearanceTime), m_bossImageLineUpTime);

        //倍率
        BossImage[m_numAppearingImages].transform.localScale = Vector3.one
                                                               * (Mathf.Min(((m_bossImageLineUpTime - (m_countTimeState - (m_bossImageAppealTime + m_bossImageAppearanceTime))) + 1), m_bossImageMagnification));

        //並ぶ時間を超えたor了解ボタンの押下
        if (m_countTimeState - (m_bossImageAppealTime + m_bossImageAppearanceTime) >= m_bossImageLineUpTime || m_isPressedOk)
        {
            BossImage[m_numAppearingImages].transform.localPosition = m_initPosBossImage[m_numAppearingImages] / 2;
            BossImage[m_numAppearingImages].transform.eulerAngles   = Vector3.zero;
            BossImage[m_numAppearingImages++].transform.localScale  = Vector3.one;
            AppealText.text = "";
            m_openingState  = OpeningStatus.WaitForUserInput;

            //ボス画像が全て並んだ
            if (m_numAppearingImages >= BossImage.Length)
            {
                m_stateNum++;
            }
        }
    }
示例#2
0
    //----------------------------------------------------------------------------------------------------
    /// <summary>
    /// オープニングを開始
    /// </summary>
    public void StartOpening()
    {
        //視聴済み
        if (PlayerPrefs.GetInt(PlayerPrefsKeys.IS_WATCH_OPENING) == PlayerPrefsKeys.TRUE)
        {
            m_isEnd = true;
            return;
        }

        gameObject.SetActive(true);
        Sign.SetActive(false);
        King.SetActive(false);
        Boss.SetActive(false);
        m_stateNum           = 0;
        m_serifNum           = 0;
        m_serifStatementNum  = 0;
        m_numAppearingImages = 0;
        AppealText.text      = "";
        m_openingState       = OpeningStatus.Moving;
        m_openingStatePrev   = OpeningStatus.NotOpening;
        m_isEnd = false;

        //BGMの再生
        MySoundManager.Instance.Play(BgmCollection.Openning);
    }
示例#3
0
    //----------------------------------------------------------------------------------------------------
    /// <summary>
    /// 動作処理3
    /// </summary>
    void MovingProcess3()
    {
        //初めて状態が変わった(個別設定)
        if (m_openingState != m_openingStatePrev)
        {
            Sign.SetActive(false);
            King.SetActive(false);
            Boss.SetActive(true);
            m_bossImageAppearanceState = BossImageAppearanceStatus.Emergence;
            for (var i = m_numAppearingImages; i < BossImage.Length; i++)
            {
                //ボス画像を指定の位置へ
                BossImage[i].transform.localPosition = m_initPosBossImage[i] * (1 + (1.0f / (m_screenSize.x / BossImage[i].rectTransform.sizeDelta.x)));
            }

            m_openingStatePrev = m_openingState;
        }

        m_countTimeState += Time.deltaTime;

        //了解ボタンの押下
        if (m_isPressedOk)
        {
            m_bossImageAppearanceState = BossImageAppearanceStatus.LineUp;
        }

        //ボス画像が出現
        BossImageAppear();
    }
示例#4
0
文件: Opening.cs 项目: qmhoang/SKR
        public Opening(string openedAsset, string closedAsset, string openDescription, string closedDescription, bool walkableWhenOpened = true, int apCost = DefaultDoorUseAPCost, OpeningStatus status = OpeningStatus.Closed)
        {
            Contract.Requires <ArgumentException>(!String.IsNullOrEmpty(closedAsset));
            Contract.Requires <ArgumentException>(!String.IsNullOrEmpty(openedAsset));

            this._status      = status;
            APCost            = apCost;
            OpenedAsset       = openedAsset;
            ClosedAsset       = closedAsset;
            WalkableOpened    = walkableWhenOpened;
            OpenedDescription = openDescription;
            ClosedDescription = closedDescription;
        }
示例#5
0
    //----------------------------------------------------------------------------------------------------
    /// <summary>
    /// 動作処理4
    /// </summary>
    void MovingProcess4()
    {
        //初めて状態が変わった(個別設定)
        if (m_openingState != m_openingStatePrev)
        {
            Sign.SetActive(false);
            King.SetActive(true);
            Boss.SetActive(false);
            m_serifStatement   = myOpeningData.sheets[m_serifNum].list[m_serifStatementNum++].sentence;
            m_openingStatePrev = m_openingState;
        }

        //セリフ処理
        SerifProcess();
    }
示例#6
0
    //----------------------------------------------------------------------------------------------------
    /// <summary>
    /// 動作処理1
    /// </summary>
    void MovingProcess1()
    {
        //初めて状態が変わった(個別設定)
        if (m_openingState != m_openingStatePrev)
        {
            Sign.SetActive(true);
            King.SetActive(false);
            Boss.SetActive(false);
            m_openingStatePrev = m_openingState;
        }

        m_countTimeState += Time.deltaTime;

        //看板に注目する時間を超えるor了解ボタンの押下
        if (m_countTimeState >= m_timeToPayAttentionToSignboard || m_isPressedOk)
        {
            m_stateNum++;
            m_openingState = OpeningStatus.WaitForUserInput;
        }
    }
示例#7
0
    //----------------------------------------------------------------------------------------------------
    /// <summary>
    /// セリフ処理
    /// </summary>
    void SerifProcess()
    {
        SerifText.text = m_serifStatement.Substring(0, (int)(m_countTimeState * m_speedSpeech));

        m_countTimeState += Time.deltaTime;

        //セリフの文が終了or了解ボタンの押下
        if (SerifText.text.Length >= m_serifStatement.Length || m_isPressedOk)
        {
            SerifText.text = m_serifStatement;
            m_openingState = OpeningStatus.WaitForUserInput;

            //セリフの終了
            if (m_serifStatementNum + 1 > myOpeningData.sheets[m_serifNum].list.Count)
            {
                //状態の変更
                m_stateNum++;
                m_serifNum++;
                m_serifStatementNum = 0;
            }
        }
    }
示例#8
0
    //----------------------------------------------------------------------------------------------------
    /// <summary>
    /// ユーザ入力を待つ処理
    /// </summary>
    void WaitForUserInputProcess()
    {
        //初めて状態が変わった
        if (m_openingState != m_openingStatePrev)
        {
            OkImage.enabled    = true;
            m_openingStatePrev = m_openingState;
        }

        m_countFlashingTime += Time.deltaTime;

        //点滅処理
        if (m_countFlashingTime >= m_blinkingTime)
        {
            OkImage.enabled     = !OkImage.enabled;
            m_countFlashingTime = 0;
        }

        //了解ボタンの押下
        if (m_isPressedOk)
        {
            m_openingState = OpeningStatus.Moving;
        }
    }