コード例 #1
0
        /// <summary>
        /// Update effect
        /// </summary>
        /// <param name="resultSet">Result set</param>
        public override void Update(ResultSet resultSet)
        {
            var game = (RetroDungeoneerGame)RB.Game;

            if (mFallProgress > 0.3f && mStage == 0)
            {
                RB.SoundPlay(game.assets.soundPlayerFallYell);
                mStage = 1;
            }

            if (mFallProgress >= 0.9f && mStage == 1)
            {
                RB.SoundPlay(game.assets.soundMonsterAttack);
                mStage = 2;
            }

            if (mFallProgress >= 1.0f && mStage == 2)
            {
                mStage = 3;
            }

            if (mFallProgress > 2.0f && mStage == 3)
            {
                mIsBlocking = false;
                mStage      = 4;
            }

            mFallProgress += FLOAT_SPEED;

            if (mStage < 4)
            {
                // Make the player entity invisible while he's still falling, we'll custom render the player falling
                mPlayer.e.color.a = 0;
            }
            else
            {
                mPlayer.e.color.a = 255;
            }

            if (!mLanded && mStage >= 4)
            {
                mLanded = true;
                resultSet.AddFellDownWell();
            }
        }
コード例 #2
0
        /// <summary>
        /// Update effect
        /// </summary>
        /// <param name="resultSet">Result set</param>
        public override void Update(ResultSet resultSet)
        {
            if (mFallProgress > 0.3f && mStage == 0)
            {
                RB.SoundPlay(C.SOUND_PLAYER_FALL_YELL);
                mStage = 1;
            }

            if (mFallProgress >= 0.9f && mStage == 1)
            {
                RB.SoundPlay(C.SOUND_MONSTER_ATTACK);
                mStage = 2;
            }

            if (mFallProgress >= 1.0f && mStage == 2)
            {
                mStage = 3;
            }

            if (mFallProgress > 2.0f && mStage == 3)
            {
                mIsBlocking = false;
                mStage      = 4;
            }

            mFallProgress += FLOAT_SPEED;

            if (mStage < 4)
            {
                // Make the player entity invisible while he's still falling, we'll custom render the player falling
                mPlayer.e.color.a = 0;
            }
            else
            {
                mPlayer.e.color.a = 255;
            }

            if (!mLanded && mStage >= 4)
            {
                mLanded = true;
                resultSet.AddFellDownWell();
            }
        }