UI 자동화를 위해 바인딩 기능 구현
- 유니티 에셋 인증 오류로 meta 재생성
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"name": "Unity.InputSystem.DocCodeSamples",
|
||||
"rootNamespace": "",
|
||||
"references": [
|
||||
"GUID:75469ad4d38634e559750d17036d5f7c"
|
||||
],
|
||||
"includePlatforms": [
|
||||
"Editor"
|
||||
],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": false,
|
||||
"overrideReferences": true,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": false,
|
||||
"defineConstraints": [],
|
||||
"versionDefines": [],
|
||||
"noEngineReferences": false
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 41b01d3964f844d8b43923c18b3a9a6f
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,53 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
namespace DocCodeSamples.Tests
|
||||
{
|
||||
internal class GamepadExample : MonoBehaviour
|
||||
{
|
||||
void Start()
|
||||
{
|
||||
// Print all connected gamepads
|
||||
Debug.Log(string.Join("\n", Gamepad.all));
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
var gamepad = Gamepad.current;
|
||||
|
||||
// No gamepad connected.
|
||||
if (gamepad == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if "Button North" was pressed this frame
|
||||
if (gamepad.buttonNorth.wasPressedThisFrame)
|
||||
{
|
||||
Debug.Log("Button North was pressed");
|
||||
}
|
||||
|
||||
// Check if the button control is being continuously actuated and read its value
|
||||
if (gamepad.rightTrigger.IsActuated())
|
||||
{
|
||||
Debug.Log("Right trigger value: " + gamepad.rightTrigger.ReadValue());
|
||||
}
|
||||
|
||||
// Read left stick value and perform some code based on the value
|
||||
Vector2 move = gamepad.leftStick.ReadValue();
|
||||
{
|
||||
// Use the Vector2 move for the game logic here
|
||||
}
|
||||
|
||||
// Creating haptic feedback while "Button South" is pressed and stopping it when released.
|
||||
if (gamepad.buttonSouth.wasPressedThisFrame)
|
||||
{
|
||||
gamepad.SetMotorSpeeds(0.2f, 1.0f);
|
||||
}
|
||||
else if (gamepad.buttonSouth.wasReleasedThisFrame)
|
||||
{
|
||||
gamepad.ResetHaptics();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 898672c95e554f2fb492125d78b11af2
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,48 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
namespace DocCodeSamples.Tests
|
||||
{
|
||||
internal class GamepadHapticsExample : MonoBehaviour
|
||||
{
|
||||
bool hapticsArePaused = false;
|
||||
|
||||
void Update()
|
||||
{
|
||||
var gamepad = Gamepad.current;
|
||||
|
||||
// No gamepad connected, no need to continue.
|
||||
if (gamepad == null)
|
||||
return;
|
||||
|
||||
float leftTrigger = gamepad.leftTrigger.ReadValue();
|
||||
float rightTrigger = gamepad.rightTrigger.ReadValue();
|
||||
|
||||
// Only set motor speeds if haptics were not paused and if trigger is actuated.
|
||||
// Both triggers must be actuated past 0.2f to start haptics.
|
||||
if (!hapticsArePaused &&
|
||||
(gamepad.leftTrigger.IsActuated() || gamepad.rightTrigger.IsActuated()))
|
||||
gamepad.SetMotorSpeeds(
|
||||
leftTrigger < 0.2f ? 0.0f : leftTrigger,
|
||||
rightTrigger < 0.2f ? 0.0f : rightTrigger);
|
||||
|
||||
// Toggle haptics "playback" when "Button South" is pressed.
|
||||
// Notice that if you release the triggers after pausing,
|
||||
// and press the button again, haptics will resume.
|
||||
if (gamepad.buttonSouth.wasPressedThisFrame)
|
||||
{
|
||||
if (hapticsArePaused)
|
||||
gamepad.ResumeHaptics();
|
||||
else
|
||||
gamepad.PauseHaptics();
|
||||
|
||||
hapticsArePaused = !hapticsArePaused;
|
||||
}
|
||||
|
||||
// Notice that if you release the triggers after pausing,
|
||||
// and press the Start button, haptics will be reset.
|
||||
if (gamepad.startButton.wasPressedThisFrame)
|
||||
gamepad.ResetHaptics();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3bbc200178984676a2dcb977a2fe3bae
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,42 @@
|
||||
#if UNITY_INPUT_SYSTEM_ENABLE_UI
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem.UI;
|
||||
|
||||
namespace DocCodeSamples.Tests
|
||||
{
|
||||
internal class InputSystemUIInputModuleAssignActionsExample : MonoBehaviour
|
||||
{
|
||||
// Reference to the InputSystemUIInputModule component, needs to be provided in the Inspector
|
||||
public InputSystemUIInputModule uiModule;
|
||||
|
||||
void Start()
|
||||
{
|
||||
// Assign default actions
|
||||
AssignActions();
|
||||
}
|
||||
|
||||
void AssignActions()
|
||||
{
|
||||
if (uiModule != null)
|
||||
uiModule.AssignDefaultActions();
|
||||
else
|
||||
Debug.LogError("InputSystemUIInputModule not found.");
|
||||
}
|
||||
|
||||
void UnassignActions()
|
||||
{
|
||||
if (uiModule != null)
|
||||
uiModule.UnassignActions();
|
||||
else
|
||||
Debug.LogError("InputSystemUIInputModule not found.");
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
{
|
||||
// Unassign actions when the object is destroyed
|
||||
UnassignActions();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 026e1117180341c1bf7847a2cc61f75b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user