public override void Update() { if (Enabled) { float barWidth = HUDVitals.nativeBarWidth * Scale.x; PlayerActivateModes mode = GameManager.Instance.PlayerActivate.CurrentMode; switch (mode) { case PlayerActivateModes.Steal: BackgroundTexture = StealTexture; Size = stealSize * displayScale; break; case PlayerActivateModes.Grab: BackgroundTexture = GrabTexture; Size = grabSize * displayScale; break; case PlayerActivateModes.Info: BackgroundTexture = InfoTexture; Size = infoSize * displayScale; break; case PlayerActivateModes.Talk: BackgroundTexture = TalkTexture; Size = talkSize * displayScale; break; } Position = new Vector2((barWidth * 5) + (HUDVitals.borderSize * 2), Screen.height - HUDVitals.borderSize - Size.y); base.Update(); } }
// Sets new activation mode private void ChangeInteractionMode(PlayerActivateModes newMode) { // Do nothing if new mode matches current mode if (newMode == currentMode) { return; } // Set the new mode currentMode = newMode; // Get output text based on mode string modeText = string.Empty; switch (currentMode) { case PlayerActivateModes.Steal: modeText = HardStrings.steal; break; case PlayerActivateModes.Grab: modeText = HardStrings.grab; break; case PlayerActivateModes.Info: modeText = HardStrings.info; break; case PlayerActivateModes.Talk: modeText = HardStrings.dialogue; break; } // Present new mode to player DaggerfallUI.SetMidScreenText(HardStrings.interactionIsNowInMode.Replace("%s", modeText)); }
public override void Update() { if (Enabled) { if (crosshair) { if (crosshairTexture == null) { crosshairTexture = hudCrosshair.CrosshairTexture; crosshairSize = hudCrosshair.crosshairSize; } PlayerActivateModes mode = GameManager.Instance.PlayerActivate.CurrentMode; switch (mode) { case PlayerActivateModes.Steal: hudCrosshair.CrosshairTexture = StealTexture; hudCrosshair.crosshairSize = stealSize * displayScale; break; case PlayerActivateModes.Grab: hudCrosshair.CrosshairTexture = crosshairTexture; hudCrosshair.crosshairSize = crosshairSize; break; case PlayerActivateModes.Info: hudCrosshair.CrosshairTexture = InfoTexture; hudCrosshair.crosshairSize = infoSize * displayScale; break; case PlayerActivateModes.Talk: hudCrosshair.CrosshairTexture = TalkTexture; hudCrosshair.crosshairSize = talkSize * displayScale; break; } } else { float barWidth = HUDVitals.nativeBarWidth * Scale.x; float resScale = Scale.x > 3 ? 1 : 1 / Scale.x * 3; // Scale down at low resolutions. PlayerActivateModes mode = GameManager.Instance.PlayerActivate.CurrentMode; switch (mode) { case PlayerActivateModes.Steal: BackgroundTexture = StealTexture; Size = stealSize * displayScale / resScale; break; case PlayerActivateModes.Grab: BackgroundTexture = GrabTexture; Size = grabSize * displayScale / resScale; break; case PlayerActivateModes.Info: BackgroundTexture = InfoTexture; Size = infoSize * displayScale / resScale; break; case PlayerActivateModes.Talk: BackgroundTexture = TalkTexture; Size = talkSize * displayScale / resScale; break; } Position = new Vector2((barWidth * 5) + (HUDVitals.borderSize * 2), Screen.height - HUDVitals.borderSize - Size.y); } base.Update(); } }