NAK_CVR_Mods/ASTExtension/Extensions/PlayerSetupExtensions.cs
2024-12-02 20:04:47 -06:00

24 lines
No EOL
835 B
C#

using ABI_RC.Core;
using ABI_RC.Core.Player;
using UnityEngine;
namespace NAK.ASTExtension.Extensions;
public static class PlayerSetupExtensions
{
// immediate measurement of the player's avatar height
public static float GetCurrentAvatarHeight(this PlayerSetup playerSetup)
{
if (playerSetup._avatar == null)
{
ASTExtensionMod.Logger.Error("GetCurrentAvatarHeight: Avatar is null");
return 0f;
}
Vector3 localScale = playerSetup._avatar.transform.localScale;
Vector3 initialScale = playerSetup.initialScale;
float initialHeight = playerSetup._initialAvatarHeight;
Vector3 scaleDifference = CVRTools.DivideVectors(localScale - initialScale, initialScale);
return initialHeight + initialHeight * scaleDifference.y;
}
}