/// <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(); } }
/// <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(); } }