示例#1
0
    //----------------------------------------------------------------------------------------------------
    /// <summary>
    /// 投げる
    /// </summary>
    /// <param name="target">ターゲット</param>
    /// <param name="aura">オーラ</param>
    public void Throw(GameObject target, AuraAttribute aura)
    {
        //使用中
        if (m_countTravelTime != -1)
        {
            return;
        }

        //オーラ
        switch (aura)
        {
        case AuraAttribute.Heat:
            HeatAuraBall.SetActive(true);
            break;

        case AuraAttribute.Elasticity:
            ElasticityAuraBall.SetActive(true);
            break;

        case AuraAttribute.Electrical:
            ElectricalAuraBall.SetActive(true);
            break;
        }

        m_countTravelTime  = 0;
        m_target           = target;
        m_aura             = aura;
        transform.position = Pitcher.position;
    }
示例#2
0
    //----------------------------------------------------------------------------------------------------
    /// <summary>
    /// スペシャルを制御する
    /// </summary>
    void ControlSpecials()
    {
        //スペシャルの制限を設ける
        m_isKeepPressingAButton &= (m_isUseSp && !m_isFalling) && !m_isKeepPressingBButton && !m_isKeepPressingXButton;
        m_isKeepPressingBButton &= (m_isUseSp && !m_isFalling) && !m_isKeepPressingAButton && !m_isKeepPressingXButton;
        m_isKeepPressingXButton &= (m_isUseSp && !m_isFalling) && !m_isKeepPressingAButton && !m_isKeepPressingBButton;

        //スペシャル時間
        m_countSpTime += (m_isKeepPressingAButton || m_isKeepPressingBButton || m_isKeepPressingXButton) ?
                         Time.deltaTime : (-Time.deltaTime * m_spRecoveryRate);

        //スペシャル時間の上限下限
        if (m_countSpTime > m_spTime)
        {
            m_countSpTime = m_spTime;
            m_isUseSp     = false;
        }
        if (m_countSpTime < 0)
        {
            m_countSpTime = 0;
            m_isUseSp     = true;
        }

        //オーラの纏
        m_aura = m_isKeepPressingAButton ? AuraAttribute.Heat :
                 m_isKeepPressingBButton ? AuraAttribute.Electrical :
                 m_isKeepPressingXButton ? AuraAttribute.Elasticity : AuraAttribute.Non;
        WrappingUpAura(m_aura);
    }
示例#3
0
    //----------------------------------------------------------------------------------------------------
    /// <summary>
    /// 投げる
    /// </summary>
    /// <param name="target">ターゲット</param>
    /// <param name="aura">オーラ</param>
    /// <param name="isReduceSpGauge">SPゲージを減らす</param>
    public void ThrowAuraBall(GameObject target, AuraAttribute aura, bool isReduceSpGauge = true)
    {
        //タンクが満タンでない
        if (GetPercentageOfRemainingSpGauge() < 1f)
        {
            return;
        }

        //投げる
        AuraBall.Throw(target, aura);
        m_countSpTime += isReduceSpGauge ? m_spTime : 0;
        m_countSpTime  = (m_countSpTime > m_spTime ? m_spTime : m_countSpTime);
        m_isUseSp      = false;
    }
示例#4
0
    //----------------------------------------------------------------------------------------------------
    /// <summary>
    /// 投げる
    /// </summary>
    /// <param name="target">ターゲット</param>
    /// <param name="aura">オーラ</param>
    public void ThrowAuraBall(GameObject target, AuraAttribute aura)
    {
        //SPゲージが満タンでない
        if (NetPlayerSetting2.SpGauge < 1f)
        {
            return;
        }

        //投げる
        if (hasAuthority)
        {
            CmdAuraBall(aura);
            CmdAuraBallTarget(target);
        }
    }
示例#5
0
    //----------------------------------------------------------------------------------------------------
    /// <summary>
    /// オーラをまとう
    /// </summary>
    /// <param name="aura">オーラ</param>
    public void WrappingUpAura(AuraAttribute aura)
    {
        m_aura = aura;

        //オーラが変わった
        if (m_aura != m_auraPrev)
        {
            //前回のオーラ
            switch (m_auraPrev)
            {
            case AuraAttribute.Heat:
                HeatAura.SetActive(false);
                break;

            case AuraAttribute.Elasticity:
                ElasticityAura.SetActive(false);
                break;

            case AuraAttribute.Electrical:
                ElectricalAura.SetActive(false);
                break;
            }

            //今回のオーラ
            switch (aura)
            {
            case AuraAttribute.Heat:
                HeatAura.SetActive(true);
                MySoundManager.Instance.Play(SeCollection.FlameAura, true, false, transform.position);
                break;

            case AuraAttribute.Elasticity:
                ElasticityAura.SetActive(true);
                MySoundManager.Instance.Play(SeCollection.LightningAura, true, false, transform.position);
                break;

            case AuraAttribute.Electrical:
                ElectricalAura.SetActive(true);
                MySoundManager.Instance.Play(SeCollection.EarthAura, true, false, transform.position);
                break;
            }

            m_auraPrev = aura;
        }
    }
示例#6
0
    //----------------------------------------------------------------------------------------------------
    /// <summary>
    /// プレイヤー変数の管理
    /// </summary>
    void ManagingPlayerVariables()
    {
        //オーラボール
        if (IsInfoToThrowAuraBall())
        {
            Player.ThrowAuraBall(m_auraBallTarget, m_auraBall, hasAuthority);

            //権限のないものが何発も打てないように
            if (!hasAuthority)
            {
                m_auraBallTarget = null;
                m_auraBall       = AuraAttribute.Non;
            }
        }

        //権限を持ったプレイヤーでない
        if (!hasAuthority)
        {
            return;
        }

        //オーラ
        if (Player.Aura != m_aura)
        {
            CmdAura(Player.Aura);
        }

        //オーラボールの投げる情報ありandSpゲージがリセットする量
        if (IsInfoToThrowAuraBall() && (NetPlayerSetting2.SpGauge >= Player.SpRatioToResetAuraBall && NetPlayerSetting2.SpGauge < 1f))
        {
            ResetAuraBall();
        }

        //隕石破壊フラグ
        if (Player.IsMeteoriteDestruction)
        {
            //隕石破壊
            Player.IsMeteoriteDestruction = false;
            CmdMeteoriteDestructionNum(m_meteoriteDestructionNum + 1);
        }
    }
示例#7
0
 void SyncAura(AuraAttribute aura)
 {
     m_aura = aura;
     Player.WrappingUpAura(m_aura);
 }
示例#8
0
 void CmdAura(AuraAttribute aura)
 {
     m_aura = aura;
 }
示例#9
0
 void SyncAuraBall(AuraAttribute aura)
 {
     m_auraBall = aura;
 }
示例#10
0
 void CmdAuraBall(AuraAttribute aura)
 {
     m_auraBall = aura;
 }