// Token: 0x060010BE RID: 4286 private void UpdateRelicViewHUDState(CollectibleEntityView view) { // MOD: remove artifact views that are moved off the map if (view.Entity.GetComponent(10).Position2D.X > Fixed64.FromInt(100000)) { this.DespawnAndRemoveRelicView(view.Entity, view); return; } // MOD SimStateFrame currentSimFrame = ShipbreakersMain.CurrentSimFrame; if (currentSimFrame == null) { return; } RelicState relicState = currentSimFrame.FindObject <RelicState>(view.Entity); if (relicState == null) { return; } CollectibleState collectibleState = currentSimFrame.FindObject <CollectibleState>(view.Entity); if (collectibleState == null) { return; } DetectionState visibility = relicState.Visibility; if (ReplayPanelController.RevealAll || SimController.sSpectatorModeEnabled) { visibility = DetectionState.Sensed; } bool flag = relicState.HasTimer && relicState.TimerDirection == TimerDirection.Countup && !relicState.TimerCompleted; if (collectibleState.AvailableForCollection) { this.UpdateRelicDefaultIconSprite(view, visibility, flag); } else { this.UpdateRelicAttachedIconSprite(view, DetectionState.Sensed, false); } this.UpdateRelicIconTrackOnScreenEdge(view, !flag); bool flag2 = view.ShouldShowIcon(); view.ShowIcon(flag2); if (!flag2 && this.mShowingTooltipForEntity != Entity.None && this.mShowingTooltipForEntity == view.Entity) { this.mShowingTooltipForEntity = Entity.None; UISystem.HideTooltip(); } }
public void OnPickup(Player player) { if (_collectibleState != CollectibleState.Available) { return; } player.EquipGun(Preset.Gun.Name); _collectibleState = CollectibleState.Unavailable; _pickupHitbox.setEnabled(false); _collisionHitbox.setEnabled(false); destroy(); }
private void CollectibleObtained(GameObject playerObject) { this.state = CollectibleState.Collected; float pitchShift = Random.Range(-0.5f, 0.5f); this.audio.pitch += pitchShift; this.audio.Play(); PlayerManager player = playerObject.GetComponent <PlayerManager>(); if (player != null) { player.CollectibleObtained(); } }
private void SetupPickupHitbox() { setTag(Tags.Collectible); if (_collectibleState == CollectibleState.Unavailable) { return; } _collectibleState = CollectibleState.Available; _pickupHitbox = addComponent(new BoxCollider()); _pickupHitbox.isTrigger = true; Flags.setFlagExclusive(ref _pickupHitbox.physicsLayer, Layers.Interactables); var interactable = addComponent(new InteractableComponent { OnInteract = player => OnPickup(player) }); }
public void FallIntoPit(Entity pitEntity) { Velocity = Vector2.Zero; _acceleration = Vector2.Zero; _collectibleState = CollectibleState.Unavailable; UpdateHighlightRendering(); _mover.setEnabled(false); _collisionHitbox.setEnabled(false); if (_pickupHitbox != null) { _pickupHitbox.setEnabled(false); _pickupHitbox.collidesWithLayers = 0; _pickupHitbox.physicsLayer = 0; } var easeType = EaseType.CubicOut; var durationSeconds = 1.25f; var targetScale = 0.2f; var targetRotationDegrees = 180; var targetColor = new Color(0, 0, 0, 0.25f); var destination = pitEntity.localPosition; _hoverTween?.stop(true); this.tweenPositionTo(destination, durationSeconds) .setEaseType(easeType) .setCompletionHandler(_ => this.setEnabled(false)) .start(); this.tweenRotationDegreesTo(targetRotationDegrees, durationSeconds) .setEaseType(easeType) .start(); this.tweenScaleTo(targetScale, durationSeconds) .setEaseType(easeType) .start(); _sprite.tweenColorTo(targetColor, durationSeconds) .setEaseType(easeType) .start(); }