Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 22 additions & 23 deletions MoreCompany/AudioMixerPatches.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,37 @@
using UnityEngine;
using UnityEngine.Audio;

namespace MoreCompany
namespace MoreCompany;

[HarmonyPatch(typeof(AudioMixer), "SetFloat")]
public static class AudioMixerSetFloatPatch
{
[HarmonyPatch(typeof(AudioMixer), "SetFloat")]
public static class AudioMixerSetFloatPatch
public static bool Prefix(string name, float value)
{
public static bool Prefix(string name, float value)
if (name.StartsWith("PlayerVolume") || name.StartsWith("PlayerPitch"))
{
if (name.StartsWith("PlayerVolume") || name.StartsWith("PlayerPitch"))
{
string cutName = name.Replace("PlayerVolume", "").Replace("PlayerPitch", "");
int playerObjectNumber = int.Parse(cutName);
string cutName = name.Replace("PlayerVolume", "").Replace("PlayerPitch", "");
int playerObjectNumber = int.Parse(cutName);



PlayerControllerB playerControllerB = StartOfRound.Instance.allPlayerScripts[playerObjectNumber];
AudioSource voiceSource = playerControllerB.currentVoiceChatAudioSource;
if (playerControllerB != null && voiceSource)
PlayerControllerB playerControllerB = StartOfRound.Instance.allPlayerScripts[playerObjectNumber];
AudioSource voiceSource = playerControllerB.currentVoiceChatAudioSource;
if (playerControllerB != null && voiceSource)
{
if (name.StartsWith("PlayerVolume"))
{
if (name.StartsWith("PlayerVolume"))
{
voiceSource.volume = value/16;
}
else if (name.StartsWith("PlayerPitch"))
{
voiceSource.pitch = value;
}
voiceSource.volume = value/16;
}
else if (name.StartsWith("PlayerPitch"))
{
voiceSource.pitch = value;
}

return false;
}

return true;
return false;
}

return true;
}
}
60 changes: 28 additions & 32 deletions MoreCompany/Behaviors/SpinDragger.cs
Original file line number Diff line number Diff line change
@@ -1,47 +1,43 @@
using System;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.InputSystem;
using UnityEngine.InputSystem.Controls;
using UnityEngine.UI;

namespace MoreCompany.Behaviors
namespace MoreCompany.Behaviors;

public class SpinDragger : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
public class SpinDragger : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
public float speed = 1f;
Vector2 lastMousePosition;
bool dragging = false;
Vector3 rotationalVelocity = Vector3.zero;
public float dragSpeed = 1f;
public float airDrag = 0.99f;
public GameObject target;
public float speed = 1f;
Vector2 lastMousePosition;
bool dragging = false;
Vector3 rotationalVelocity = Vector3.zero;
public float dragSpeed = 1f;
public float airDrag = 0.99f;
public GameObject target;



private void Update()
private void Update()
{
if (dragging)
{
if (dragging)
{
Vector3 mouseDelta = Mouse.current.position.ReadValue() - lastMousePosition;
rotationalVelocity += new Vector3(0, -mouseDelta.x, 0) * dragSpeed;
lastMousePosition = Mouse.current.position.ReadValue();
}
Vector3 mouseDelta = Mouse.current.position.ReadValue() - lastMousePosition;
rotationalVelocity += new Vector3(0, -mouseDelta.x, 0) * dragSpeed;
lastMousePosition = Mouse.current.position.ReadValue();
}

rotationalVelocity *= airDrag;
rotationalVelocity *= airDrag;

target.transform.Rotate(rotationalVelocity * Time.deltaTime * speed, Space.World);
}
target.transform.Rotate(rotationalVelocity * Time.deltaTime * speed, Space.World);
}

public void OnPointerDown(PointerEventData eventData)
{
lastMousePosition = Mouse.current.position.ReadValue();
dragging = true;
}
public void OnPointerDown(PointerEventData eventData)
{
lastMousePosition = Mouse.current.position.ReadValue();
dragging = true;
}

public void OnPointerUp(PointerEventData eventData)
{
dragging = false;
}
public void OnPointerUp(PointerEventData eventData)
{
dragging = false;
}
}
Loading