Working on mobile controls

dev-main-mobile
Hazim Bin Ijaz 1 month ago
parent a0be2805f3
commit 214012639a

@ -2,27 +2,29 @@ C/C++ Structured Log

F:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\additional_project_files.txtC
A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ÐÖ±•Ô2  éÕ±•Ô2‰
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  蜥½Ô2  éÕ±•Ô2‰

ƒF:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\android_gradle_build.json  ÐÖ±•Ô2Ç ñÕ±•Ô2Ž
ƒF:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\android_gradle_build.json  蜥½Ô2Ç ñÕ±•Ô2Ž

ˆF:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\android_gradle_build_mini.json  ÐÖ±•Ô2¯ ­Ö±•Ô2y
ˆF:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\android_gradle_build_mini.json  蜥½Ô2¯ ­Ö±•Ô2y
w
uF:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\build.ninja  ÐÖ±•Ô2“÷ <20>Ô±•Ô2}
uF:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\build.ninja  霥½Ô2“÷ <20>Ô±•Ô2}
{
yF:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\build.ninja.txt  ÐÖ±•Ô2ƒ
yF:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\build.ninja.txt  霥½Ô2ƒ

~F:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\build_file_index.txt  ÐÖ±•Ô2ª ±Ö±•Ô2„
~F:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\build_file_index.txt  霥½Ô2ª ±Ö±•Ô2„
<EFBFBD>
F:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\compile_commands.json  ÐÖ±•Ô2« €Ô±•Ô2‰
F:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\compile_commands.json  霥½Ô2« €Ô±•Ô2‰

ƒF:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\compile_commands.json.bin  ÐÖ±•Ô2 ß €Ô±•Ô2<C394>
ƒF:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\compile_commands.json.bin  霥½Ô2 ß €Ô±•Ô2<C394>
Œ
F:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\metadata_generation_command.txt  ÐÖ±•Ô2
F:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\metadata_generation_command.txt  霥½Ô2
„ °Ö±•Ô2€
~
|F:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\prefab_config.json  ÐÖ±•Ô2 â °Ö±•Ô2‡
|F:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\prefab_config.json  霥½Ô2 â °Ö±•Ô2‡

<EFBFBD>F:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\symbol_folder_index.txt  ÐÖ±•Ô2 ² ±Ö±•Ô2”
<EFBFBD>F:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\.utmp\RelWithDebInfo\3333443k\armeabi-v7a\symbol_folder_index.txt  霥½Ô2 ² ±Ö±•Ô2”

ŽF:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\Library\Bee\Android\Prj\IL2CPP\Gradle\unityLibrary\src\main\cpp\CMakeLists.txt  ÐÖ±•Ô2  V ÑËž•Ô2
ŽF:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\Library\Bee\Android\Prj\IL2CPP\Gradle\unityLibrary\src\main\cpp\CMakeLists.txt  霥½Ô2  V ÑËž•Ô2 
<EFBFBD>
šF:\Unity Projects\Office Projects\Rizze\HighGroundRoyaleNetcode\Library\Bee\Android\Prj\IL2CPP\Gradle\unityLibrary\src\main\cpp\FramePacing\CMakeLists.txt  霥½Ô2Æ ÐËž•Ô2

File diff suppressed because it is too large Load Diff

@ -7,7 +7,6 @@ using Unity.Multiplayer.Samples.BossRoom;
using Unity.Netcode;
using UnityEngine;
using UnityEngine.AI;
//using static Codice.Client.Common.WebApi.WebApiEndpoints;
public class AbilitySystem : NetworkBehaviour
{
@ -44,19 +43,16 @@ public class AbilitySystem : NetworkBehaviour
private Vector3 executionerStartPos;
private Vector3 executionerEndPos;
private void InitializeAbilityCursorMap()
{
abilityCursorMap = new Dictionary<string, CursorState>
{
{ GameDataSource.Instance.DashNCrashAbilityKey, CursorState.Dash },
{ GameDataSource.Instance.FreezeThrowAbilityKey, CursorState.Freeze },
{ GameDataSource.Instance.VectorWallAbilityKey, CursorState.VectorWall },
{ GameDataSource.Instance.TheExecutionerKey, CursorState.Executioner },
{ GameDataSource.Instance.CrowsForesightKey, CursorState.Foresight },
};
{
{ GameDataSource.Instance.DashNCrashAbilityKey, CursorState.Dash },
{ GameDataSource.Instance.FreezeThrowAbilityKey, CursorState.Freeze },
{ GameDataSource.Instance.VectorWallAbilityKey, CursorState.VectorWall },
{ GameDataSource.Instance.TheExecutionerKey, CursorState.Executioner },
{ GameDataSource.Instance.CrowsForesightKey, CursorState.Foresight },
};
}
private void Awake()
{
@ -78,7 +74,8 @@ public class AbilitySystem : NetworkBehaviour
GameStateManager.Instance.ChangeState(cursorState);
}
}
void Update()
private void Update()
{
HandleAbilityMode();
}
@ -89,29 +86,47 @@ public class AbilitySystem : NetworkBehaviour
{
if (activeAbility.abilityKey == "VectorFence")
{
//GameStateManager.Instance.ChangeState(CursorState.VectorWall);
// For VectorFence, manage wall indicator and placement
ManageVectorFenceIndicator();
if (!isWallPlacementStarted)
{
UpdateWallIndicatorPosition(); // Follow the mouse when ability is activated
UpdateWallIndicatorPosition(); // Follow pointer when ability is activated
}
#if UNITY_ANDROID || UNITY_IOS
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);
if (!isWallPlacementStarted && touch.phase == TouchPhase.Began)
{
StartWallPlacement();
}
if (isWallPlacementStarted && (touch.phase == TouchPhase.Moved || touch.phase == TouchPhase.Stationary))
{
RotateWallIndicator(); // Rotate while touch is moving or held
}
if (isWallPlacementStarted && touch.phase == TouchPhase.Ended)
{
UseActiveAbility(); // Place the wall when touch ends
isWallPlacementStarted = false;
}
}
#else
if (Input.GetMouseButtonDown(0))
{
StartWallPlacement();
}
if (Input.GetMouseButton(0) && isWallPlacementStarted)
{
RotateWallIndicator(); // Rotate while holding LMB
}
if (Input.GetMouseButtonUp(0) && isWallPlacementStarted)
{
UseActiveAbility(); // Place the wall when LMB is released
isWallPlacementStarted = false;
}
#endif
}
// else if (activeAbility.abilityKey == "TheExecutioner")
// {
@ -121,16 +136,26 @@ public class AbilitySystem : NetworkBehaviour
{
ManageStandardAbilityIndicator();
#if UNITY_ANDROID || UNITY_IOS
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);
if (touch.phase == TouchPhase.Began)
{
UseActiveAbility();
}
}
#else
if (Input.GetMouseButtonDown(0))
{
UseActiveAbility();
}
#endif
}
}
else
{
// GameStateManager.Instance.ChangeState(CursorState.Default);
// When not in ability mode, ensure indicators are hidden.
DeactivateIndicators();
}
}
@ -139,19 +164,50 @@ public class AbilitySystem : NetworkBehaviour
{
lineIndicator.gameObject.SetActive(true);
#if UNITY_ANDROID || UNITY_IOS
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);
if (touch.phase == TouchPhase.Began)
{
if (Physics.Raycast(mainCamera.ScreenPointToRay(GetPointerPosition()), out var hit))
{
executionerStartPos = hit.point;
executionerEndPos = hit.point;
lineIndicator.positionCount = 2;
lineIndicator.SetPosition(0, executionerStartPos);
lineIndicator.SetPosition(1, executionerEndPos);
}
}
if (touch.phase == TouchPhase.Moved || touch.phase == TouchPhase.Stationary)
{
if (Physics.Raycast(mainCamera.ScreenPointToRay(GetPointerPosition()), out var hit))
{
executionerEndPos = hit.point;
lineIndicator.SetPosition(1, executionerEndPos);
}
}
if (touch.phase == TouchPhase.Ended)
{
UseActiveAbility();
lineIndicator.positionCount = 2;
lineIndicator.SetPosition(0, Vector3.zero);
lineIndicator.SetPosition(1, Vector3.zero);
lineIndicator.gameObject.SetActive(false);
}
}
#else
if (Input.GetMouseButtonDown(0))
{
if (Physics.Raycast(mainCamera.ScreenPointToRay(Input.mousePosition), out var hit))
{
executionerStartPos = hit.point;
executionerEndPos = hit.point;
lineIndicator.positionCount = 2; // Ensure it has enough positions before setting them
lineIndicator.positionCount = 2;
lineIndicator.SetPosition(0, executionerStartPos);
lineIndicator.SetPosition(1, executionerEndPos);
}
}
if (Input.GetMouseButton(0))
{
if (Physics.Raycast(mainCamera.ScreenPointToRay(Input.mousePosition), out var hit))
@ -160,19 +216,17 @@ public class AbilitySystem : NetworkBehaviour
lineIndicator.SetPosition(1, executionerEndPos);
}
}
if (Input.GetMouseButtonUp(0))
{
UseActiveAbility();
lineIndicator.positionCount = 2; // Reset to a valid number to prevent out-of-bounds errors
lineIndicator.SetPosition(0, Vector3.zero); // Reset positions to avoid old values
lineIndicator.positionCount = 2;
lineIndicator.SetPosition(0, Vector3.zero);
lineIndicator.SetPosition(1, Vector3.zero);
lineIndicator.gameObject.SetActive(false);
}
#endif
}
private void ManageVectorFenceIndicator()
{
if (wallIndicator != null)
@ -190,9 +244,9 @@ public class AbilitySystem : NetworkBehaviour
private void UpdateWallIndicatorPosition()
{
if (Physics.Raycast(mainCamera.ScreenPointToRay(Input.mousePosition), out RaycastHit hit))
if (Physics.Raycast(mainCamera.ScreenPointToRay(GetPointerPosition()), out RaycastHit hit))
{
//wallIndicator.transform.position = hit.point; // Update position to follow the mouse
// Update position to follow the pointer (only XZ plane)
wallIndicator.transform.position = new Vector3(hit.point.x, 0, hit.point.z);
isValidPlacement = IsPlacementValid(hit.point, wallIndicator.transform.rotation, playerLayer);
}
@ -200,29 +254,28 @@ public class AbilitySystem : NetworkBehaviour
private void StartWallPlacement()
{
if (Physics.Raycast(mainCamera.ScreenPointToRay(Input.mousePosition), out RaycastHit hit))
if (Physics.Raycast(mainCamera.ScreenPointToRay(GetPointerPosition()), out RaycastHit hit))
{
wallSpawnPosition = new Vector3(hit.point.x, 0, hit.point.z); // Save spawn position
initialMousePosition = Input.mousePosition; // Store the initial mouse position on click
initialMousePosition = GetPointerPosition(); // Store the initial pointer position on click
isWallPlacementStarted = true;
Debug.Log($"[AbilitySystem] Wall placement started at {wallSpawnPosition}");
}
}
private void RotateWallIndicator()
{
if (isWallPlacementStarted && wallIndicator != null)
{
// Get the current mouse position in screen space
Vector3 currentMousePosition = Input.mousePosition;
// Get the current pointer position
Vector3 currentPointerPosition = GetPointerPosition();
// Calculate the distance the mouse has moved since the initial click
float mouseDistance = Vector3.Distance(initialMousePosition, currentMousePosition);
// Calculate the distance the pointer has moved since the initial press
float pointerDistance = Vector3.Distance(initialMousePosition, currentPointerPosition);
// Check if the movement exceeds the threshold
if (mouseDistance >= mouseMoveThreshold)
if (pointerDistance >= mouseMoveThreshold)
{
Ray ray = mainCamera.ScreenPointToRay(currentMousePosition);
Ray ray = mainCamera.ScreenPointToRay(currentPointerPosition);
if (Physics.Raycast(ray, out RaycastHit hit))
{
Vector3 direction = (new Vector3(hit.point.x, 0, hit.point.z) - wallIndicator.transform.position).normalized;
@ -232,26 +285,20 @@ public class AbilitySystem : NetworkBehaviour
wallIndicator.transform.rotation = Quaternion.Lerp(wallIndicator.transform.rotation, targetRotation, 0.5f);
isValidPlacement = IsPlacementValid(wallIndicator.transform.position, wallIndicator.transform.rotation, playerLayer);
}
}
}
}
private bool IsPlacementValid(Vector3 position, Quaternion rotation, LayerMask layerMask)
{
// Perform overlap check after applying rotation
Vector3 halfExtents = new Vector3(
wallIndicator.transform.localScale.x / 2f,
wallIndicator.transform.localScale.y / 2f,
wallIndicator.transform.localScale.z / 2f
);
// Perform a CheckBox for the given parameters
bool isOverlap = Physics.CheckBox(position, halfExtents, rotation, layerMask);
return !isOverlap; // Return true if valid placement (no overlap)
}
@ -289,13 +336,13 @@ public class AbilitySystem : NetworkBehaviour
}
else
{
ToggleAbilityMode(ability,key);
ToggleAbilityMode(ability, key);
}
}
public bool IsAbilityModeActive() => isAbilityActive;
private void ToggleAbilityMode(Ability ability,string abilitykey)
private void ToggleAbilityMode(Ability ability, string abilityKey)
{
if (isAbilityActive && activeAbility == ability)
{
@ -304,7 +351,7 @@ public class AbilitySystem : NetworkBehaviour
else
{
ActivateAbilityMode(ability);
UpdateCursorState(abilitykey);
UpdateCursorState(abilityKey);
}
}
@ -329,13 +376,11 @@ public class AbilitySystem : NetworkBehaviour
private bool IsPlacementWithinRadius(Vector3 targetPosition)
{
float placementRadius = activeAbility.abilityApplicationRadius; // Fetch radius from the active ability
float placementRadius = activeAbility.abilityApplicationRadius;
float distance = Vector3.Distance(transform.position, targetPosition);
return distance <= placementRadius;
}
public void UseActiveAbility()
{
if (activeAbility == null) return;
@ -422,7 +467,7 @@ public class AbilitySystem : NetworkBehaviour
private void UpdateIndicatorPosition()
{
if (Physics.Raycast(mainCamera.ScreenPointToRay(Input.mousePosition), out RaycastHit hit))
if (Physics.Raycast(mainCamera.ScreenPointToRay(GetPointerPosition()), out RaycastHit hit))
{
currentAbilityIndicator.transform.position = new Vector3(hit.point.x, 0, hit.point.z);
currentAbilityIndicator.transform.localScale = Vector3.one * activeAbility.abilityRadius;
@ -440,7 +485,21 @@ public class AbilitySystem : NetworkBehaviour
}
else
{
Debug.Log($"InitiateGlobalCooldown: Count find ability: {abilityKey}");
Debug.Log($"InitiateGlobalCooldown: Could not find ability: {abilityKey}");
}
}
// Helper method to get the current pointer position based on platform
private Vector3 GetPointerPosition()
{
#if UNITY_ANDROID || UNITY_IOS
if (Input.touchCount > 0)
{
return Input.GetTouch(0).position;
}
return Vector3.zero;
#else
return Input.mousePosition;
#endif
}
}

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

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: d4d057ffeded3364d979f745117ae501
folderAsset: yes
timeCreated: 1471342548
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,55 @@
#if UNITY_EDITOR
using System;
using System.Linq;
using System.Reflection;
using UnityEngine;
using UnityEditor;
using UnityEngine.EventSystems;
using Object = UnityEngine.Object;
namespace CnControls
{
/// <summary>
/// Some helping and guiding info trying to fix some common CNControls setup mistakes.
/// This script runs only in the editor.
/// </summary>
[InitializeOnLoad]
public class AdditionaHelpingGuidance
{
static AdditionaHelpingGuidance()
{
EditorApplication.playmodeStateChanged += PlaymodeStateChanged;
}
private static void PlaymodeStateChanged()
{
// If we've just changed our mode to playmode
if (EditorApplication.isPlaying && EditorApplication.isPlayingOrWillChangePlaymode)
{
var types = from t in Assembly.GetAssembly(typeof(SimpleButton)).GetTypes()
where t.IsClass
&& t.Namespace == "CnControls"
&& t.IsSubclassOf(typeof(MonoBehaviour))
select t;
// Check if any CNControls are present in the scene
bool shouldCheckForErrors = types.Any(type => Object.FindObjectOfType(type));
if (shouldCheckForErrors)
{
CheckForEventSystemPresence();
}
}
}
private static void CheckForEventSystemPresence()
{
var eventSystem = Object.FindObjectOfType<EventSystem>();
if (eventSystem == null)
{
ErrorPopupWindow.ShowWindow();
}
}
}
}
#endif

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: de2fdbbbfd047264c838afb6aa9e0c4d
timeCreated: 1471342566
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,56 @@
#if UNITY_EDITOR
using UnityEngine;
using UnityEditor;
using UnityEngine.EventSystems;
namespace CnControls
{
/// <summary>
/// Displays an error popup when no EventSystem is found in the scene.
/// This window appears only in the editor.
/// </summary>
public class ErrorPopupWindow : EditorWindow
{
public static void ShowWindow()
{
var window = EditorWindow.GetWindow<ErrorPopupWindow>();
window.position = new Rect(Screen.width / 2f, Screen.height / 2f, 250, 133);
window.titleContent = new GUIContent("ERROR");
}
void OnGUI()
{
EditorGUILayout.LabelField(
"There's no EventSystem object in your scene (or it is disabled). CNControls won't work. Please add one using GameObject -> UI -> Event System menu or push the button below.",
EditorStyles.wordWrappedLabel);
GUILayout.Space(12);
if (GUILayout.Button("Create now!"))
{
EditorApplication.isPlaying = false;
EditorApplication.playmodeStateChanged += OnPlaymodeChanged;
}
GUILayout.Space(6);
if (GUILayout.Button("Close this window"))
{
Close();
}
}
private void OnPlaymodeChanged()
{
if (!EditorApplication.isPlaying && !EditorApplication.isPlayingOrWillChangePlaymode)
{
EditorApplication.playmodeStateChanged -= OnPlaymodeChanged;
var eventSystemGo = new GameObject("EventSystem");
eventSystemGo.AddComponent<EventSystem>();
eventSystemGo.AddComponent<StandaloneInputModule>();
Close();
}
}
}
}
#endif

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 0f2cbf6df83c52e44a58a474d14696bb
timeCreated: 1471371441
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 31f2b5961af776749bdc0738cb10c279
folderAsset: yes
timeCreated: 1471272981
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: 4bc4df1939d750840a6c849a32296205
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: -1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
swizzle: 50462976
cookieLightType: 1
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: b29ef1894836dc440b43ab036ca764cb
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: -1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
swizzle: 50462976
cookieLightType: 1
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: 8c5266785fc2e8f4a8b291b47e2cda1a
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 150
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
swizzle: 50462976
cookieLightType: 1
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 977 B

@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: 2cd0473fd8ba8a9478a6ea98025a16f0
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: -1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 150
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
swizzle: 50462976
cookieLightType: 1
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: 22802cebf78d3434b9d715f82bbe80c7
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: -1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
swizzle: 50462976
cookieLightType: 1
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: 56bb3ea0d75a41248b88961a278b9599
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 150
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
swizzle: 50462976
cookieLightType: 1
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 8fc328ad1f348e44bbbad8a23eb13603
folderAsset: yes
timeCreated: 1471272981
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,219 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &111286
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 4
m_Component:
- 224: {fileID: 22421908}
- 222: {fileID: 22244858}
- 114: {fileID: 11418066}
- 114: {fileID: 11410990}
m_Layer: 5
m_Name: Left
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &145036
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 4
m_Component:
- 224: {fileID: 22482606}
- 222: {fileID: 22252370}
- 114: {fileID: 11451720}
- 114: {fileID: 11485602}
m_Layer: 5
m_Name: Right
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &164446
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 4
m_Component:
- 224: {fileID: 22493834}
- 222: {fileID: 22230300}
- 114: {fileID: 11477240}
m_Layer: 5
m_Name: 2 Ways DPad Horizontal
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &11410990
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 111286}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0f6ae34570738c447a8f81bcb10d610c, type: 3}
m_Name:
m_EditorClassIdentifier:
AxisName: Horizontal
AxisMultiplier: -1
--- !u!114 &11418066
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 111286}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Sprite: {fileID: 21300000, guid: 2cd0473fd8ba8a9478a6ea98025a16f0, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
--- !u!114 &11451720
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 145036}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Sprite: {fileID: 21300000, guid: 2cd0473fd8ba8a9478a6ea98025a16f0, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
--- !u!114 &11477240
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 164446}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2fa290c3290a9e04cb780c61b130e5af, type: 3}
m_Name:
m_EditorClassIdentifier:
DpadAxis:
- {fileID: 11410990}
- {fileID: 11485602}
--- !u!114 &11485602
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 145036}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0f6ae34570738c447a8f81bcb10d610c, type: 3}
m_Name:
m_EditorClassIdentifier:
AxisName: Horizontal
AxisMultiplier: 1
--- !u!222 &22230300
CanvasRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 164446}
--- !u!222 &22244858
CanvasRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 111286}
--- !u!222 &22252370
CanvasRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 145036}
--- !u!224 &22421908
RectTransform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 111286}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 22493834}
m_RootOrder: 0
m_AnchorMin: {x: 0, y: .5}
m_AnchorMax: {x: 0, y: .5}
m_AnchoredPosition: {x: 50, y: 0}
m_SizeDelta: {x: 53.3333321, y: 53.3333321}
m_Pivot: {x: .5, y: .5}
--- !u!224 &22482606
RectTransform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 145036}
m_LocalRotation: {x: 0, y: 0, z: 1, w: -2.81631947e-06}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 22493834}
m_RootOrder: 1
m_AnchorMin: {x: 1, y: .5}
m_AnchorMax: {x: 1, y: .5}
m_AnchoredPosition: {x: -50, y: 0}
m_SizeDelta: {x: 53.3333321, y: 53.3333321}
m_Pivot: {x: .5, y: .5}
--- !u!224 &22493834
RectTransform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 164446}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 22421908}
- {fileID: 22482606}
m_Father: {fileID: 0}
m_RootOrder: 0
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 194.900024, y: 185.699997}
m_Pivot: {x: 0, y: 0}
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_ParentPrefab: {fileID: 0}
m_RootGameObject: {fileID: 164446}
m_IsPrefabParent: 1

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5cd0f2565c094c14c89345b5d6081634
timeCreated: 1438005360
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,219 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &101280
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 4
m_Component:
- 224: {fileID: 22421832}
- 222: {fileID: 22280070}
- 114: {fileID: 11479480}
- 114: {fileID: 11431922}
m_Layer: 5
m_Name: Down
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &102786
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 4
m_Component:
- 224: {fileID: 22407522}
- 222: {fileID: 22280248}
- 114: {fileID: 11481010}
- 114: {fileID: 11499496}
m_Layer: 5
m_Name: Up
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &113056
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 4
m_Component:
- 224: {fileID: 22488274}
- 222: {fileID: 22268864}
- 114: {fileID: 11499200}
m_Layer: 5
m_Name: 2 Ways DPad Vertical
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &11431922
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 101280}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0f6ae34570738c447a8f81bcb10d610c, type: 3}
m_Name:
m_EditorClassIdentifier:
AxisName: Vertical
AxisMultiplier: -1
--- !u!114 &11479480
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 101280}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Sprite: {fileID: 21300000, guid: 2cd0473fd8ba8a9478a6ea98025a16f0, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
--- !u!114 &11481010
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 102786}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Sprite: {fileID: 21300000, guid: 2cd0473fd8ba8a9478a6ea98025a16f0, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
--- !u!114 &11499200
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 113056}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2fa290c3290a9e04cb780c61b130e5af, type: 3}
m_Name:
m_EditorClassIdentifier:
DpadAxis:
- {fileID: 11431922}
- {fileID: 11499496}
--- !u!114 &11499496
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 102786}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0f6ae34570738c447a8f81bcb10d610c, type: 3}
m_Name:
m_EditorClassIdentifier:
AxisName: Vertical
AxisMultiplier: 1
--- !u!222 &22268864
CanvasRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 113056}
--- !u!222 &22280070
CanvasRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 101280}
--- !u!222 &22280248
CanvasRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 102786}
--- !u!224 &22407522
RectTransform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 102786}
m_LocalRotation: {x: 0, y: 0, z: .707104445, w: -.707109153}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 22488274}
m_RootOrder: 1
m_AnchorMin: {x: .5, y: 1}
m_AnchorMax: {x: .5, y: 1}
m_AnchoredPosition: {x: 0, y: -50.5}
m_SizeDelta: {x: 53.3333321, y: 53.3333321}
m_Pivot: {x: .5, y: .5}
--- !u!224 &22421832
RectTransform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 101280}
m_LocalRotation: {x: 0, y: 0, z: .707109928, w: .707103729}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 22488274}
m_RootOrder: 0
m_AnchorMin: {x: .5, y: 0}
m_AnchorMax: {x: .5, y: 0}
m_AnchoredPosition: {x: 0, y: 50.5}
m_SizeDelta: {x: 53.3333321, y: 53.3333321}
m_Pivot: {x: .5, y: .5}
--- !u!224 &22488274
RectTransform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 113056}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 22421832}
- {fileID: 22407522}
m_Father: {fileID: 0}
m_RootOrder: 0
m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: -97.5, y: 92.7999954}
m_SizeDelta: {x: 194.899994, y: 185.699997}
m_Pivot: {x: .5, y: .5}
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_ParentPrefab: {fileID: 0}
m_RootGameObject: {fileID: 113056}
m_IsPrefabParent: 1

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b75bc7ed435ad74409d972e2615f10d6
timeCreated: 1438005389
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,373 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &134710
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 4
m_Component:
- 224: {fileID: 22438226}
- 222: {fileID: 22293874}
- 114: {fileID: 11444212}
- 114: {fileID: 11477646}
m_Layer: 5
m_Name: Down
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &141556
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 4
m_Component:
- 224: {fileID: 22458030}
- 222: {fileID: 22217044}
- 114: {fileID: 11430016}
- 114: {fileID: 11445802}
m_Layer: 5
m_Name: Left
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &151386
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 4
m_Component:
- 224: {fileID: 22458516}
- 222: {fileID: 22264936}
- 114: {fileID: 11470322}
- 114: {fileID: 11483808}
m_Layer: 5
m_Name: Right
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &171938
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 4
m_Component:
- 224: {fileID: 22408430}
- 222: {fileID: 22218032}
- 114: {fileID: 11499542}
m_Layer: 5
m_Name: 4 Ways DPad
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &183878
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 4
m_Component:
- 224: {fileID: 22418884}
- 222: {fileID: 22259110}
- 114: {fileID: 11454360}
- 114: {fileID: 11406244}
m_Layer: 5
m_Name: Up
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &11406244
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 183878}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0f6ae34570738c447a8f81bcb10d610c, type: 3}
m_Name:
m_EditorClassIdentifier:
AxisName: Vertical
AxisMultiplier: 1
--- !u!114 &11430016
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 141556}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Sprite: {fileID: 21300000, guid: 2cd0473fd8ba8a9478a6ea98025a16f0, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
--- !u!114 &11444212
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 134710}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Sprite: {fileID: 21300000, guid: 2cd0473fd8ba8a9478a6ea98025a16f0, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
--- !u!114 &11445802
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 141556}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0f6ae34570738c447a8f81bcb10d610c, type: 3}
m_Name:
m_EditorClassIdentifier:
AxisName: Horizontal
AxisMultiplier: -1
--- !u!114 &11454360
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 183878}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Sprite: {fileID: 21300000, guid: 2cd0473fd8ba8a9478a6ea98025a16f0, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
--- !u!114 &11470322
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 151386}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Sprite: {fileID: 21300000, guid: 2cd0473fd8ba8a9478a6ea98025a16f0, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
--- !u!114 &11477646
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 134710}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0f6ae34570738c447a8f81bcb10d610c, type: 3}
m_Name:
m_EditorClassIdentifier:
AxisName: Vertical
AxisMultiplier: -1
--- !u!114 &11483808
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 151386}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0f6ae34570738c447a8f81bcb10d610c, type: 3}
m_Name:
m_EditorClassIdentifier:
AxisName: Horizontal
AxisMultiplier: 1
--- !u!114 &11499542
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 171938}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2fa290c3290a9e04cb780c61b130e5af, type: 3}
m_Name:
m_EditorClassIdentifier:
DpadAxis:
- {fileID: 11445802}
- {fileID: 11483808}
- {fileID: 11477646}
- {fileID: 11406244}
--- !u!222 &22217044
CanvasRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 141556}
--- !u!222 &22218032
CanvasRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 171938}
--- !u!222 &22259110
CanvasRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 183878}
--- !u!222 &22264936
CanvasRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 151386}
--- !u!222 &22293874
CanvasRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 134710}
--- !u!224 &22408430
RectTransform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 171938}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 22458030}
- {fileID: 22458516}
- {fileID: 22438226}
- {fileID: 22418884}
m_Father: {fileID: 0}
m_RootOrder: 0
m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: -134, y: 123.5}
m_SizeDelta: {x: 268, y: 247}
m_Pivot: {x: .5, y: .5}
--- !u!224 &22418884
RectTransform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 183878}
m_LocalRotation: {x: 0, y: 0, z: .707104445, w: -.707109153}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 22408430}
m_RootOrder: 3
m_AnchorMin: {x: .5, y: 1}
m_AnchorMax: {x: .5, y: 1}
m_AnchoredPosition: {x: 0, y: -50.5}
m_SizeDelta: {x: 100, y: 101}
m_Pivot: {x: .5, y: .5}
--- !u!224 &22438226
RectTransform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 134710}
m_LocalRotation: {x: 0, y: 0, z: .707109928, w: .707103729}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 22408430}
m_RootOrder: 2
m_AnchorMin: {x: .5, y: 0}
m_AnchorMax: {x: .5, y: 0}
m_AnchoredPosition: {x: 0, y: 50.5}
m_SizeDelta: {x: 100, y: 101}
m_Pivot: {x: .5, y: .5}
--- !u!224 &22458030
RectTransform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 141556}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 22408430}
m_RootOrder: 0
m_AnchorMin: {x: 0, y: .5}
m_AnchorMax: {x: 0, y: .5}
m_AnchoredPosition: {x: 50, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: .5, y: .5}
--- !u!224 &22458516
RectTransform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 151386}
m_LocalRotation: {x: 0, y: 0, z: 1, w: -2.81631947e-06}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 22408430}
m_RootOrder: 1
m_AnchorMin: {x: 1, y: .5}
m_AnchorMax: {x: 1, y: .5}
m_AnchoredPosition: {x: -50, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: .5, y: .5}
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_ParentPrefab: {fileID: 0}
m_RootGameObject: {fileID: 171938}
m_IsPrefabParent: 1

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c91b9e68ad78eb24c864bb9a4840ffae
timeCreated: 1437920939
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,92 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &189116
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 4
m_Component:
- 224: {fileID: 22409286}
- 222: {fileID: 22292980}
- 114: {fileID: 11499078}
- 114: {fileID: 11460876}
m_Layer: 5
m_Name: Button
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &11460876
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 189116}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6f80d719f998a67438e69f9f995732ae, type: 3}
m_Name:
m_EditorClassIdentifier:
ButtonName: Jump
--- !u!114 &11499078
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 189116}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Sprite: {fileID: 21300000, guid: 22802cebf78d3434b9d715f82bbe80c7, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
--- !u!222 &22292980
CanvasRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 189116}
--- !u!224 &22409286
RectTransform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 189116}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: -94, y: 76.5}
m_SizeDelta: {x: 64, y: 64}
m_Pivot: {x: .5, y: .5}
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 0}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: 59cc0c38fea8dac439f212edba8607b6,
type: 3}
m_RemovedComponents: []
m_ParentPrefab: {fileID: 0}
m_RootGameObject: {fileID: 189116}
m_IsPrefabParent: 1

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 81acfa4b78dfa47499a6c2fd6e521ebd
timeCreated: 1437919517
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,252 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &133826
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 22483060}
- component: {fileID: 22232102}
- component: {fileID: 11489796}
m_Layer: 5
m_Name: Stick
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &22483060
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 133826}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 22450750}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -25.000053, y: -28.499987}
m_SizeDelta: {x: 64, y: 64}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &22232102
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 133826}
m_CullTransparentMesh: 1
--- !u!114 &11489796
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 133826}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 4bc4df1939d750840a6c849a32296205, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &144978
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 22450750}
- component: {fileID: 22252930}
- component: {fileID: 11487462}
- component: {fileID: 11421910}
m_Layer: 5
m_Name: Joystick
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &22450750
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 144978}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 22486632}
- {fileID: 22483060}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 250, y: 243}
m_Pivot: {x: 0, y: 0}
--- !u!222 &22252930
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 144978}
m_CullTransparentMesh: 1
--- !u!114 &11487462
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 144978}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &11421910
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 144978}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: eeb64258239543b4db1c80658a0d4f2c, type: 3}
m_Name:
m_EditorClassIdentifier:
MovementRange: 50
HorizontalAxisName: Horizontal
VerticalAxisName: Vertical
HideOnRelease: 1
MoveBase: 1
SnapsToFinger: 1
JoystickMoveAxis: -1
JoystickBase: {fileID: 11480696}
Stick: {fileID: 11489796}
TouchZone: {fileID: 22450750}
--- !u!1 &151076
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 22486632}
- component: {fileID: 22277172}
- component: {fileID: 11480696}
m_Layer: 5
m_Name: JoystickBase
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &22486632
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 151076}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 22450750}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 100, y: 93}
m_SizeDelta: {x: 106.66666, y: 106.66666}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &22277172
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 151076}
m_CullTransparentMesh: 1
--- !u!114 &11480696
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 151076}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: b29ef1894836dc440b43ab036ca764cb, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 943b21e331e945146beb63726ff855df
timeCreated: 1437919467
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,276 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &100000
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 22400000}
- component: {fileID: 22200000}
- component: {fileID: 11400002}
m_Layer: 5
m_Name: Stick
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &22400000
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 100000}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 22400004}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 96, y: 82}
m_SizeDelta: {x: 64, y: 64}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &22200000
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 100000}
m_CullTransparentMesh: 1
--- !u!114 &11400002
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 100000}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 4bc4df1939d750840a6c849a32296205, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &100002
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 22400002}
- component: {fileID: 22200002}
- component: {fileID: 11400004}
m_Layer: 5
m_Name: Joystick Base
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &22400002
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 100002}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 22400004}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 96, y: 82}
m_SizeDelta: {x: 106.66666, y: 106.66666}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &22200002
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 100002}
m_CullTransparentMesh: 1
--- !u!114 &11400004
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 100002}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: b29ef1894836dc440b43ab036ca764cb, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &100004
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 22400004}
- component: {fileID: 22200004}
- component: {fileID: 11400006}
- component: {fileID: 11400000}
m_Layer: 5
m_Name: SensitiveJoystick
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &22400004
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 100004}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 22400002}
- {fileID: 22400000}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 264, y: 248}
m_Pivot: {x: 0, y: 0}
--- !u!222 &22200004
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 100004}
m_CullTransparentMesh: 1
--- !u!114 &11400006
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 100004}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 100004}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 82b762eb0f3558f409212c8907843e62, type: 3}
m_Name:
m_EditorClassIdentifier:
MovementRange: 50
HorizontalAxisName: Horizontal
VerticalAxisName: Vertical
HideOnRelease: 0
MoveBase: 1
SnapsToFinger: 1
JoystickMoveAxis: -1
JoystickBase: {fileID: 11400004}
Stick: {fileID: 11400002}
TouchZone: {fileID: 22400004}
SensitivityCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 1
outSlope: 1
tangentMode: 34
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 1
inSlope: 1
outSlope: 1
tangentMode: 34
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: bb945e2a87718084184a72db9cf1ee27
timeCreated: 1440831317
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,95 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &112956
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 22455830}
- component: {fileID: 22204170}
- component: {fileID: 11455772}
- component: {fileID: 11435220}
m_Layer: 5
m_Name: Touchpad
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &22455830
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 112956}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 264, y: 248}
m_Pivot: {x: 0, y: 0}
--- !u!222 &22204170
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 112956}
m_CullTransparentMesh: 1
--- !u!114 &11455772
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 112956}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0, b: 0, a: 0.6431373}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &11435220
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 112956}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 15aa632517b93b5438ffbbbdfe98661d, type: 3}
m_Name:
m_EditorClassIdentifier:
HorizontalAxisName: Horizontal
VerticalAxisName: Vertical
PreserveInertia: 1
Friction: 3
ControlMoveAxis: -1

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 844d770c99f6cf24da670a158eaf4fe1
timeCreated: 1440872848
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0a797d1f86cc2df40818ef3ddcb472ae
timeCreated: 1441024113
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 91095ab7683a9564da040e25c8b796de
folderAsset: yes
timeCreated: 1471272981
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: d9deab3a09ed6124e8cbc43ca7eebd76
folderAsset: yes
timeCreated: 1471272981
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,336 @@
using System.Collections.Generic;
using UnityEngine;
namespace CnControls
{
/// <summary>
/// Common input manager class
/// Can be used instead of Input logic, as it replicates the standard behaviour but adds additional logic
/// </summary>
public class CnInputManager
{
private static CnInputManager _instance;
private static CnInputManager Instance
{
get { return _instance ?? (_instance = new CnInputManager()); }
}
private CnInputManager() { }
/// <summary>
/// Dictionary of virtual axis
/// Every axis can be mapped to a number of actual virtual axis,
/// as with standard Unity Input system where you can create different buttons for, say, "Horizontal" axis
/// </summary>
private Dictionary<string, List<VirtualAxis>> _virtualAxisDictionary =
new Dictionary<string, List<VirtualAxis>>();
/// <summary>
/// Dictionary of virtual buttons
/// Every button can be mapped to a number of actual virtual buttons,
/// as with standard Unity Input system where you can create different buttons for, say, "Jump" button
/// </summary>
private Dictionary<string, List<VirtualButton>> _virtualButtonsDictionary =
new Dictionary<string, List<VirtualButton>>();
/// <summary>
/// Additional logic for touch retreival
/// It's possible to add some reflection-based emulated touches
/// </summary>
public static int TouchCount
{
get
{
return Input.touchCount;
}
}
/// <summary>
/// Additional logic for touch retreival
/// It's possible to add some reflection-based emulated touches
/// </summary>
public static Touch GetTouch(int touchIndex)
{
return Input.GetTouch(touchIndex);
}
/// <summary>
/// GetAxis method for getting current values for any desired axis
/// </summary>
/// <param name="axisName">The name of the axis to get value from</param>
/// <returns>
/// Current value of FIRST NON ZERO axis that are registered for that name
/// ZERO if non if the virtual axis are being tweaked
/// </returns>
public static float GetAxis(string axisName)
{
return GetAxis(axisName, false);
}
/// <summary>
/// "Copy" of the Input.GetAxisRaw method
/// </summary>
/// <param name="axisName">The name of the axis to get value from</param>
/// <returns>
/// Current value of FIRST NON ZERO axis that are registered for that name
/// ZERO if non if the virtual axis are being tweaked
/// </returns>
public static float GetAxisRaw(string axisName)
{
return GetAxis(axisName, true);
}
/// <summary>
/// Common private method for getting the axis values
/// </summary>
/// <param name="axisName">The name of the axis to get value from</param>
/// <param name="isRaw">Whether the method sould return the raw value of the axis</param>
/// <returns></returns>
private static float GetAxis(string axisName, bool isRaw)
{
// If we have the axis registered as virtual, we call the retreival logic
if (AxisExists(axisName))
{
return GetVirtualAxisValue(Instance._virtualAxisDictionary[axisName], axisName, isRaw);
}
// If we don't have the desired virtual axis registered, we just fallback to the default Unity Input behaviour
return isRaw ? Input.GetAxisRaw(axisName) : Input.GetAxis(axisName);
}
/// <summary>
/// Method for retrieval of the desired button pressed state
/// </summary>
/// <param name="buttonName">The name of the desired button</param>
/// <returns>Is the button being currently pressed?</returns>
public static bool GetButton(string buttonName)
{
// We first check the stadard Button behaviour
var standardInputButtonState = Input.GetButton(buttonName);
// If the stadard Unity Input button is being pressed, we just retur true
if (standardInputButtonState == true) return true;
// If not, we check our virtual buttons
if (ButtonExists(buttonName))
{
return GetAnyVirtualButton(Instance._virtualButtonsDictionary[buttonName]);;
}
// If there is no such button registered, we return false;
return false;
}
/// <summary>
/// Method for retrieval of the desired button "has just been pressed" state
/// </summary>
/// <param name="buttonName">The name of the desired button</param>
/// <returns>Is the button has just been pressed?</returns>
public static bool GetButtonDown(string buttonName)
{
// We first check the stadard Button behaviour
var standardInputButtonState = Input.GetButtonDown(buttonName);
// If the stadard Unity Input button is being pressed, we just retur true
if (standardInputButtonState == true) return true;
// If not, we check our virtual buttons
if (ButtonExists(buttonName))
{
return GetAnyVirtualButtonDown(Instance._virtualButtonsDictionary[buttonName]);
}
// If there is no such button registered, we return false;
return false;
}
/// <summary>
/// Method for retrieval of the desired button "has just been released" state
/// </summary>
/// <param name="buttonName">The name of the desired button</param>
/// <returns>Is the button has just been released?</returns>
public static bool GetButtonUp(string buttonName)
{
// We first check the stadard Button behaviour
var standardInputButtonState = Input.GetButtonUp(buttonName);
// If the stadard Unity Input button is being pressed, we just retur true
if (standardInputButtonState == true) return true;
// If not, we check our virtual buttons
if (ButtonExists(buttonName))
{
return GetAnyVirtualButtonUp(Instance._virtualButtonsDictionary[buttonName]);
}
// If there is no such button registered, we return false;
return false;
}
/// <summary>
/// Check whether the specified axis exists
/// </summary>
/// <param name="axisName">Name of the axis to check</param>
/// <returns>Does this axis exist?</returns>
public static bool AxisExists(string axisName)
{
return Instance._virtualAxisDictionary.ContainsKey(axisName);
}
/// <summary>
/// Check whether the specified button exists
/// </summary>
/// <param name="buttonName">Name of the button to check</param>
/// <returns>Does this button exist?</returns>
public static bool ButtonExists(string buttonName)
{
return Instance._virtualButtonsDictionary.ContainsKey(buttonName);
}
/// <summary>
/// Registers the provided virtual axis
/// </summary>
/// <param name="virtualAxis">Virtual axis to register</param>
public static void RegisterVirtualAxis(VirtualAxis virtualAxis)
{
// If it's the first such virtual axis, create a new list for that axis name
if (!Instance._virtualAxisDictionary.ContainsKey(virtualAxis.Name))
{
Instance._virtualAxisDictionary[virtualAxis.Name] = new List<VirtualAxis>();
}
Instance._virtualAxisDictionary[virtualAxis.Name].Add(virtualAxis);
}
/// <summary>
/// Unregisters the provided virtual axis
/// </summary>
/// <param name="virtualAxis">Virtual axis to unregister</param>
public static void UnregisterVirtualAxis(VirtualAxis virtualAxis)
{
// If it's the first such virtual axis, create a new list for that axis name
if (Instance._virtualAxisDictionary.ContainsKey(virtualAxis.Name))
{
if (!Instance._virtualAxisDictionary[virtualAxis.Name].Remove(virtualAxis))
{
Debug.LogError("Requested axis " + virtualAxis.Name + " exists, but there's no such virtual axis that you're trying to unregister");
}
}
else
{
Debug.LogError("Trying to unregister an axis " + virtualAxis.Name + " that was never registered");
}
}
/// <summary>
/// Registers the provided virtual button
/// </summary>
/// <param name="virtualButton">Virtual button to register</param>
public static void RegisterVirtualButton(VirtualButton virtualButton)
{
if (!Instance._virtualButtonsDictionary.ContainsKey(virtualButton.Name))
{
Instance._virtualButtonsDictionary[virtualButton.Name] = new List<VirtualButton>();
}
Instance._virtualButtonsDictionary[virtualButton.Name].Add(virtualButton);
}
/// <summary>
/// Unregisters the provided virtual button
/// </summary>
/// <param name="virtualButton">Virtual button to unregister</param>
public static void UnregisterVirtualButton(VirtualButton virtualButton)
{
if (Instance._virtualButtonsDictionary.ContainsKey(virtualButton.Name))
{
if (!Instance._virtualButtonsDictionary[virtualButton.Name].Remove(virtualButton))
{
Debug.LogError("Requested button axis exists, but there's no such virtual button that you're trying to unregister");
}
}
else
{
Debug.LogError("Trying to unregister a button that was never registered");
}
}
/// <summary>
/// Private method that get's the value of the first non-zero virtual axis, registered with the specified name
/// </summary>
/// <param name="virtualAxisList">List of virtual axis to search through</param>
/// <param name="axisName">Name of the axis (for the standard Input behaviour)</param>
/// <param name="isRaw">Whether the method should return the Raw value of the axis</param>
/// <returns></returns>
private static float GetVirtualAxisValue(List<VirtualAxis> virtualAxisList, string axisName, bool isRaw)
{
// The method is really straightforward here
// First, we check the standard Input.GetAxis method
// If it's not zero, we return the value
// If it IS zero, we return first non-zero value of any of the passed virtual axis
// Or zero if all of them are zero
float axisValue = isRaw ? Input.GetAxisRaw(axisName) : Input.GetAxis(axisName);
if (!Mathf.Approximately(axisValue, 0f))
{
return axisValue;
}
for (int i = 0; i < virtualAxisList.Count; i++)
{
var currentAxisValue = virtualAxisList[i].Value;
if (!Mathf.Approximately(currentAxisValue, 0f))
{
return currentAxisValue;
}
}
return 0f;
}
/// <summary>
/// Simple logic for checking whether is any of the virtual buttons has been just pressed
/// </summary>
/// <param name="virtualButtons">Virtual buttons to search through</param>
/// <returns>Is any of the buttons has just been pressed?</returns>
private static bool GetAnyVirtualButtonDown(List<VirtualButton> virtualButtons)
{
for (int i = 0; i < virtualButtons.Count; i++)
{
if (virtualButtons[i].GetButtonDown) return true;
}
return false;
}
/// <summary>
/// Simple logic for checking whether is any of the virtual buttons has been just released
/// </summary>
/// <param name="virtualButtons">Virtual buttons to search through</param>
/// <returns>Is any of the buttons has just been released?</returns>
private static bool GetAnyVirtualButtonUp(List<VirtualButton> virtualButtons)
{
for (int i = 0; i < virtualButtons.Count; i++)
{
if (virtualButtons[i].GetButtonUp) return true;
}
return false;
}
/// <summary>
/// Simple logic for checking whether is any of the virtual buttons is currently pressed
/// </summary>
/// <param name="virtualButtons">Virtual buttons to search through</param>
/// <returns>Is any of the buttons currently pressed?</returns>
private static bool GetAnyVirtualButton(List<VirtualButton> virtualButtons)
{
for (int i = 0; i < virtualButtons.Count; i++)
{
if (virtualButtons[i].GetButton) return true;
}
return false;
}
}
}

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 2cfc89c3e4780c94b9c4bf0df5faf591
timeCreated: 1437294313
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,23 @@
namespace CnControls
{
/// <summary>
/// Virtual axis class
/// </summary>
public class VirtualAxis
{
/// <summary>
/// Name of the axis for which this virtual axis has to be registered
/// </summary>
public string Name { get; set; }
/// <summary>
/// Curret value of the axis
/// </summary>
public float Value { get; set; }
public VirtualAxis(string name)
{
Name = name;
}
}
}

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 1088a533affeb5e48971abf7fcc1d038
timeCreated: 1437295312
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,87 @@
using UnityEngine;
namespace CnControls
{
/// <summary>
/// Virtual button class
/// </summary>
public class VirtualButton
{
/// <summary>
/// Name of the button for which this virtual button has to be registered
/// </summary>
public string Name { get; set; }
/// <summary>
/// Is this button currently pressed?
/// </summary>
public bool IsPressed { get; private set; }
/// <summary>
/// The last frame this button was pressed
/// </summary>
private int _lastPressedFrame = -1;
/// <summary>
/// The last frame this butto was released
/// </summary>
private int _lastReleasedFrame = -1;
public VirtualButton(string name)
{
Name = name;
}
/// <summary>
/// Press logic sets the current state of the button to "IsPressed" untill the Release() method is called
/// </summary>
public void Press()
{
if (IsPressed)
{
return;
}
IsPressed = true;
_lastPressedFrame = Time.frameCount;
}
/// <summary>
/// Release logic frees the button from its "IsPressed" state
/// </summary>
public void Release()
{
IsPressed = false;
_lastReleasedFrame = Time.frameCount;
}
/// <summary>
/// Is this button currently pressed?
/// </summary>
public bool GetButton
{
get { return IsPressed; }
}
/// <summary>
/// Check whether this button has just been pressed
/// </summary>
public bool GetButtonDown
{
get
{
return _lastPressedFrame != -1 && _lastPressedFrame - Time.frameCount == -1;
}
}
/// <summary>
/// Check whether this button has just been released
/// </summary>
public bool GetButtonUp
{
get
{
return _lastReleasedFrame != -1 && _lastReleasedFrame == Time.frameCount - 1;
}
}
}
}

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 31e002a3108352a4ba5d5ff7719fe265
timeCreated: 1437295313
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: ad022afeb51162240a2e4d9b119d7532
folderAsset: yes
timeCreated: 1471272981
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,6 @@
using UnityEngine;
public class CommonOnScreenControl : MonoBehaviour
{
}

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 2cc30ec9654a3874699b5f5a8af57270
timeCreated: 1471369077
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,37 @@
using UnityEngine;
using UnityEngine.EventSystems;
namespace CnControls
{
public class Dpad : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
public DpadAxis[] DpadAxis;
/// <summary>
/// Current event camera reference. Needed for the sake of Unity Remote input
/// </summary>
public Camera CurrentEventCamera { get; set; }
public void OnPointerDown(PointerEventData eventData)
{
CurrentEventCamera = eventData.pressEventCamera ?? CurrentEventCamera;
foreach (var dpadAxis in DpadAxis)
{
if (RectTransformUtility.RectangleContainsScreenPoint(dpadAxis.RectTransform, eventData.position,
CurrentEventCamera))
{
dpadAxis.Press(eventData.position, CurrentEventCamera, eventData.pointerId);
}
}
}
public void OnPointerUp(PointerEventData eventData)
{
foreach (var dpadAxis in DpadAxis)
{
dpadAxis.TryRelease(eventData.pointerId);
}
}
}
}

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 2fa290c3290a9e04cb780c61b130e5af
timeCreated: 1437919838
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,47 @@
using UnityEngine;
namespace CnControls
{
public class DpadAxis : MonoBehaviour
{
public string AxisName;
public float AxisMultiplier;
public RectTransform RectTransform { get; private set; }
public int LastFingerId { get; set; }
private VirtualAxis _virtualAxis;
private void Awake()
{
RectTransform = GetComponent<RectTransform>();
}
private void OnEnable()
{
_virtualAxis = _virtualAxis ?? new VirtualAxis(AxisName);
LastFingerId = -1;
CnInputManager.RegisterVirtualAxis(_virtualAxis);
}
private void OnDisable()
{
CnInputManager.UnregisterVirtualAxis(_virtualAxis);
}
public void Press(Vector2 screenPoint, Camera eventCamera, int pointerId)
{
_virtualAxis.Value = Mathf.Clamp(AxisMultiplier, -1f, 1f);
LastFingerId = pointerId;
}
public void TryRelease(int pointerId)
{
if (LastFingerId == pointerId)
{
_virtualAxis.Value = 0f;
LastFingerId = -1;
}
}
}
}

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 0f6ae34570738c447a8f81bcb10d610c
timeCreated: 1437920835
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,26 @@
using UnityEngine.EventSystems;
using UnityEngine;
namespace CnControls
{
public class SensitiveJoystick : SimpleJoystick
{
public AnimationCurve SensitivityCurve = new AnimationCurve(
new Keyframe(0f, 0f, 1f, 1f),
new Keyframe(1f, 1f, 1f, 1f));
public override void OnDrag(PointerEventData eventData)
{
base.OnDrag(eventData);
var linearHorizontalValue = HorizintalAxis.Value;
var linearVecticalValue = VerticalAxis.Value;
var horizontalSign = Mathf.Sign(linearHorizontalValue);
var verticalSign = Mathf.Sign(linearVecticalValue);
HorizintalAxis.Value = horizontalSign * SensitivityCurve.Evaluate(horizontalSign * linearHorizontalValue);
VerticalAxis.Value = verticalSign * SensitivityCurve.Evaluate(verticalSign * linearVecticalValue);
}
}
}

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 82b762eb0f3558f409212c8907843e62
timeCreated: 1440831255
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,60 @@
using UnityEngine;
using UnityEngine.EventSystems;
namespace CnControls
{
/// <summary>
/// Simple button class
/// Handles press, hold and release, just like a normal button
/// </summary>
public class SimpleButton : MonoBehaviour, IPointerUpHandler, IPointerDownHandler
{
/// <summary>
/// The name of the button
/// </summary>
public string ButtonName = "Jump";
/// <summary>
/// Utility object that is registered in the system
/// </summary>
private VirtualButton _virtualButton;
/// <summary>
/// It's pretty simple here
/// When we enable, we register our button in the input system
/// </summary>
private void OnEnable()
{
_virtualButton = _virtualButton ?? new VirtualButton(ButtonName);
CnInputManager.RegisterVirtualButton(_virtualButton);
}
/// <summary>
/// When we disable, we unregister our button
/// </summary>
private void OnDisable()
{
CnInputManager.UnregisterVirtualButton(_virtualButton);
}
/// <summary>
/// uGUI Event system stuff
/// It's also utilised by the editor input helper
/// </summary>
/// <param name="eventData">Data of the passed event</param>
public void OnPointerUp(PointerEventData eventData)
{
_virtualButton.Release();
}
/// <summary>
/// uGUI Event system stuff
/// It's also utilised by the editor input helper
/// </summary>
/// <param name="eventData">Data of the passed event</param>
public void OnPointerDown(PointerEventData eventData)
{
_virtualButton.Press();
}
}
}

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 6f80d719f998a67438e69f9f995732ae
timeCreated: 1437737392
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,265 @@
using System;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace CnControls
{
[Flags]
public enum ControlMovementDirection
{
Horizontal = 0x1,
Vertical = 0x2,
Both = Horizontal | Vertical
}
/// <summary>
/// Simple joystick class
/// Contains logic for creating a simple joystick
/// </summary>
public class SimpleJoystick : MonoBehaviour, IDragHandler, IPointerUpHandler, IPointerDownHandler
{
/// <summary>
/// Current event camera reference. Needed for the sake of Unity Remote input
/// </summary>
public Camera CurrentEventCamera { get; set; }
// ------- Inspector visible variables ---------------------------------------
/// <summary>
/// The range in non-scaled pixels for which we can drag the joystick around
/// </summary>
public float MovementRange = 50f;
/// <summary>
/// The name of the horizontal axis for this joystick to update
/// </summary>
public string HorizontalAxisName = "Horizontal";
/// <summary>
/// The name of the vertical axis for this joystick to update
/// </summary>
public string VerticalAxisName = "Vertical";
/// <summary>
/// Should the joystick be hidden when the user releases the finger?
/// [Space(15f)] attribute is needed only for the editor, it creates some spacing in the inspector
/// </summary>
[Space(15f)]
[Tooltip("Should the joystick be hidden on release?")]
public bool HideOnRelease;
/// <summary>
/// Should the joystick be moved along with the finger
/// </summary>
[Tooltip("Should the Base image move along with the finger without any constraints?")]
public bool MoveBase = true;
/// <summary>
/// Should the joystick be moved along with the finger
/// </summary>
[Tooltip("Should the joystick snap to finger? If it's FALSE, the MoveBase checkbox logic will be ommited")]
public bool SnapsToFinger = true;
/// <summary>
/// Joystick movement direction
/// Specifies the axis along which it can move
/// </summary>
[Tooltip("Constraints on the joystick movement axis")]
public ControlMovementDirection JoystickMoveAxis = ControlMovementDirection.Both;
/// <summary>
/// Image of the joystick base
/// </summary>
[Tooltip("Image of the joystick base")]
public Image JoystickBase;
/// <summary>
/// Image of the stick itself
/// </summary>
[Tooltip("Image of the stick itself")]
public Image Stick;
/// <summary>
/// Rect Transform of the touch zone
/// </summary>
[Tooltip("Touch Zone transform")]
public RectTransform TouchZone;
// ---------------------------------------------------------------------------
private Vector2 _initialStickPosition;
private Vector2 _intermediateStickPosition;
private Vector2 _initialBasePosition;
private RectTransform _baseTransform;
private RectTransform _stickTransform;
private float _oneOverMovementRange;
protected VirtualAxis HorizintalAxis;
protected VirtualAxis VerticalAxis;
private void Awake()
{
_stickTransform = Stick.GetComponent<RectTransform>();
_baseTransform = JoystickBase.GetComponent<RectTransform>();
_initialStickPosition = _stickTransform.anchoredPosition;
_intermediateStickPosition = _initialStickPosition;
_initialBasePosition = _baseTransform.anchoredPosition;
_stickTransform.anchoredPosition = _initialStickPosition;
_baseTransform.anchoredPosition = _initialBasePosition;
_oneOverMovementRange = 1f / MovementRange;
if (HideOnRelease)
{
Hide(true);
}
}
private void OnEnable()
{
// When we enable, we get our virtual axis
HorizintalAxis = HorizintalAxis ?? new VirtualAxis(HorizontalAxisName);
VerticalAxis = VerticalAxis ?? new VirtualAxis(VerticalAxisName);
// And register them in our input system
CnInputManager.RegisterVirtualAxis(HorizintalAxis);
CnInputManager.RegisterVirtualAxis(VerticalAxis);
}
private void OnDisable()
{
// When we disable, we just unregister our axis
// It also happens before the game object is Destroyed
CnInputManager.UnregisterVirtualAxis(HorizintalAxis);
CnInputManager.UnregisterVirtualAxis(VerticalAxis);
}
public virtual void OnDrag(PointerEventData eventData)
{
// Unity remote multitouch related thing
// When we feed fake PointerEventData we can't really provide a camera,
// it has a lot of private setters via not created objects, so even the Reflection magic won't help a lot here
// Instead, we just provide an actual event camera as a public property so we can easily set it in the Input Helper class
CurrentEventCamera = eventData.pressEventCamera ?? CurrentEventCamera;
// We get the local position of the joystick
Vector3 worldJoystickPosition;
RectTransformUtility.ScreenPointToWorldPointInRectangle(_stickTransform, eventData.position,
CurrentEventCamera, out worldJoystickPosition);
// Then we change it's actual position so it snaps to the user's finger
_stickTransform.position = worldJoystickPosition;
// We then query it's anchored position. It's calculated internally and quite tricky to do from scratch here in C#
var stickAnchoredPosition = _stickTransform.anchoredPosition;
// Some bitwise logic for constraining the joystick along one of the axis
// If the "Both" option was selected, non of these two checks will yield "true"
if ((JoystickMoveAxis & ControlMovementDirection.Horizontal) == 0)
{
stickAnchoredPosition.x = _intermediateStickPosition.x;
}
if ((JoystickMoveAxis & ControlMovementDirection.Vertical) == 0)
{
stickAnchoredPosition.y = _intermediateStickPosition.y;
}
_stickTransform.anchoredPosition = stickAnchoredPosition;
// Find current difference between the previous central point of the joystick and it's current position
Vector2 difference = new Vector2(stickAnchoredPosition.x, stickAnchoredPosition.y) - _intermediateStickPosition;
// Normalisation stuff
var diffMagnitude = difference.magnitude;
var normalizedDifference = difference / diffMagnitude;
// If the joystick is being dragged outside of it's range
if (diffMagnitude > MovementRange)
{
if (MoveBase && SnapsToFinger)
{
// We move the base so it maps the new joystick center position
var baseMovementDifference = difference.magnitude - MovementRange;
var addition = normalizedDifference * baseMovementDifference;
_baseTransform.anchoredPosition += addition;
_intermediateStickPosition += addition;
}
else
{
_stickTransform.anchoredPosition = _intermediateStickPosition + normalizedDifference * MovementRange;
}
}
// We should now calculate axis values based on final position and not on "virtual" one
var finalStickAnchoredPosition = _stickTransform.anchoredPosition;
// Sanity recalculation
Vector2 finalDifference = new Vector2(finalStickAnchoredPosition.x, finalStickAnchoredPosition.y) - _intermediateStickPosition;
// We don't need any values that are greater than 1 or less than -1
var horizontalValue = Mathf.Clamp(finalDifference.x * _oneOverMovementRange, -1f, 1f);
var verticalValue = Mathf.Clamp(finalDifference.y * _oneOverMovementRange, -1f, 1f);
// Finally, we update our virtual axis
HorizintalAxis.Value = horizontalValue;
VerticalAxis.Value = verticalValue;
}
public void OnPointerUp(PointerEventData eventData)
{
// When we lift our finger, we reset everything to the initial state
_baseTransform.anchoredPosition = _initialBasePosition;
_stickTransform.anchoredPosition = _initialStickPosition;
_intermediateStickPosition = _initialStickPosition;
HorizintalAxis.Value = VerticalAxis.Value = 0f;
// We also hide it if we specified that behaviour
if (HideOnRelease)
{
Hide(true);
}
}
public void OnPointerDown(PointerEventData eventData)
{
// When we press, we first want to snap the joystick to the user's finger
if (SnapsToFinger)
{
CurrentEventCamera = eventData.pressEventCamera ?? CurrentEventCamera;
Vector3 localStickPosition;
Vector3 localBasePosition;
RectTransformUtility.ScreenPointToWorldPointInRectangle(_stickTransform, eventData.position,
CurrentEventCamera, out localStickPosition);
RectTransformUtility.ScreenPointToWorldPointInRectangle(_baseTransform, eventData.position,
CurrentEventCamera, out localBasePosition);
_baseTransform.position = localBasePosition;
_stickTransform.position = localStickPosition;
_intermediateStickPosition = _stickTransform.anchoredPosition;
}
else
{
OnDrag(eventData);
}
// We also want to show it if we specified that behaviour
if (HideOnRelease)
{
Hide(false);
}
}
/// <summary>
/// Simple "Hide" behaviour
/// </summary>
/// <param name="isHidden">Whether the joystick should be hidden</param>
private void Hide(bool isHidden)
{
JoystickBase.gameObject.SetActive(!isHidden);
Stick.gameObject.SetActive(!isHidden);
}
}
}

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: eeb64258239543b4db1c80658a0d4f2c
timeCreated: 1437298014
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,112 @@
using UnityEngine;
using UnityEngine.EventSystems;
namespace CnControls
{
public class Touchpad : MonoBehaviour, IDragHandler, IPointerUpHandler, IPointerDownHandler
{
/// <summary>
/// Current event camera reference. Needed for the sake of Unity Remote input
/// </summary>
public Camera CurrentEventCamera { get; set; }
/// <summary>
/// The name of the horizontal axis for this touchpad to update
/// </summary>
public string HorizontalAxisName = "Horizontal";
/// <summary>
/// The name of the vertical axis for this touchpad to update
/// </summary>
public string VerticalAxisName = "Vertical";
/// <summary>
/// Whether this touchpad should preserve inertia when the finger is lifted
/// </summary>
public bool PreserveInertia = true;
/// <summary>
/// The speed of decay of inertia
/// </summary>
public float Friction = 3f;
private VirtualAxis _horizintalAxis;
private VirtualAxis _verticalAxis;
private int _lastDragFrameNumber;
private bool _isCurrentlyTweaking;
/// <summary>
/// Joystick movement direction
/// Specifies the axis along which it can move
/// </summary>
[Tooltip("Constraints on the joystick movement axis")]
public ControlMovementDirection ControlMoveAxis = ControlMovementDirection.Both;
private void OnEnable()
{
// When we enable, we get our virtual axis
_horizintalAxis = _horizintalAxis ?? new VirtualAxis(HorizontalAxisName);
_verticalAxis = _verticalAxis ?? new VirtualAxis(VerticalAxisName);
// And register them in our input system
CnInputManager.RegisterVirtualAxis(_horizintalAxis);
CnInputManager.RegisterVirtualAxis(_verticalAxis);
}
private void OnDisable()
{
// When we disable, we just unregister our axis
// It also happens before the game object is Destroyed
CnInputManager.UnregisterVirtualAxis(_horizintalAxis);
CnInputManager.UnregisterVirtualAxis(_verticalAxis);
}
public virtual void OnDrag(PointerEventData eventData)
{
// Some bitwise logic for constraining the touchpad along one of the axis
// If the "Both" option was selected, non of these two checks will yield "true"
if ((ControlMoveAxis & ControlMovementDirection.Horizontal) != 0)
{
_horizintalAxis.Value = eventData.delta.x;
}
if ((ControlMoveAxis & ControlMovementDirection.Vertical) != 0)
{
_verticalAxis.Value = eventData.delta.y;
}
_lastDragFrameNumber = Time.renderedFrameCount;
}
public void OnPointerUp(PointerEventData eventData)
{
_isCurrentlyTweaking = false;
if (!PreserveInertia)
{
_horizintalAxis.Value = 0f;
_verticalAxis.Value = 0f;
}
}
public void OnPointerDown(PointerEventData eventData)
{
_isCurrentlyTweaking = true;
OnDrag(eventData);
}
private void Update()
{
if (_isCurrentlyTweaking && _lastDragFrameNumber < Time.renderedFrameCount - 2)
{
_horizintalAxis.Value = 0f;
_verticalAxis.Value = 0f;
}
if (PreserveInertia && !_isCurrentlyTweaking)
{
_horizintalAxis.Value = Mathf.Lerp(_horizintalAxis.Value, 0f, Friction * Time.deltaTime);
_verticalAxis.Value = Mathf.Lerp(_verticalAxis.Value, 0f, Friction * Time.deltaTime);
}
}
}
}

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 15aa632517b93b5438ffbbbdfe98661d
timeCreated: 1440872696
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -87,6 +87,8 @@ namespace Unity.BossRoom.Gameplay.GameplayObjects
public string VectorWallAbilityKey = "VectorWall";
public string TheExecutionerKey = "TheExecutioner";
public string CrowsForesightKey = "CrowsForesight";
public string SwapButtonKey = "Swap";
public string SprintButtonKey = "Sprint";
public List<Action> m_AllActions;

@ -14,6 +14,10 @@ using UnityEngine.Assertions;
using UnityEngine.EventSystems;
using UnityEngine.Serialization;
#if UNITY_ANDROID || UNITY_IOS
using CnControls;
#endif
namespace Unity.BossRoom.Gameplay.UserInput
{
/// <summary>
@ -146,10 +150,17 @@ namespace Unity.BossRoom.Gameplay.UserInput
{
if (m_InputAllower)
{
#if UNITY_ANDROID || UNITY_IOS
HandleMobileSprint();
HandleMobileSwapInput();
HandleMobileAbilityInput();
HandleMobileMovementInput();
#else
HandleSprint();
HandleSwapInput();
HandleAbilityInput();
HandleMovementInput();
#endif
//CursorUpdate();
}
}
@ -286,12 +297,13 @@ namespace Unity.BossRoom.Gameplay.UserInput
if (m_MoveRequest)
{
m_MoveRequest = false;
if ((Time.time - m_LastSentMove) > k_MoveSendRateSeconds)
#if UNITY_ANDROID || UNITY_IOS
if (Input.touchCount > 0)
{
m_LastSentMove = Time.time;
var ray = m_MainCamera.ScreenPointToRay(UnityEngine.Input.mousePosition);
Vector3 screenPosition = Input.GetTouch(0).position;
var ray = m_MainCamera.ScreenPointToRay(screenPosition);
var groundHits = Physics.RaycastNonAlloc(ray,
int groundHits = Physics.RaycastNonAlloc(ray,
k_CachedHit,
k_MouseInputRaycastDistance,
m_GroundLayerMask);
@ -311,12 +323,37 @@ namespace Unity.BossRoom.Gameplay.UserInput
NavMesh.AllAreas))
{
m_ServerCharacter.ServerSendCharacterInputRpc(hit.position);
//Send our client only click request
ClientMoveEvent?.Invoke(hit.position);
}
}
}
#else
var ray = m_MainCamera.ScreenPointToRay(UnityEngine.Input.mousePosition);
int groundHits = Physics.RaycastNonAlloc(ray,
k_CachedHit,
k_MouseInputRaycastDistance,
m_GroundLayerMask);
if (groundHits > 0)
{
if (groundHits > 1)
{
// sort hits by distance
Array.Sort(k_CachedHit, 0, groundHits, m_RaycastHitComparer);
}
// verify point is indeed on navmesh surface
if (NavMesh.SamplePosition(k_CachedHit[0].point,
out var hit,
k_MaxNavMeshDistance,
NavMesh.AllAreas))
{
m_ServerCharacter.ServerSendCharacterInputRpc(hit.position);
ClientMoveEvent?.Invoke(hit.position);
}
}
#endif
}
}
@ -547,11 +584,6 @@ namespace Unity.BossRoom.Gameplay.UserInput
}
if (Input.GetKeyDown(KeyCode.F)) // Vector Wall
{
//if (m_ServerCharacter.IsCrow)
//{
// m_UIMessageFeed.DisplayMessage("Ability not available for crow");
// return;
//}
ActivateAbilityIfAllowed(GameDataSource.Instance.VectorWallAbilityKey);
}
if (Input.GetKeyDown(KeyCode.C)) // The Executioner
@ -600,8 +632,6 @@ namespace Unity.BossRoom.Gameplay.UserInput
}
}
[ServerRpc]
private void StartSprintServerRPC()
{
@ -614,8 +644,6 @@ namespace Unity.BossRoom.Gameplay.UserInput
m_ServerCharacter.Movement.SetSpeedModifier(1f);
}
private void ActivateAbilityIfAllowed(string abilityKey, string errorMessage = null)
{
if (IsSwapModeActive)
@ -694,7 +722,6 @@ namespace Unity.BossRoom.Gameplay.UserInput
/// <summary>
/// Handles the swap request when in swap mode.
/// </summary>
private void HandleSwapRequest()
{
var ray = m_MainCamera.ScreenPointToRay(Input.mousePosition);
@ -710,13 +737,10 @@ namespace Unity.BossRoom.Gameplay.UserInput
if (targetNetObj.TryGetComponent(out ServerCharacter targetCharacter))
{
// Initiate the swap
targetCharacter.NotifySwapRequestRpc(m_ServerCharacter.NetworkObjectId, m_ServerCharacter.uIStateDisplayHandler.m_UIState.playerName);
Debug.Log($"Swap request sent to {targetCharacter.name}.");
GameStateManager.Instance.ChangeState(CursorState.Default);
IsSwapModeActive = false; // Automatically deactivate swap mode after a successful request
//AddMultiplier(targetCharacter);
return;
}
}
@ -725,7 +749,6 @@ namespace Unity.BossRoom.Gameplay.UserInput
Debug.LogWarning("No valid target found for swapping.");
}
void UpdateAction1()
{
var isHoldingNetworkObject =
@ -739,7 +762,6 @@ namespace Unity.BossRoom.Gameplay.UserInput
if (isHoldingNetworkObject)
{
// show drop!
actionState1.actionID = GameDataSource.Instance.DropActionPrototype.ActionID;
}
else if ((m_ServerCharacter.TargetId.Value != 0
@ -748,7 +770,6 @@ namespace Unity.BossRoom.Gameplay.UserInput
)
{
// special case: targeting a pickup-able item or holding a pickup object
actionState1.actionID = GameDataSource.Instance.PickUpActionPrototype.ActionID;
}
else if (m_ServerCharacter.TargetId.Value != 0
@ -760,7 +781,6 @@ namespace Unity.BossRoom.Gameplay.UserInput
// special case: when we have a player selected, we change the meaning of the basic action
// we have another player selected! In that case we want to reflect that our basic Action is a Revive, not an attack!
// But we need to know if the player is alive... if so, the button should be disabled (for better player communication)
actionState1.actionID = GameDataSource.Instance.ReviveActionPrototype.ActionID;
isSelectable = charState.NetLifeState.LifeState.Value != LifeState.Alive;
}
@ -786,5 +806,106 @@ namespace Unity.BossRoom.Gameplay.UserInput
selectable = isSelectable;
}
}
#if UNITY_ANDROID || UNITY_IOS
// Mobile-specific input handlers using CNInputControls and touch input
private void HandleMobileSprint()
{
if (m_ServerCharacter.IsCrow) return;
if (CnInputManager.GetButton(GameDataSource.Instance.SprintButtonKey))
{
float staminaCost = 50f * Time.deltaTime;
if (staminaManager.TryConsume(staminaCost))
{
if (!isSprinting)
{
StartSprintServerRPC();
isSprinting = true;
}
}
else
{
StopSprintServerRPC();
staminaManager.StopConsuming();
isSprinting = false;
}
}
else if (isSprinting) // Sprint button released
{
StopSprintServerRPC();
staminaManager.StopConsuming();
isSprinting = false;
}
}
private void HandleMobileSwapInput()
{
if (CnInputManager.GetButtonDown(GameDataSource.Instance.SwapButtonKey))
{
if (CanActivateSwapMode())
{
ToggleSwapMode();
}
else
{
m_UIMessageFeed.DisplayMessage("Not on a platform or not a player");
Debug.Log("Cannot activate swap mode while ability mode is active.");
}
}
}
private void HandleMobileAbilityInput()
{
if (CnInputManager.GetButtonDown(GameDataSource.Instance.DashNCrashAbilityKey))
{
if (!m_ServerCharacter.IsCrow)
{
m_UIMessageFeed.DisplayMessage("You must be the Crow to activate this ability");
return;
}
ActivateAbilityIfAllowed(GameDataSource.Instance.DashNCrashAbilityKey, "Abilities are only for crow");
}
if (CnInputManager.GetButtonDown(GameDataSource.Instance.FreezeThrowAbilityKey))
{
ActivateAbilityIfAllowed(GameDataSource.Instance.FreezeThrowAbilityKey);
}
if (CnInputManager.GetButtonDown(GameDataSource.Instance.VectorWallAbilityKey))
{
ActivateAbilityIfAllowed(GameDataSource.Instance.VectorWallAbilityKey);
}
if (CnInputManager.GetButtonDown(GameDataSource.Instance.TheExecutionerKey))
{
if (m_ServerCharacter.IsCrow)
{
m_UIMessageFeed.DisplayMessage("Ability not available for crow");
return;
}
ActivateAbilityIfAllowed(GameDataSource.Instance.TheExecutionerKey);
}
if (CnInputManager.GetButtonDown(GameDataSource.Instance.CrowsForesightKey))
{
if (!m_ServerCharacter.IsCrow)
{
m_UIMessageFeed.DisplayMessage("You must be the Crow to activate this ability");
return;
}
ActivateAbilityIfAllowed(GameDataSource.Instance.CrowsForesightKey);
}
}
private void HandleMobileMovementInput()
{
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);
if (touch.phase == TouchPhase.Began && !EventSystem.current.IsPointerOverGameObject(touch.fingerId))
{
CancelActiveModes();
m_MoveRequest = true;
}
}
}
#endif
}
}

@ -13,7 +13,7 @@ MonoBehaviour:
m_Name: 0_UniversalRenderPipelineAsset_Mobile_Low
m_EditorClassIdentifier:
k_AssetVersion: 12
k_AssetPreviousVersion: 11
k_AssetPreviousVersion: 12
m_RendererType: 1
m_RendererData: {fileID: 0}
m_RendererDataList:

@ -13,7 +13,7 @@ MonoBehaviour:
m_Name: 1_UniversalRenderPipelineAsset_Mobile_Medium
m_EditorClassIdentifier:
k_AssetVersion: 12
k_AssetPreviousVersion: 11
k_AssetPreviousVersion: 12
m_RendererType: 1
m_RendererData: {fileID: 0}
m_RendererDataList:

@ -13,7 +13,7 @@ MonoBehaviour:
m_Name: 2_UniversalRenderPipelineAsset_Mobile_High
m_EditorClassIdentifier:
k_AssetVersion: 12
k_AssetPreviousVersion: 11
k_AssetPreviousVersion: 12
m_RendererType: 1
m_RendererData: {fileID: 0}
m_RendererDataList:

@ -12,8 +12,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
m_Name: 2_UniversalRenderPipelineAsset_Windows_High
m_EditorClassIdentifier:
k_AssetVersion: 11
k_AssetPreviousVersion: 11
k_AssetVersion: 12
k_AssetPreviousVersion: 12
m_RendererType: 1
m_RendererData: {fileID: 0}
m_RendererDataList:
@ -33,6 +33,14 @@ MonoBehaviour:
m_EnableLODCrossFade: 1
m_LODCrossFadeDitheringType: 1
m_ShEvalMode: 0
m_LightProbeSystem: 0
m_ProbeVolumeMemoryBudget: 1024
m_ProbeVolumeBlendingMemoryBudget: 256
m_SupportProbeVolumeGPUStreaming: 0
m_SupportProbeVolumeDiskStreaming: 0
m_SupportProbeVolumeScenarios: 0
m_SupportProbeVolumeScenarioBlending: 0
m_ProbeVolumeSHBands: 1
m_MainLightRenderingMode: 1
m_MainLightShadowsSupported: 0
m_MainLightShadowmapResolution: 512
@ -67,21 +75,30 @@ MonoBehaviour:
m_SupportsLightLayers: 0
m_DebugLevel: 0
m_StoreActionsOptimization: 0
m_EnableRenderGraph: 0
m_UseAdaptivePerformance: 1
m_ColorGradingMode: 0
m_ColorGradingLutSize: 16
m_AllowPostProcessAlphaOutput: 0
m_UseFastSRGBLinearConversion: 0
m_SupportDataDrivenLensFlare: 1
m_SupportScreenSpaceLensFlare: 1
m_GPUResidentDrawerMode: 0
m_SmallMeshScreenPercentage: 0
m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0
m_ShadowType: 1
m_LocalShadowsSupported: 0
m_LocalShadowsAtlasResolution: 256
m_MaxPixelLights: 0
m_ShadowAtlasResolution: 256
m_VolumeFrameworkUpdateMode: 0
m_Textures:
blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}
m_VolumeProfile: {fileID: 0}
apvScenesData:
obsoleteSceneBounds:
m_Keys: []
m_Values: []
obsoleteHasProbeVolumes:
m_Keys: []
m_Values:
m_PrefilteringModeMainLightShadows: 0
m_PrefilteringModeAdditionalLight: 3
m_PrefilteringModeAdditionalLightShadows: 2
@ -92,6 +109,7 @@ MonoBehaviour:
m_PrefilterDebugKeywords: 1
m_PrefilterWriteRenderingLayers: 1
m_PrefilterHDROutput: 1
m_PrefilterAlphaOutput: 0
m_PrefilterSSAODepthNormals: 1
m_PrefilterSSAOSourceDepthLow: 0
m_PrefilterSSAOSourceDepthMedium: 1
@ -110,5 +128,9 @@ MonoBehaviour:
m_PrefilterSoftShadows: 0
m_PrefilterScreenCoord: 1
m_PrefilterNativeRenderPass: 1
m_PrefilterUseLegacyLightmaps: 0
m_ShaderVariantLogLevel: 0
m_ShadowCascades: 0
m_Textures:
blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}

@ -54,18 +54,9 @@ MonoBehaviour:
- rid: 2009715443241844754
- rid: 2009715443241844755
- rid: 2009715443241844756
- rid: 2009715466852368384
m_RuntimeSettings:
m_List:
- rid: 2009715443241844737
- rid: 2009715443241844739
- rid: 2009715443241844741
- rid: 2009715443241844742
- rid: 2009715443241844744
- rid: 2009715443241844745
- rid: 2009715443241844746
- rid: 2009715443241844748
- rid: 2009715443241844753
- rid: 2009715443241844756
m_List: []
m_AssetVersion: 8
m_ObsoleteDefaultVolumeProfile: {fileID: 0}
m_RenderingLayerNames:
@ -117,6 +108,9 @@ MonoBehaviour:
m_CoreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3}
m_CoreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, type: 3}
m_SamplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
m_TerrainDetailLit: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144, type: 3}
m_TerrainDetailGrassBillboard: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90, type: 3}
m_TerrainDetailGrass: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1, type: 3}
- rid: 2009715443241844738
type: {class: Renderer2DResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
@ -145,6 +139,7 @@ MonoBehaviour:
m_DefaultLineMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2}
m_DefaultTerrainMaterial: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2}
m_DefaultDecalMaterial: {fileID: 2100000, guid: 31d0dcc6f2dd4e4408d18036a2c93862, type: 2}
m_DefaultSpriteMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
- rid: 2009715443241844741
type: {class: UniversalRenderPipelineRuntimeXRResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
@ -263,3 +258,7 @@ MonoBehaviour:
m_ExportShaderVariants: 1
m_ShaderVariantLogLevel: 0
m_StripRuntimeDebugShaders: 1
- rid: 2009715466852368384
type: {class: UniversalRenderPipelineEditorAssets, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_DefaultSettingsVolumeProfile: {fileID: 11400000, guid: eda47df5b85f4f249abf7abd73db2cb2, type: 2}

@ -13,9 +13,13 @@ MonoBehaviour:
m_Name: RNSM Panel Settings
m_EditorClassIdentifier:
themeUss: {fileID: -4733365628477956816, guid: c2a2a93fee52eaf438bbfbf26b0ac4bc, type: 3}
m_DisableNoThemeWarning: 0
m_TargetTexture: {fileID: 0}
m_RenderMode: 0
m_WorldSpaceLayer: 0
m_ScaleMode: 2
m_ReferenceSpritePixelsPerUnit: 100
m_PixelsPerUnit: 100
m_Scale: 1
m_ReferenceDpi: 96
m_FallbackDpi: 96
@ -24,9 +28,11 @@ MonoBehaviour:
m_Match: 0
m_SortingOrder: 0
m_TargetDisplay: 0
m_BindingLogLevel: 0
m_ClearDepthStencil: 1
m_ClearColor: 0
m_ColorClearValue: {r: 0, g: 0, b: 0, a: 0}
m_VertexBudget: 0
m_DynamicAtlasSettings:
m_MinAtlasSize: 64
m_MaxAtlasSize: 4096
@ -35,4 +41,6 @@ MonoBehaviour:
m_AtlasBlitShader: {fileID: 9101, guid: 0000000000000000f000000000000000, type: 0}
m_RuntimeShader: {fileID: 9100, guid: 0000000000000000f000000000000000, type: 0}
m_RuntimeWorldShader: {fileID: 9102, guid: 0000000000000000f000000000000000, type: 0}
m_ICUDataAsset: {fileID: 0}
forceGammaRendering: 0
textSettings: {fileID: 0}

@ -1,29 +1,29 @@
{
"dependencies": {
"com.unity.2d.sprite": "1.0.0",
"com.unity.ai.navigation": "2.0.4",
"com.unity.cinemachine": "2.10.1",
"com.unity.collab-proxy": "2.5.2",
"com.unity.ai.navigation": "2.0.6",
"com.unity.cinemachine": "2.10.3",
"com.unity.collab-proxy": "2.7.1",
"com.unity.ide.rider": "3.0.31",
"com.unity.ide.visualstudio": "2.0.22",
"com.unity.ide.vscode": "1.2.5",
"com.unity.learn.iet-framework": "4.0.2",
"com.unity.memoryprofiler": "1.1.1",
"com.unity.learn.iet-framework": "4.0.4",
"com.unity.memoryprofiler": "1.1.5",
"com.unity.multiplayer.center": "1.0.0",
"com.unity.multiplayer.tools": "2.2.1",
"com.unity.netcode.gameobjects": "1.10.0",
"com.unity.performance.profile-analyzer": "1.2.2",
"com.unity.netcode.gameobjects": "1.12.0",
"com.unity.performance.profile-analyzer": "1.2.3",
"com.unity.postprocessing": "3.4.0",
"com.unity.recorder": "5.1.1",
"com.unity.render-pipelines.universal": "17.0.3",
"com.unity.services.authentication": "3.3.3",
"com.unity.recorder": "5.1.2",
"com.unity.render-pipelines.universal": "17.0.4",
"com.unity.services.authentication": "3.4.0",
"com.unity.services.lobby": "1.2.2",
"com.unity.services.relay": "1.0.5",
"com.unity.test-framework": "1.4.5",
"com.unity.test-framework": "1.4.6",
"com.unity.timeline": "1.8.7",
"com.unity.toolchain.macos-x86_64-linux-x86_64": "2.0.9",
"com.unity.toolchain.macos-x86_64-linux-x86_64": "2.0.10",
"com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.10",
"com.unity.transport": "2.3.0",
"com.unity.transport": "2.4.0",
"com.unity.ugui": "2.0.0",
"com.veriorpies.parrelsync": "https://github.com/VeriorPies/ParrelSync.git?path=/ParrelSync#bb3d5067e49e403d8b8ba15c036d313b4dd2c696",
"jp.hadashikick.vcontainer": "1.11.0",

@ -7,7 +7,7 @@
"dependencies": {}
},
"com.unity.ai.navigation": {
"version": "2.0.4",
"version": "2.0.6",
"depth": 0,
"source": "registry",
"dependencies": {
@ -25,7 +25,7 @@
"url": "https://packages.unity.com"
},
"com.unity.burst": {
"version": "1.8.18",
"version": "1.8.19",
"depth": 1,
"source": "registry",
"dependencies": {
@ -35,7 +35,7 @@
"url": "https://packages.unity.com"
},
"com.unity.cinemachine": {
"version": "2.10.1",
"version": "2.10.3",
"depth": 0,
"source": "registry",
"dependencies": {
@ -44,7 +44,7 @@
"url": "https://packages.unity.com"
},
"com.unity.collab-proxy": {
"version": "2.5.2",
"version": "2.7.1",
"depth": 0,
"source": "registry",
"dependencies": {},
@ -102,7 +102,7 @@
"url": "https://packages.unity.com"
},
"com.unity.learn.iet-framework": {
"version": "4.0.2",
"version": "4.0.4",
"depth": 0,
"source": "registry",
"dependencies": {
@ -119,10 +119,14 @@
"url": "https://packages.unity.com"
},
"com.unity.memoryprofiler": {
"version": "1.1.1",
"version": "1.1.5",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.burst": "1.8.0",
"com.unity.collections": "1.2.3",
"com.unity.mathematics": "1.2.1",
"com.unity.profiling.core": "1.0.0",
"com.unity.editorcoroutines": "1.0.0"
},
"url": "https://packages.unity.com"
@ -162,7 +166,7 @@
"url": "https://packages.unity.com"
},
"com.unity.netcode.gameobjects": {
"version": "1.10.0",
"version": "1.12.0",
"depth": 0,
"source": "registry",
"dependencies": {
@ -186,7 +190,7 @@
"url": "https://packages.unity.com"
},
"com.unity.performance.profile-analyzer": {
"version": "1.2.2",
"version": "1.2.3",
"depth": 0,
"source": "registry",
"dependencies": {},
@ -209,18 +213,18 @@
"url": "https://packages.unity.com"
},
"com.unity.recorder": {
"version": "5.1.1",
"version": "5.1.2",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.timeline": "1.0.0",
"com.unity.collections": "1.0.0",
"com.unity.timeline": "1.8.7",
"com.unity.collections": "1.2.4",
"com.unity.bindings.openimageio": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.render-pipelines.core": {
"version": "17.0.3",
"version": "17.0.4",
"depth": 1,
"source": "builtin",
"dependencies": {
@ -235,12 +239,12 @@
}
},
"com.unity.render-pipelines.universal": {
"version": "17.0.3",
"version": "17.0.4",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.render-pipelines.core": "17.0.3",
"com.unity.shadergraph": "17.0.3",
"com.unity.render-pipelines.core": "17.0.4",
"com.unity.shadergraph": "17.0.4",
"com.unity.render-pipelines.universal-config": "17.0.3"
}
},
@ -263,26 +267,26 @@
}
},
"com.unity.searcher": {
"version": "4.9.2",
"version": "4.9.3",
"depth": 2,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.services.authentication": {
"version": "3.3.3",
"version": "3.4.0",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.ugui": "1.0.0",
"com.unity.services.core": "1.13.0",
"com.unity.services.core": "1.14.0",
"com.unity.nuget.newtonsoft-json": "3.2.1",
"com.unity.modules.unitywebrequest": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.services.core": {
"version": "1.13.0",
"version": "1.14.0",
"depth": 1,
"source": "registry",
"dependencies": {
@ -314,11 +318,11 @@
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.collections": "1.2.4",
"com.unity.services.core": "1.12.4",
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.nuget.newtonsoft-json": "3.0.2",
"com.unity.services.authentication": "2.0.0",
"com.unity.collections": "1.2.4"
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.services.authentication": "2.0.0"
},
"url": "https://packages.unity.com"
},
@ -341,7 +345,7 @@
"url": "https://packages.unity.com"
},
"com.unity.services.wire": {
"version": "1.2.7",
"version": "1.3.0",
"depth": 1,
"source": "registry",
"dependencies": {
@ -359,12 +363,12 @@
"url": "https://packages.unity.com"
},
"com.unity.shadergraph": {
"version": "17.0.3",
"version": "17.0.4",
"depth": 1,
"source": "builtin",
"dependencies": {
"com.unity.render-pipelines.core": "17.0.3",
"com.unity.searcher": "4.9.2"
"com.unity.render-pipelines.core": "17.0.4",
"com.unity.searcher": "4.9.3"
}
},
"com.unity.sysroot": {
@ -384,7 +388,7 @@
"url": "https://packages.unity.com"
},
"com.unity.test-framework": {
"version": "1.4.5",
"version": "1.4.6",
"depth": 0,
"source": "registry",
"dependencies": {
@ -417,7 +421,7 @@
"url": "https://packages.unity.com"
},
"com.unity.toolchain.macos-x86_64-linux-x86_64": {
"version": "2.0.9",
"version": "2.0.10",
"depth": 0,
"source": "registry",
"dependencies": {
@ -437,7 +441,7 @@
"url": "https://packages.unity.com"
},
"com.unity.transport": {
"version": "2.3.0",
"version": "2.4.0",
"depth": 0,
"source": "registry",
"dependencies": {

@ -1,2 +1,2 @@
m_EditorVersion: 6000.0.25f1
m_EditorVersionWithRevision: 6000.0.25f1 (4859ab7b5a49)
m_EditorVersion: 6000.0.40f1
m_EditorVersionWithRevision: 6000.0.40f1 (157d81624ddf)

@ -9,164 +9,123 @@
{
"userAdded": false,
"type": "UnityEngine.AnimationClip",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEditor.Animations.AnimatorController",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.AnimatorOverrideController",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEditor.Audio.AudioMixerController",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.ComputeShader",
"ignore": true,
"defaultInstantiationMode": 1,
"supportsModification": true
"defaultInstantiationMode": 1
},
{
"userAdded": false,
"type": "UnityEngine.Cubemap",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.GameObject",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEditor.LightingDataAsset",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": false
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.LightingSettings",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.Material",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEditor.MonoScript",
"ignore": true,
"defaultInstantiationMode": 1,
"supportsModification": true
"defaultInstantiationMode": 1
},
{
"userAdded": false,
"type": "UnityEngine.PhysicMaterial",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.PhysicsMaterial",
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.PhysicsMaterial2D",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.Rendering.PostProcessing.PostProcessResources",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.Rendering.VolumeProfile",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEditor.SceneAsset",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": false
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.Shader",
"ignore": true,
"defaultInstantiationMode": 1,
"supportsModification": true
"defaultInstantiationMode": 1
},
{
"userAdded": false,
"type": "UnityEngine.ShaderVariantCollection",
"ignore": true,
"defaultInstantiationMode": 1,
"supportsModification": true
"defaultInstantiationMode": 1
},
{
"userAdded": false,
"type": "UnityEngine.Texture",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.Texture2D",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.Timeline.TimelineAsset",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
"defaultInstantiationMode": 0
}
],
"defaultDependencyTypeInfo": {
"userAdded": false,
"type": "<default_scene_template_dependencies>",
"ignore": false,
"defaultInstantiationMode": 1,
"supportsModification": true
"defaultInstantiationMode": 1
},
"newSceneOverride": 0
}
Loading…
Cancel
Save