ArabDesert/Assets/UdonSharp/UtilityScripts/PlayerModSetter.cs

42 lines
1.2 KiB
C#

using UnityEngine;
using UdonSharp;
using VRC.SDKBase;
namespace UdonSharp.Examples.Utilities
{
[AddComponentMenu("Udon Sharp/Utilities/Player Mod Setter")]
[UdonBehaviourSyncMode(BehaviourSyncMode.NoVariableSync)]
public class PlayerModSetter : UdonSharpBehaviour
{
public float jumpHeight = 3f;
public float runSpeed = 4f;
public float walkSpeed = 2f;
public float strafeSpeed = 2f;
public float gravity = 1f;
[Tooltip("Enables legacy locomotion which allows stutter stepping and wall climbing")]
public bool useLegacyLocomotion = false;
void Start()
{
var playerApi = Networking.LocalPlayer;
// Prevent error in editor from null player API
if (playerApi != null)
{
playerApi.SetJumpImpulse(jumpHeight);
playerApi.SetRunSpeed(runSpeed);
playerApi.SetWalkSpeed(walkSpeed);
playerApi.SetStrafeSpeed(strafeSpeed);
playerApi.SetGravityStrength(gravity);
if (useLegacyLocomotion)
playerApi.UseLegacyLocomotion();
}
Destroy(this);
}
}
}