void BonusVisitor.Visit(ResurrectionBonusView resurrectionBonus) { LevelSettings levelSettings = GetLevelSettings(); result = player.ResurrectionBonusesTaken == 0 && player.Score >= 0.25f * levelSettings.CompletionScore && player.Score <= 0.5f * levelSettings.CompletionScore && playerStateStorage.Get().AvailableResurrectionsCount == 0; }
public void ApplyResurrectionBonus( PlayerView player, ResurrectionBonusView resurrectionBonus) { ++player.ResurrectionBonusesTaken; int addResurrectionsCount = 1; playerStateStorage.Get().AvailableResurrectionsCount += addResurrectionsCount; var popup = (WorldSpaceTextPopupView)popupManager.Get( resurrectionWorldPopupType); popup.Msg.text = strBuilder.Append('+') .Append(addResurrectionsCount) .Append(' ') .Append(translator.Translate("ResurrectionBonus.Take")) .ToString(); strBuilder.Length = 0; popup.LookAtTarget = player.Camera; popup.PlaceAbove(resurrectionBonus.Collider.bounds); popupManager.Show(popup); }