Imported basic unity packages yeehaw

This commit is contained in:
Jan Groß
2021-06-11 23:22:35 +02:00
parent cebcde471d
commit 09c5e64772
312 changed files with 40946 additions and 276 deletions

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0777899404b4b2b4696f1032f3231697
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,33 @@
using UnityEngine;
namespace StarterAssets
{
public class UICanvasControllerInput : MonoBehaviour
{
[Header("Output")]
public StarterAssetsInputs starterAssetsInputs;
public void VirtualMoveInput(Vector2 virtualMoveDirection)
{
starterAssetsInputs.MoveInput(virtualMoveDirection);
}
public void VirtualLookInput(Vector2 virtualLookDirection)
{
starterAssetsInputs.LookInput(virtualLookDirection);
}
public void VirtualJumpInput(bool virtualJumpState)
{
starterAssetsInputs.JumpInput(virtualJumpState);
}
public void VirtualSprintInput(bool virtualSprintState)
{
starterAssetsInputs.SprintInput(virtualSprintState);
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4a300d010f57451488aa99000126fbd5
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a499c73a35b488449a6f9e9db9e88120
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,35 @@
/*
The PlayerInput component has an auto-switch control scheme action that allows automatic changing of connected devices.
IE: Switching from Keyboard to Gamepad in-game.
When built to a mobile phone; in most cases, there is no concept of switching connected devices as controls are typically driven through what is on the device's hardware (Screen, Tilt, etc)
In Input System 1.0.2, if the PlayerInput component has Auto Switch enabled, it will search the mobile device for connected devices; which is very costly and results in bad performance.
This is fixed in Input System 1.1.
For the time-being; this script will disable a PlayerInput's auto switch control schemes; when project is built to mobile.
*/
using UnityEngine;
#if ENABLE_INPUT_SYSTEM && STARTER_ASSETS_PACKAGES_CHECKED
using UnityEngine.InputSystem;
#endif
public class MobileDisableAutoSwitchControls : MonoBehaviour
{
#if ENABLE_INPUT_SYSTEM && (UNITY_IOS || UNITY_ANDROID) && STARTER_ASSETS_PACKAGES_CHECKED
[Header("Target")]
public PlayerInput playerInput;
void Start()
{
DisableAutoSwitchControls();
}
void DisableAutoSwitchControls()
{
playerInput.neverAutoSwitchControlSchemes = true;
}
#endif
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 901182334643ba1438a25accc6bd0c79
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: bcc364c89270bab40a69cac58f5ae926
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,39 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.Events;
public class UIVirtualButton : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IPointerClickHandler
{
[Header("Output")]
public UnityEvent<bool> buttonStateOutputEvent;
public UnityEvent buttonClickOutputEvent;
public void OnPointerDown(PointerEventData eventData)
{
OutputButtonStateValue(true);
}
public void OnPointerUp(PointerEventData eventData)
{
OutputButtonStateValue(false);
}
public void OnPointerClick(PointerEventData eventData)
{
OutputButtonClickEvent();
}
void OutputButtonStateValue(bool buttonState)
{
buttonStateOutputEvent.Invoke(buttonState);
}
void OutputButtonClickEvent()
{
buttonClickOutputEvent.Invoke();
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 448cd6d8e2f2cb04096e777d99974bc4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,114 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.Events;
public class UIVirtualJoystick : MonoBehaviour, IPointerDownHandler, IDragHandler, IPointerUpHandler
{
[Header("Rect References")]
public RectTransform containerRect;
public RectTransform handleRect;
[Header("Settings")]
public float joystickRange = 50f;
public float magnitudeMultiplier = 1f;
public bool invertXOutputValue;
public bool invertYOutputValue;
[Header("Output")]
public UnityEvent<Vector2> joystickOutputEvent;
void Start()
{
SetupHandle();
}
private void SetupHandle()
{
if(handleRect)
{
UpdateHandleRectPosition(Vector2.zero);
}
}
public void OnPointerDown(PointerEventData eventData)
{
OnDrag(eventData);
}
public void OnDrag(PointerEventData eventData)
{
RectTransformUtility.ScreenPointToLocalPointInRectangle(containerRect, eventData.position, eventData.pressEventCamera, out Vector2 position);
position = ApplySizeDelta(position);
Vector2 clampedPosition = ClampValuesToMagnitude(position);
Vector2 outputPosition = ApplyInversionFilter(position);
OutputPointerEventValue(outputPosition * magnitudeMultiplier);
if(handleRect)
{
UpdateHandleRectPosition(clampedPosition * joystickRange);
}
}
public void OnPointerUp(PointerEventData eventData)
{
OutputPointerEventValue(Vector2.zero);
if(handleRect)
{
UpdateHandleRectPosition(Vector2.zero);
}
}
private void OutputPointerEventValue(Vector2 pointerPosition)
{
joystickOutputEvent.Invoke(pointerPosition);
}
private void UpdateHandleRectPosition(Vector2 newPosition)
{
handleRect.anchoredPosition = newPosition;
}
Vector2 ApplySizeDelta(Vector2 position)
{
float x = (position.x/containerRect.sizeDelta.x) * 2.5f;
float y = (position.y/containerRect.sizeDelta.y) * 2.5f;
return new Vector2(x, y);
}
Vector2 ClampValuesToMagnitude(Vector2 position)
{
return Vector2.ClampMagnitude(position, 1);
}
Vector2 ApplyInversionFilter(Vector2 position)
{
if(invertXOutputValue)
{
position.x = InvertValue(position.x);
}
if(invertYOutputValue)
{
position.y = InvertValue(position.y);
}
return position;
}
float InvertValue(float value)
{
return -value;
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f2cb8c4d669392748bb924209de33b85
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,125 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.Events;
public class UIVirtualTouchZone : MonoBehaviour, IPointerDownHandler, IDragHandler, IPointerUpHandler
{
[Header("Rect References")]
public RectTransform containerRect;
public RectTransform handleRect;
[Header("Settings")]
public bool clampToMagnitude;
public float magnitudeMultiplier = 1f;
public bool invertXOutputValue;
public bool invertYOutputValue;
//Stored Pointer Values
private Vector2 pointerDownPosition;
private Vector2 currentPointerPosition;
[Header("Output")]
public UnityEvent<Vector2> touchZoneOutputEvent;
void Start()
{
SetupHandle();
}
private void SetupHandle()
{
if(handleRect)
{
SetObjectActiveState(handleRect.gameObject, false);
}
}
public void OnPointerDown(PointerEventData eventData)
{
RectTransformUtility.ScreenPointToLocalPointInRectangle(containerRect, eventData.position, eventData.pressEventCamera, out pointerDownPosition);
if(handleRect)
{
SetObjectActiveState(handleRect.gameObject, true);
UpdateHandleRectPosition(pointerDownPosition);
}
}
public void OnDrag(PointerEventData eventData)
{
RectTransformUtility.ScreenPointToLocalPointInRectangle(containerRect, eventData.position, eventData.pressEventCamera, out currentPointerPosition);
Vector2 positionDelta = GetDeltaBetweenPositions(pointerDownPosition, currentPointerPosition);
Vector2 clampedPosition = ClampValuesToMagnitude(positionDelta);
Vector2 outputPosition = ApplyInversionFilter(clampedPosition);
OutputPointerEventValue(outputPosition * magnitudeMultiplier);
}
public void OnPointerUp(PointerEventData eventData)
{
pointerDownPosition = Vector2.zero;
currentPointerPosition = Vector2.zero;
OutputPointerEventValue(Vector2.zero);
if(handleRect)
{
SetObjectActiveState(handleRect.gameObject, false);
UpdateHandleRectPosition(Vector2.zero);
}
}
void OutputPointerEventValue(Vector2 pointerPosition)
{
touchZoneOutputEvent.Invoke(pointerPosition);
}
void UpdateHandleRectPosition(Vector2 newPosition)
{
handleRect.anchoredPosition = newPosition;
}
void SetObjectActiveState(GameObject targetObject, bool newState)
{
targetObject.SetActive(newState);
}
Vector2 GetDeltaBetweenPositions(Vector2 firstPosition, Vector2 secondPosition)
{
return secondPosition - firstPosition;
}
Vector2 ClampValuesToMagnitude(Vector2 position)
{
return Vector2.ClampMagnitude(position, 1);
}
Vector2 ApplyInversionFilter(Vector2 position)
{
if(invertXOutputValue)
{
position.x = InvertValue(position.x);
}
if(invertYOutputValue)
{
position.y = InvertValue(position.y);
}
return position;
}
float InvertValue(float value)
{
return -value;
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 65870f34fef70aa44b0f562cfc810220
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: