Browse Source

Initial commit

master
Jens Pitkänen 10 months ago
commit
e38cad9b26
54 changed files with 6341 additions and 0 deletions
  1. 7
    0
      .gitignore
  2. 8
    0
      Assets/Fonts.meta
  3. 8
    0
      Assets/Fonts/Norwester.meta
  4. 44
    0
      Assets/Fonts/Norwester/SIL Open Font License.txt
  5. 7
    0
      Assets/Fonts/Norwester/SIL Open Font License.txt.meta
  6. BIN
      Assets/Fonts/Norwester/norwester.otf
  7. 22
    0
      Assets/Fonts/Norwester/norwester.otf.meta
  8. 8
    0
      Assets/Materials.meta
  9. 86
    0
      Assets/Materials/Sand.mat
  10. 8
    0
      Assets/Materials/Sand.mat.meta
  11. 86
    0
      Assets/Materials/Sandbox.mat
  12. 8
    0
      Assets/Materials/Sandbox.mat.meta
  13. 8
    0
      Assets/Models.meta
  14. BIN
      Assets/Models/Sand.blend
  15. 94
    0
      Assets/Models/Sand.blend.meta
  16. 8
    0
      Assets/Rendering.meta
  17. 1418
    0
      Assets/Rendering/MainPPP.asset
  18. 8
    0
      Assets/Rendering/MainPPP.asset.meta
  19. 8
    0
      Assets/Scenes.meta
  20. 2389
    0
      Assets/Scenes/MainScene.unity
  21. 7
    0
      Assets/Scenes/MainScene.unity.meta
  22. 8
    0
      Assets/Scripts.meta
  23. 50
    0
      Assets/Scripts/CameraController.cs
  24. 11
    0
      Assets/Scripts/CameraController.cs.meta
  25. 137
    0
      Assets/Scripts/GameSystem.cs
  26. 11
    0
      Assets/Scripts/GameSystem.cs.meta
  27. 11
    0
      Assets/Scripts/MetaGameController.cs
  28. 11
    0
      Assets/Scripts/MetaGameController.cs.meta
  29. 38
    0
      Assets/Scripts/SandSystem.cs
  30. 11
    0
      Assets/Scripts/SandSystem.cs.meta
  31. 190
    0
      Assets/Scripts/UIController.cs
  32. 11
    0
      Assets/Scripts/UIController.cs.meta
  33. 20
    0
      Assets/Scripts/Utils.cs
  34. 11
    0
      Assets/Scripts/Utils.cs.meta
  35. 7
    0
      LICENSE.md
  36. 10
    0
      Packages/manifest.json
  37. 17
    0
      ProjectSettings/AudioManager.asset
  38. 6
    0
      ProjectSettings/ClusterInputManager.asset
  39. 29
    0
      ProjectSettings/DynamicsManager.asset
  40. 11
    0
      ProjectSettings/EditorBuildSettings.asset
  41. 21
    0
      ProjectSettings/EditorSettings.asset
  42. 63
    0
      ProjectSettings/GraphicsSettings.asset
  43. 295
    0
      ProjectSettings/InputManager.asset
  44. 91
    0
      ProjectSettings/NavMeshAreas.asset
  45. 8
    0
      ProjectSettings/NetworkManager.asset
  46. 37
    0
      ProjectSettings/Physics2DSettings.asset
  47. 27
    0
      ProjectSettings/PresetManager.asset
  48. 677
    0
      ProjectSettings/ProjectSettings.asset
  49. 1
    0
      ProjectSettings/ProjectVersion.txt
  50. 190
    0
      ProjectSettings/QualitySettings.asset
  51. 43
    0
      ProjectSettings/TagManager.asset
  52. 9
    0
      ProjectSettings/TimeManager.asset
  53. 34
    0
      ProjectSettings/UnityConnectSettings.asset
  54. 13
    0
      README.md

+ 7
- 0
.gitignore View File

@@ -0,0 +1,7 @@
/Library/
/Temp/
/.vscode/
/obj/
/Builds/
*.csproj
*.sln

+ 8
- 0
Assets/Fonts.meta View File

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

+ 8
- 0
Assets/Fonts/Norwester.meta View File

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

+ 44
- 0
Assets/Fonts/Norwester/SIL Open Font License.txt View File

@@ -0,0 +1,44 @@
Copyright (c) October 14, 2013 Jamie Wilson (jamiewilson.io), with Reserved Font Name Norwester.


This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL

-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.

The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the copyright statement(s).

"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.

"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.

5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.

+ 7
- 0
Assets/Fonts/Norwester/SIL Open Font License.txt.meta View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 4eed557ad5744ff4a940fe107a90a0ca
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/Fonts/Norwester/norwester.otf View File


+ 22
- 0
Assets/Fonts/Norwester/norwester.otf.meta View File

@@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: bac332d9f8192144a9350a9a913f80fc
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontName: Norwester
fontNames:
- Norwester
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

+ 8
- 0
Assets/Materials.meta View File

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

+ 86
- 0
Assets/Materials/Sand.mat View File

@@ -0,0 +1,86 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: Sand
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _GLOSSYREFLECTIONS_OFF _SPECULARHIGHLIGHTS_OFF
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _AlphaClip: 0
- _Blend: 0
- _BumpScale: 1
- _Cull: 2
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 0
- _SrcBlend: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 0.9522641, b: 0.2688679, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}

+ 8
- 0
Assets/Materials/Sand.mat.meta View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ae9c07777b02df14694c7c6ac2f4861b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

+ 86
- 0
Assets/Materials/Sandbox.mat View File

@@ -0,0 +1,86 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: Sandbox
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _AlphaClip: 0
- _Blend: 0
- _BumpScale: 1
- _Cull: 2
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.4339623, g: 0.3922394, b: 0.3254717, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}

+ 8
- 0
Assets/Materials/Sandbox.mat.meta View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 32212bf7a62ba5b49b20b0e0bb06d399
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

+ 8
- 0
Assets/Models.meta View File

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

BIN
Assets/Models/Sand.blend View File


+ 94
- 0
Assets/Models/Sand.blend.meta View File

@@ -0,0 +1,94 @@
fileFormatVersion: 2
guid: 17eaa57b2acc8334eb73870645c94131
ModelImporter:
serializedVersion: 22
fileIDToRecycleName:
100000: //RootNode
400000: //RootNode
2100000: unnamed
2300000: //RootNode
3300000: //RootNode
4300000: Cube
7400000: Default Take
9500000: //RootNode
externalObjects: {}
materials:
importMaterials: 1
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
preserveHierarchy: 0
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
importAnimation: 1
copyAvatar: 0
humanDescription:
serializedVersion: 2
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 2
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

+ 8
- 0
Assets/Rendering.meta View File

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

+ 1418
- 0
Assets/Rendering/MainPPP.asset
File diff suppressed because it is too large
View File


+ 8
- 0
Assets/Rendering/MainPPP.asset.meta View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 07f176c3f2b6c7c4286a66a63ea4ae68
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

+ 8
- 0
Assets/Scenes.meta View File

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

+ 2389
- 0
Assets/Scenes/MainScene.unity
File diff suppressed because it is too large
View File


+ 7
- 0
Assets/Scenes/MainScene.unity.meta View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 07006b4a114b14a40896d3c4b7c5cc7f
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

+ 8
- 0
Assets/Scripts.meta View File

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

+ 50
- 0
Assets/Scripts/CameraController.cs View File

@@ -0,0 +1,50 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraController : MonoBehaviour {
public Transform Camera;
public Transform CameraRoot;
public float RotationSpeed = 3;
public float MaxVerticalRotation = -30;
public float MinVerticalRotation = -89;
public float Zoom = 3;
public float ZoomSpeed = 2;
public float MinZoom = 0;
public float MaxZoom = 10;
[Tooltip("Camera distance = 10 * ZoomBase^Zoom")]
public float ZoomBase = 1.1f;

private float TargetHorizontalRotation = 60;
private float HorizontalRotation = 0;
private float TargetVerticalRotation = -40;
private float VerticalRotation = -40;

private void Update() {
float HorizontalRotationDelta = 0;
float VerticalRotationDelta = 0;
float ZoomDelta = 0;
if (Input.GetButton("Rotate (by dragging)")) {
HorizontalRotationDelta += Input.GetAxis("Mouse X");
VerticalRotationDelta += Input.GetAxis("Mouse Y");
}
ZoomDelta += Input.GetAxis("Mouse ScrollWheel");
HorizontalRotationDelta -= Input.GetAxis("Rotate");
ZoomDelta += Input.GetAxis("Zoom") * 0.2f;

Vector3 Rot = CameraRoot.localEulerAngles;
TargetHorizontalRotation = (TargetHorizontalRotation + HorizontalRotationDelta * RotationSpeed) % 360;
TargetVerticalRotation = Mathf.Clamp((TargetVerticalRotation + VerticalRotationDelta * RotationSpeed) % 360,
MinVerticalRotation, MaxVerticalRotation);
HorizontalRotation = Mathf.Lerp(HorizontalRotation, TargetHorizontalRotation, 40f * Time.deltaTime);
VerticalRotation = Mathf.Lerp(VerticalRotation, TargetVerticalRotation, 40f * Time.deltaTime);
Rot.y = HorizontalRotation;
Rot.x = VerticalRotation;
CameraRoot.localEulerAngles = Rot;

Zoom = Mathf.Clamp(Zoom - ZoomDelta * ZoomSpeed, MinZoom, MaxZoom);
Vector3 Pos = Camera.localPosition;
Pos.z = Mathf.Lerp(Pos.z, Mathf.Pow(ZoomBase, Zoom) * 10, 20f * Time.deltaTime);
Camera.localPosition = Pos;
}
}

+ 11
- 0
Assets/Scripts/CameraController.cs.meta View File

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

+ 137
- 0
Assets/Scripts/GameSystem.cs View File

@@ -0,0 +1,137 @@
using System.Collections.Generic;
using UnityEngine;
using Unity.Entities;
using Unity.Rendering;
using Unity.Transforms;
using Unity.Mathematics;

public class GameSystem : MonoBehaviour {
public MeshInstanceRendererComponent SandMesh;
public UIController UIController;

private EntityArchetype SandArchetype;
private MeshInstanceRenderer SandRenderer;
private List<Entity> Entities = new List<Entity>();

private List<float> Values = new List<float>();
private List<float> LastValues = new List<float>();

private int GeneratedWorlds = 0;
private int Upvotes = 0;

private void Start() {
EntityManager EntityManager = World.Active.GetOrCreateManager<EntityManager>();
SandArchetype = EntityManager.CreateArchetype(typeof(Sand), typeof(Position),
typeof(TransformMatrix), typeof(MeshInstanceRendererComponent));
SandRenderer = SandMesh.Value;
Destroy(SandMesh.gameObject);
}

private void Update() {
if (Input.GetButtonDown("Upvote") && Values.Count > 0) {
UIController.HideTutorial1();
LastValues = new List<float>(Values);
UIController.SetCurrentBars(Values, LastValues);
UIController.SetSavedBars(LastValues);
Upvotes++;
}
if (Input.GetButtonDown("Reset Upvote")) {
UIController.HideTutorial2();
LastValues.Clear();
UIController.DiscardSavedValues();
}
if (Input.GetButtonDown("Generate World")) {
CreateWorld();
UIController.HideTutorial0();
GeneratedWorlds++;
if (GeneratedWorlds > 2) {
UIController.ShowTutorial1();
}
if (GeneratedWorlds > 4 && Upvotes > 1) {
UIController.ShowTutorial2();
}
}
}

private float ApplyGenes(float initialVal) {
if (LastValues.Count > 0) {
float GeneValue = LastValues[Values.Count] - 0.5f;
float NewValue = initialVal - 0.5f;
return (NewValue + GeneValue) / 2f + 0.5f;
} else {
return initialVal;
}
}

private void CreateWorld() {
EntityManager EntityManager = World.Active.GetOrCreateManager<EntityManager>();

foreach (Entity e in Entities) {
EntityManager.DestroyEntity(e);
}
Entities.Clear();

Values.Clear();
/* What the indices will change:
* 0: Crater Strength
* 1: Crater Size
* 2: Crater Noisyness
* 3: Wall Width
* 4: Wall Height
* 5: Wall Radius
* 6: Wall Tower Height
*/
for (int i = 0; i < 7; i++) {
Values.Add(ApplyGenes(Random.value));
}
UIController.SetCurrentBars(Values, LastValues);

int s = 50;
for (int x = 0; x < s; x++) {
for (int z = 0; z < s; z++) {
float Height = Mathf.PerlinNoise(x * 0.1f, z * 0.1f) * 4 + 1;
float x_ = x - 25;
float z_ = z - 25;
float Dist = Mathf.Sqrt(x_ * x_ + z_ * z_);
float r = Values[1] * 17 + 5;
// Craters
Height += (r - Mathf.Min(r, Mathf.Abs(Dist - r))) * Values[0] * (1 + Mathf.PerlinNoise(x_ * 0.2f, z_ * 0.2f) * Values[2]);
// Walls
float WallHalfWidth = (Values[3] * 5 + 3) / 2f;
float WallRadius = Values[5] * 7 + 8;
bool insideWallX = Mathf.Abs(x_) < WallRadius + WallHalfWidth;
bool insideWallZ = Mathf.Abs(z_) < WallRadius + WallHalfWidth;
bool xWall = insideWallX && Mathf.Abs(x_) > WallRadius - WallHalfWidth;
bool zWall = insideWallZ && Mathf.Abs(z_) > WallRadius - WallHalfWidth;
if ((xWall || zWall) && insideWallX && insideWallZ) {
Height += Mathf.Max(0, Values[4] * 5 - 2);
}
if (xWall && zWall && Values[4] > 1.5) {
Height += Values[6] * 4 + 1;
}

for (int y = 0; y < Height; y++) {
CreateBlock(EntityManager, SandArchetype, SandRenderer, s, x, y, z, Dist);
}
}
}
}

private void CreateBlock(EntityManager EntityManager, EntityArchetype Archetype,
MeshInstanceRenderer Renderer, int size, int x, int y, int z, float d) {
float Step = 9.0f / size;
d /= size;
var Entity = EntityManager.CreateEntity(Archetype);
float x_ = (x - (size - 1) / 2.0f) * Step;
float y_ = y * Step;
float z_ = (z - (size - 1) / 2.0f) * Step;
EntityManager.SetComponentData(Entity, new Sand() {
SpawnTime = Time.time + y_ * 0.25f + Random.value * 0.5f - d,
TargetHeight = y_,
StartingHeight = 15
});
EntityManager.SetComponentData(Entity, new Position(new float3(x_, 15, z_)));
EntityManager.AddSharedComponentData(Entity, Renderer);
Entities.Add(Entity);
}
}

+ 11
- 0
Assets/Scripts/GameSystem.cs.meta View File

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

+ 11
- 0
Assets/Scripts/MetaGameController.cs View File

@@ -0,0 +1,11 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MetaGameController : MonoBehaviour {
private void Update() {
if (Input.GetKey(KeyCode.Escape)) {
Application.Quit();
}
}
}

+ 11
- 0
Assets/Scripts/MetaGameController.cs.meta View File

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

+ 38
- 0
Assets/Scripts/SandSystem.cs View File

@@ -0,0 +1,38 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.Entities;
using Unity.Jobs;
using Unity.Burst;
using Unity.Transforms;
using Unity.Collections;
using Unity.Mathematics;
using Unity.Rendering;

public struct Sand : IComponentData {
public float SpawnTime;
public float TargetHeight;
public float StartingHeight;
}

public class SandSystem : JobComponentSystem {
[BurstCompile]
struct SandProcess : IJobProcessComponentData<Sand, Position> {
public float Time;
public float Gravity;
public void Execute([ReadOnly] ref Sand sand, ref Position position) {
float dt = Time - sand.SpawnTime;
position.Value.y = math.select(
math.max(sand.TargetHeight, sand.StartingHeight + dt * dt * Gravity),
1000,
dt < 0); // Hide if sand hasn't spawned yet (y = 1000)
}
}

protected override JobHandle OnUpdate(JobHandle inputDeps) {
var job = new SandProcess() {
Time = Time.time, Gravity = Physics.gravity.y
};
return job.Schedule(this, 128, inputDeps);
}
}

+ 11
- 0
Assets/Scripts/SandSystem.cs.meta View File

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

+ 190
- 0
Assets/Scripts/UIController.cs View File

@@ -0,0 +1,190 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class UIController : MonoBehaviour {
class LerpedValue {
public float InterpolationDuration = 0.2f;
private float TargetValue;
private float PreviousValue;
private float SetTime;

public LerpedValue(float startingValue) {
TargetValue = PreviousValue = startingValue;
SetTime = -1;
}

public void Set(float value) {
PreviousValue = TargetValue;
TargetValue = value;
SetTime = Time.time;
}

public float Get() {
float t = SetTime == -1 ? 1 : (Time.time - SetTime) / InterpolationDuration;
return Mathf.Lerp(PreviousValue, TargetValue, t * t);
}
}

class Bar {
private GameObject GameObject;
private GameObject SecondaryGameObject;
private RectTransform Transform;
private RectTransform SecondaryTransform;
private float MinHeight;
private float MaxHeight;
private LerpedValue Value = new LerpedValue(0);
private LerpedValue SecondaryValue = new LerpedValue(0);

public Bar(GameObject go, GameObject secondaryGo, Vector2 position, bool rightAligned, Transform parent) {
GameObject = Instantiate(go, new Vector3(), new Quaternion(), parent);
SecondaryGameObject = Instantiate(secondaryGo, new Vector3(), new Quaternion(), parent);
Transform = GameObject.GetComponent<RectTransform>();
SecondaryTransform = SecondaryGameObject.GetComponent<RectTransform>();
if (rightAligned) {
Vector2 Pivot = Transform.pivot;
Pivot.x = 1 - Pivot.x;
Transform.pivot = Transform.pivot = Pivot;
}
MinHeight = 0;
MaxHeight = Transform.rect.height;
Transform.anchoredPosition = position;
Transform.offsetMax += new Vector2(5, 0) * (rightAligned ? 2 : 1);
SecondaryTransform.anchoredPosition = position + new Vector2(15, 0);
SecondaryTransform.offsetMax -= new Vector2(5, 0) * (rightAligned ? 2 : 1);
GameObject.SetActive(true);
SecondaryGameObject.SetActive(true);
}

public void Set(float v, float v2) {
Value.Set(v);
SecondaryValue.Set(v2);
}

public void Update() {
Vector2 NewOffset = Transform.offsetMin;
NewOffset.y = (MaxHeight - MinHeight) * (1 - Value.Get());
Transform.offsetMin = NewOffset;
NewOffset = SecondaryTransform.offsetMin;
NewOffset.y = (MaxHeight - MinHeight) * (1 - SecondaryValue.Get());
SecondaryTransform.offsetMin = NewOffset;
}
}

public GameObject BaseBar;
public GameObject SecondaryBar;
public Transform LeftParent;
public Transform RightParent;
public Transform Tutorial0;
public Transform Tutorial1;
public Transform Tutorial2;

private List<Bar> CurrentBars = new List<Bar>();
private List<Bar> SavedBars = new List<Bar>();

private LerpedValue LeftScale = new LerpedValue(0);
private LerpedValue RightScale = new LerpedValue(0);
private Vector3 InitialLeftScale;
private Vector3 InitialRightScale;

private LerpedValue Tutorial0Scale = new LerpedValue(1);
private LerpedValue Tutorial1Scale = new LerpedValue(0);
private LerpedValue Tutorial2Scale = new LerpedValue(0);
private Vector3 InitialTutorial0Scale;
private Vector3 InitialTutorial1Scale;
private Vector3 InitialTutorial2Scale;

private bool Tutorial0Exited = false;
private bool Tutorial1Entered = false;
private bool Tutorial1Exited = false;
private bool Tutorial2Entered = false;
private bool Tutorial2Exited = false;

private void Start() {
BaseBar.SetActive(false);
SecondaryBar.SetActive(false);
InitialLeftScale = LeftParent.localScale;
InitialRightScale = RightParent.localScale;
InitialTutorial0Scale = Tutorial0.localScale;
InitialTutorial1Scale = Tutorial1.localScale;
InitialTutorial2Scale = Tutorial2.localScale;
}

private void Update() {
foreach (Bar b in CurrentBars) {
b.Update();
}
foreach (Bar b in SavedBars) {
b.Update();
}
LeftParent.localScale = InitialLeftScale * LeftScale.Get();
RightParent.localScale = InitialRightScale * RightScale.Get();
Tutorial0.localScale = InitialTutorial0Scale * Tutorial0Scale.Get();
Tutorial1.localScale = InitialTutorial1Scale * Tutorial1Scale.Get();
Tutorial2.localScale = InitialTutorial2Scale * Tutorial2Scale.Get();
}

private void SetBar(List<Bar> bars, int index, int length, float width, bool rightAligned, Transform parent, float value, float otherValue) {
Vector2 position = new Vector2(index * width, 0);
if (rightAligned) position.x -= (length - 1) * width;
if (index >= bars.Count) {
GameObject go = rightAligned ? SecondaryBar : BaseBar;
bars.Insert(index, new Bar(go, SecondaryBar, position, rightAligned, parent));
}
bars[index].Set(value, otherValue);
}

public void HideTutorial0() {
if (!Tutorial0Exited) {
Tutorial0Exited = true;
Tutorial0Scale.Set(0);
}
}

public void ShowTutorial1() {
if (!Tutorial1Exited && !Tutorial1Entered){
Tutorial1Entered = true;
Tutorial1Scale.Set(1);
}
}

public void HideTutorial1() {
if (!Tutorial1Exited) {
Tutorial1Exited = true;
Tutorial1Scale.Set(0);
}
}

public void ShowTutorial2() {
if (!Tutorial2Exited && !Tutorial2Entered){
Tutorial2Entered = true;
Tutorial2Scale.Set(1);
}
}

public void HideTutorial2() {
if (!Tutorial2Exited) {
Tutorial2Exited = true;
Tutorial2Scale.Set(0);
}
}

public void SetCurrentBars(List<float> values, List<float> baseValues) {
for (int i = 0; i < values.Count; i++) {
SetBar(CurrentBars, i, values.Count, 30, false, LeftParent, values[i], i >= baseValues.Count ? 0 : baseValues[i]);
}
LeftScale.Set(1);
}

public void SetSavedBars(List<float> values) {
for (int i = 0; i < values.Count; i++) {
SetBar(SavedBars, i, values.Count, 30, true, RightParent, values[i], values[i]);
}
RightScale.Set(1);
}

public void DiscardSavedValues() {
RightScale.Set(0);
}
}

+ 11
- 0
Assets/Scripts/UIController.cs.meta View File

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

+ 20
- 0
Assets/Scripts/Utils.cs View File

@@ -0,0 +1,20 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public static class Utils {
public static string ConvertToString(List<List<float>> list) {
string s = "[\n";
foreach (var subList in list) {
s += $" {ConvertToString(subList)},\n";
}
return s + "]";
}
public static string ConvertToString(List<float> list) {
List<string> formattedList = new List<string>();
foreach (var f in list) {
formattedList.Add(f.ToString("0.0"));
}
return "[" + string.Join(", ", formattedList) + "]";
}
}

+ 11
- 0
Assets/Scripts/Utils.cs.meta View File

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

+ 7
- 0
LICENSE.md View File

@@ -0,0 +1,7 @@
Copyright 2018 Jens Pitkanen <jens@neon.moe>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ 10
- 0
Packages/manifest.json View File

@@ -0,0 +1,10 @@
{
"dependencies": {
"com.unity.entities": "0.0.12-preview.6",
"com.unity.ads": "exclude",
"com.unity.analytics": "exclude",
"com.unity.standardevents": "exclude",
"com.unity.purchasing": "exclude",
"com.unity.postprocessing": "2.0.7-preview"
}
}

+ 17
- 0
ProjectSettings/AudioManager.asset View File

@@ -0,0 +1,17 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!11 &1
AudioManager:
m_ObjectHideFlags: 0
m_Volume: 1
Rolloff Scale: 1
Doppler Factor: 1
Default Speaker Mode: 2
m_SampleRate: 0
m_DSPBufferSize: 1024
m_VirtualVoiceCount: 512
m_RealVoiceCount: 32
m_SpatializerPlugin:
m_AmbisonicDecoderPlugin:
m_DisableAudio: 0
m_VirtualizeEffects: 1

+ 6
- 0
ProjectSettings/ClusterInputManager.asset View File

@@ -0,0 +1,6 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!236 &1
ClusterInputManager:
m_ObjectHideFlags: 0
m_Inputs: []

+ 29
- 0
ProjectSettings/DynamicsManager.asset View File

@@ -0,0 +1,29 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!55 &1
PhysicsManager:
m_ObjectHideFlags: 0
serializedVersion: 7
m_Gravity: {x: 0, y: -9.81, z: 0}
m_DefaultMaterial: {fileID: 0}
m_BounceThreshold: 2
m_SleepThreshold: 0.005
m_DefaultContactOffset: 0.01
m_DefaultSolverIterations: 6
m_DefaultSolverVelocityIterations: 1
m_QueriesHitBackfaces: 0
m_QueriesHitTriggers: 1
m_EnableAdaptiveForce: 0
m_ClothInterCollisionDistance: 0
m_ClothInterCollisionStiffness: 0
m_ContactsGeneration: 1
m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
m_AutoSimulation: 1
m_AutoSyncTransforms: 1
m_ClothInterCollisionSettingsToggle: 0
m_ContactPairsMode: 0
m_BroadphaseType: 0
m_WorldBounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 250, y: 250, z: 250}
m_WorldSubdivisions: 8

+ 11
- 0
ProjectSettings/EditorBuildSettings.asset View File

@@ -0,0 +1,11 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1045 &1
EditorBuildSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Scenes:
- enabled: 1
path: Assets/Scenes/MainScene.unity
guid: 07006b4a114b14a40896d3c4b7c5cc7f
m_configObjects: {}

+ 21
- 0
ProjectSettings/EditorSettings.asset View File

@@ -0,0 +1,21 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!159 &1
EditorSettings:
m_ObjectHideFlags: 0
serializedVersion: 7
m_ExternalVersionControlSupport: Visible Meta Files
m_SerializationMode: 2
m_LineEndingsForNewScripts: 2
m_DefaultBehaviorMode: 0
m_SpritePackerMode: 0
m_SpritePackerPaddingPower: 1
m_EtcTextureCompressorBehavior: 1
m_EtcTextureFastCompressor: 1
m_EtcTextureNormalCompressor: 2
m_EtcTextureBestCompressor: 4
m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd
m_ProjectGenerationRootNamespace:
m_UserGeneratedProjectSuffix:
m_CollabEditorSettings:
inProgressEnabled: 1

+ 63
- 0
ProjectSettings/GraphicsSettings.asset View File

@@ -0,0 +1,63 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!30 &1
GraphicsSettings:
m_ObjectHideFlags: 0
serializedVersion: 12
m_Deferred:
m_Mode: 1
m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
m_DeferredReflections:
m_Mode: 1
m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
m_ScreenSpaceShadows:
m_Mode: 1
m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
m_LegacyDeferred:
m_Mode: 1
m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
m_DepthNormals:
m_Mode: 1
m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
m_MotionVectors:
m_Mode: 1
m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
m_LightHalo:
m_Mode: 1
m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
m_LensFlare:
m_Mode: 1
m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
m_AlwaysIncludedShaders:
- {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0}
m_PreloadedShaders: []
m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
type: 0}
m_CustomRenderPipeline: {fileID: 0}
m_TransparencySortMode: 0
m_TransparencySortAxis: {x: 0, y: 0, z: 1}
m_DefaultRenderingPath: 1
m_DefaultMobileRenderingPath: 1
m_TierSettings: []
m_LightmapStripping: 0
m_FogStripping: 0
m_InstancingStripping: 0
m_LightmapKeepPlain: 1
m_LightmapKeepDirCombined: 1
m_LightmapKeepDynamicPlain: 1
m_LightmapKeepDynamicDirCombined: 1
m_LightmapKeepShadowMask: 1
m_LightmapKeepSubtractive: 1
m_FogKeepLinear: 1
m_FogKeepExp: 1
m_FogKeepExp2: 1
m_AlbedoSwatchInfos: []
m_LightsUseLinearIntensity: 1
m_LightsUseColorTemperature: 0

+ 295
- 0
ProjectSettings/InputManager.asset View File

@@ -0,0 +1,295 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!13 &1
InputManager:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Axes:
- serializedVersion: 3
m_Name: Rotate
descriptiveName:
descriptiveNegativeName:
negativeButton: left
positiveButton: right
altNegativeButton: a
altPositiveButton: d
gravity: 3
dead: 0.001
sensitivity: 3
snap: 1
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Zoom
descriptiveName:
descriptiveNegativeName:
negativeButton: down
positiveButton: up
altNegativeButton: s
altPositiveButton: w
gravity: 3
dead: 0.001
sensitivity: 3
snap: 1
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Generate World
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: return
altNegativeButton:
altPositiveButton: g
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Reset Upvote
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: r
altNegativeButton:
altPositiveButton: backspace
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Upvote
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: u
altNegativeButton:
altPositiveButton: space
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Rotate (by dragging)
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: mouse 1
altNegativeButton:
altPositiveButton: mouse 0
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Mouse X
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton:
altNegativeButton:
altPositiveButton:
gravity: 0
dead: 0
sensitivity: 0.1
snap: 0
invert: 0
type: 1
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Mouse Y
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton:
altNegativeButton:
altPositiveButton:
gravity: 0
dead: 0
sensitivity: 0.1
snap: 0
invert: 0
type: 1
axis: 1
joyNum: 0
- serializedVersion: 3
m_Name: Mouse ScrollWheel
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton:
altNegativeButton:
altPositiveButton:
gravity: 0
dead: 0
sensitivity: 0.1
snap: 0
invert: 0
type: 1
axis: 2
joyNum: 0
- serializedVersion: 3
m_Name: Horizontal
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton:
altNegativeButton:
altPositiveButton:
gravity: 0
dead: 0.19
sensitivity: 1
snap: 0
invert: 0
type: 2
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Vertical
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton:
altNegativeButton:
altPositiveButton:
gravity: 0
dead: 0.19
sensitivity: 1
snap: 0
invert: 1
type: 2
axis: 1
joyNum: 0
- serializedVersion: 3
m_Name: Fire1
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: joystick button 0
altNegativeButton:
altPositiveButton:
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Fire2
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: joystick button 1
altNegativeButton:
altPositiveButton:
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Fire3
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: joystick button 2
altNegativeButton:
altPositiveButton:
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Jump
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: joystick button 3
altNegativeButton:
altPositiveButton:
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Submit
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: return
altNegativeButton:
altPositiveButton: joystick button 0
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Submit
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: enter
altNegativeButton:
altPositiveButton: space
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Cancel
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: escape
altNegativeButton:
altPositiveButton: joystick button 1
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0

+ 91
- 0
ProjectSettings/NavMeshAreas.asset View File

@@ -0,0 +1,91 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!126 &1
NavMeshProjectSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
areas:
- name: Walkable
cost: 1
- name: Not Walkable
cost: 1
- name: Jump
cost: 2
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
m_LastAgentTypeID: -887442657
m_Settings:
- serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.75
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_SettingNames:
- Humanoid

+ 8
- 0
ProjectSettings/NetworkManager.asset View File

@@ -0,0 +1,8 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!149 &1
NetworkManager:
m_ObjectHideFlags: 0
m_DebugLevel: 0
m_Sendrate: 15
m_AssetToPrefab: {}

+ 37
- 0
ProjectSettings/Physics2DSettings.asset View File

@@ -0,0 +1,37 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!19 &1
Physics2DSettings:
m_ObjectHideFlags: 0
serializedVersion: 3
m_Gravity: {x: 0, y: -9.81}
m_DefaultMaterial: {fileID: 0}
m_VelocityIterations: 8
m_PositionIterations: 3
m_VelocityThreshold: 1
m_MaxLinearCorrection: 0.2
m_MaxAngularCorrection: 8
m_MaxTranslationSpeed: 100
m_MaxRotationSpeed: 360
m_BaumgarteScale: 0.2
m_BaumgarteTimeOfImpactScale: 0.75
m_TimeToSleep: 0.5
m_LinearSleepTolerance: 0.01
m_AngularSleepTolerance: 2
m_DefaultContactOffset: 0.01
m_AutoSimulation: 1
m_QueriesHitTriggers: 1
m_QueriesStartInColliders: 1
m_ChangeStopsCallbacks: 0
m_CallbacksOnDisable: 1
m_AutoSyncTransforms: 1
m_AlwaysShowColliders: 0
m_ShowColliderSleep: 1
m_ShowColliderContacts: 0
m_ShowColliderAABB: 0
m_ContactArrowScale: 0.2
m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

+ 27
- 0
ProjectSettings/PresetManager.asset View File

@@ -0,0 +1,27 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1386491679 &1
PresetManager:
m_ObjectHideFlags: 0
m_DefaultList:
- type:
m_NativeTypeID: 108
m_ManagedTypePPtr: {fileID: 0}
m_ManagedTypeFallback:
defaultPresets:
- m_Preset: {fileID: 2655988077585873504, guid: c1cf8506f04ef2c4a88b64b6c4202eea,
type: 2}
- type:
m_NativeTypeID: 1020
m_ManagedTypePPtr: {fileID: 0}
m_ManagedTypeFallback:
defaultPresets:
- m_Preset: {fileID: 2655988077585873504, guid: 0cd792cc87e492d43b4e95b205fc5cc6,
type: 2}
- type:
m_NativeTypeID: 1006
m_ManagedTypePPtr: {fileID: 0}
m_ManagedTypeFallback:
defaultPresets:
- m_Preset: {fileID: 2655988077585873504, guid: 7a99f8aa944efe94cb9bd74562b7d5f9,
type: 2}

+ 677
- 0
ProjectSettings/ProjectSettings.asset View File

@@ -0,0 +1,677 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!129 &1
PlayerSettings:
m_ObjectHideFlags: 0
serializedVersion: 15
productGUID: 846e825756ea42a4fb9ff6ae1ca4ab6d
AndroidProfiler: 0
AndroidFilterTouchesWhenObscured: 0
AndroidEnableSustainedPerformanceMode: 0
defaultScreenOrientation: 4
targetDevice: 2
useOnDemandResources: 0
accelerometerFrequency: 60
companyName: neon.moe
productName: sandcastles
defaultCursor: {fileID: 0}
cursorHotspot: {x: 0, y: 0}
m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
m_ShowUnitySplashScreen: 0
m_ShowUnitySplashLogo: 1
m_SplashScreenOverlayOpacity: 1
m_SplashScreenAnimation: 1
m_SplashScreenLogoStyle: 1
m_SplashScreenDrawMode: 0
m_SplashScreenBackgroundAnimationZoom: 1
m_SplashScreenLogoAnimationZoom: 1
m_SplashScreenBackgroundLandscapeAspect: 1
m_SplashScreenBackgroundPortraitAspect: 1
m_SplashScreenBackgroundLandscapeUvs:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
m_SplashScreenBackgroundPortraitUvs:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
m_SplashScreenLogos: []
m_VirtualRealitySplashScreen: {fileID: 0}
m_HolographicTrackingLossScreen: {fileID: 0}
defaultScreenWidth: 1024
defaultScreenHeight: 768
defaultScreenWidthWeb: 960
defaultScreenHeightWeb: 600
m_StereoRenderingPath: 0
m_ActiveColorSpace: 1
m_MTRendering: 1
m_StackTraceTypes: 010000000100000001000000010000000100000001000000
iosShowActivityIndicatorOnLoading: -1
androidShowActivityIndicatorOnLoading: -1
tizenShowActivityIndicatorOnLoading: -1
iosAppInBackgroundBehavior: 0
displayResolutionDialog: 1
iosAllowHTTPDownload: 1
allowedAutorotateToPortrait: 1
allowedAutorotateToPortraitUpsideDown: 1
allowedAutorotateToLandscapeRight: 1
allowedAutorotateToLandscapeLeft: 1
useOSAutorotation: 1
use32BitDisplayBuffer: 1
preserveFramebufferAlpha: 0
disableDepthAndStencilBuffers: 0
androidBlitType: 0
defaultIsNativeResolution: 1
macRetinaSupport: 1
runInBackground: 1
captureSingleScreen: 0
muteOtherAudioSources: 0
Prepare IOS For Recording: 0
Force IOS Speakers When Recording: 0
deferSystemGesturesMode: 0
hideHomeButton: 0
submitAnalytics: 1
usePlayerLog: 1
bakeCollisionMeshes: 0
forceSingleInstance: 0
resizableWindow: 1
useMacAppStoreValidation: 0
macAppStoreCategory: public.app-category.games
gpuSkinning: 1
graphicsJobs: 0
xboxPIXTextureCapture: 0
xboxEnableAvatar: 0
xboxEnableKinect: 0
xboxEnableKinectAutoTracking: 0
xboxEnableFitness: 0
visibleInBackground: 1
allowFullscreenSwitch: 1
graphicsJobMode: 0
fullscreenMode: 1
xboxSpeechDB: 0
xboxEnableHeadOrientation: 0
xboxEnableGuest: 0
xboxEnablePIXSampling: 0
metalFramebufferOnly: 0
n3dsDisableStereoscopicView: 0
n3dsEnableSharedListOpt: 1
n3dsEnableVSync: 0
xboxOneResolution: 0
xboxOneSResolution: 0
xboxOneXResolution: 3
xboxOneMonoLoggingLevel: 0
xboxOneLoggingLevel: 1
xboxOneDisableEsram: 0
xboxOnePresentImmediateThreshold: 0
switchQueueCommandMemory: 0
videoMemoryForVertexBuffers: 0
psp2PowerMode: 0
psp2AcquireBGM: 1
m_SupportedAspectRatios:
4:3: 1
5:4: 1
16:10: 1
16:9: 1
Others: 1
bundleVersion: 1.0
preloadedAssets: []
metroInputSource: 0
wsaTransparentSwapchain: 0
m_HolographicPauseOnTrackingLoss: 1
xboxOneDisableKinectGpuReservation: 0
xboxOneEnable7thCore: 0
vrSettings:
cardboard:
depthFormat: 0
enableTransitionView: 0
daydream:
depthFormat: 0
useSustainedPerformanceMode: 0
enableVideoLayer: 0
useProtectedVideoMemory: 0
minimumSupportedHeadTracking: 0
maximumSupportedHeadTracking: 1
hololens:
depthFormat: 1
depthBufferSharingEnabled: 0
enable360StereoCapture: 0
oculus:
sharedDepthBuffer: 0
dashSupport: 0
protectGraphicsMemory: 0
useHDRDisplay: 0
m_ColorGamuts: 00000000
targetPixelDensity: 30
resolutionScalingMode: 0
androidSupportedAspectRatio: 1
androidMaxAspectRatio: 2.1
applicationIdentifier:
Standalone: moe.Neon.Sandcastles
buildNumber: {}
AndroidBundleVersionCode: 1
AndroidMinSdkVersion: 16
AndroidTargetSdkVersion: 0
AndroidPreferredInstallLocation: 1
aotOptions:
stripEngineCode: 1
iPhoneStrippingLevel: 0
iPhoneScriptCallOptimization: 0
ForceInternetPermission: 0
ForceSDCardPermission: 0
CreateWallpaper: 0
APKExpansionFiles: 0
keepLoadedShadersAlive: 0
StripUnusedMeshComponents: 1
VertexChannelCompressionMask: 4054
iPhoneSdkVersion: 988
iOSTargetOSVersionString: 8.0
tvOSSdkVersion: 0
tvOSRequireExtendedGameController: 0
tvOSTargetOSVersionString: 9.0
uIPrerenderedIcon: 0
uIRequiresPersistentWiFi: 0
uIRequiresFullScreen: 1
uIStatusBarHidden: 1
uIExitOnSuspend: 0
uIStatusBarStyle: 0
iPhoneSplashScreen: {fileID: 0}
iPhoneHighResSplashScreen: {fileID: 0}
iPhoneTallHighResSplashScreen: {fileID: 0}
iPhone47inSplashScreen: {fileID: 0}
iPhone55inPortraitSplashScreen: {fileID: 0}
iPhone55inLandscapeSplashScreen: {fileID: 0}
iPhone58inPortraitSplashScreen: {fileID: 0}
iPhone58inLandscapeSplashScreen: {fileID: 0}
iPadPortraitSplashScreen: {fileID: 0}
iPadHighResPortraitSplashScreen: {fileID: 0}
iPadLandscapeSplashScreen: {fileID: 0}
iPadHighResLandscapeSplashScreen: {fileID: 0}
appleTVSplashScreen: {fileID: 0}
appleTVSplashScreen2x: {fileID: 0}
tvOSSmallIconLayers: []
tvOSSmallIconLayers2x: []
tvOSLargeIconLayers: []
tvOSLargeIconLayers2x: []
tvOSTopShelfImageLayers: []
tvOSTopShelfImageLayers2x: []
tvOSTopShelfImageWideLayers: []
tvOSTopShelfImageWideLayers2x: []
iOSLaunchScreenType: 0
iOSLaunchScreenPortrait: {fileID: 0}
iOSLaunchScreenLandscape: {fileID: 0}
iOSLaunchScreenBackgroundColor:
serializedVersion: 2
rgba: 0
iOSLaunchScreenFillPct: 100
iOSLaunchScreenSize: 100
iOSLaunchScreenCustomXibPath:
iOSLaunchScreeniPadType: 0
iOSLaunchScreeniPadImage: {fileID: 0}
iOSLaunchScreeniPadBackgroundColor:
serializedVersion: 2
rgba: 0
iOSLaunchScreeniPadFillPct: 100
iOSLaunchScreeniPadSize: 100
iOSLaunchScreeniPadCustomXibPath:
iOSUseLaunchScreenStoryboard: 0
iOSLaunchScreenCustomStoryboardPath:
iOSDeviceRequirements: []
iOSURLSchemes: []
iOSBackgroundModes: 0
iOSMetalForceHardShadows: 0
metalEditorSupport: 1
metalAPIValidation: 1
iOSRenderExtraFrameOnPause: 0
appleDeveloperTeamID:
iOSManualSigningProvisioningProfileID:
tvOSManualSigningProvisioningProfileID:
iOSManualSigningProvisioningProfileType: 0
tvOSManualSigningProvisioningProfileType: 0
appleEnableAutomaticSigning: 0
iOSRequireARKit: 0
appleEnableProMotion: 0
clonedFromGUID: 56e7a2d3a00f33d44bdd161b773c35b5
templatePackageId: com.unity.template.3d@1.0.0
templateDefaultScene: Assets/Scenes/SampleScene.unity
AndroidTargetArchitectures: 5
AndroidSplashScreenScale: 0
androidSplashScreen: {fileID: 0}
AndroidKeystoreName:
AndroidKeyaliasName:
AndroidTVCompatibility: 1
AndroidIsGame: 1
AndroidEnableTango: 0
androidEnableBanner: 1
androidUseLowAccuracyLocation: 0
m_AndroidBanners:
- width: 320
height: 180
banner: {fileID: 0}
androidGamepadSupportLevel: 0
resolutionDialogBanner: {fileID: 0}
m_BuildTargetIcons: []
m_BuildTargetPlatformIcons: []
m_BuildTargetBatching:
- m_BuildTarget: Standalone
m_StaticBatching: 1
m_DynamicBatching: 0
- m_BuildTarget: tvOS
m_StaticBatching: 1
m_DynamicBatching: 0
- m_BuildTarget: Android
m_StaticBatching: 1
m_DynamicBatching: 0
- m_BuildTarget: iPhone
m_StaticBatching: 1
m_DynamicBatching: 0
- m_BuildTarget: WebGL
m_StaticBatching: 0
m_DynamicBatching: 0
m_BuildTargetGraphicsAPIs:
- m_BuildTarget: AndroidPlayer
m_APIs: 0b00000015000000
m_Automatic: 1
- m_BuildTarget: iOSSupport
m_APIs: 10000000
m_Automatic: 1
- m_BuildTarget: AppleTVSupport
m_APIs: 10000000
m_Automatic: 0
- m_BuildTarget: WebGLSupport
m_APIs: 0b000000
m_Automatic: 1
- m_BuildTarget: WindowsStandaloneSupport
m_APIs: 02000000
m_Automatic: 1
m_BuildTargetVRSettings:
- m_BuildTarget: Standalone
m_Enabled: 0
m_Devices:
- Oculus
- OpenVR
m_BuildTargetEnableVuforiaSettings: []
openGLRequireES31: 0
openGLRequireES31AEP: 0
m_TemplateCustomTags: {}
mobileMTRendering:
Android: 1
iPhone: 1
tvOS: 1
m_BuildTargetGroupLightmapEncodingQuality: []
playModeTestRunnerEnabled: 0
runPlayModeTestAsEditModeTest: 0
actionOnDotNetUnhandledException: 1
enableInternalProfiler: 0
logObjCUncaughtExceptions: 1
enableCrashReportAPI: 0
cameraUsageDescription:
locationUsageDescription:
microphoneUsageDescription:
switchNetLibKey:
switchSocketMemoryPoolSize: 6144
switchSocketAllocatorPoolSize: 128
switchSocketConcurrencyLimit: 14
switchScreenResolutionBehavior: 2
switchUseCPUProfiler: 0
switchApplicationID: 0x01004b9000490000
switchNSODependencies:
switchTitleNames_0:
switchTitleNames_1:
switchTitleNames_2:
switchTitleNames_3:
switchTitleNames_4:
switchTitleNames_5:
switchTitleNames_6:
switchTitleNames_7:
switchTitleNames_8:
switchTitleNames_9:
switchTitleNames_10:
switchTitleNames_11:
switchTitleNames_12:
switchTitleNames_13:
switchTitleNames_14:
switchPublisherNames_0:
switchPublisherNames_1:
switchPublisherNames_2:
switchPublisherNames_3:
switchPublisherNames_4:
switchPublisherNames_5:
switchPublisherNames_6:
switchPublisherNames_7:
switchPublisherNames_8:
switchPublisherNames_9:
switchPublisherNames_10:
switchPublisherNames_11:
switchPublisherNames_12:
switchPublisherNames_13:
switchPublisherNames_14:
switchIcons_0: {fileID: 0}
switchIcons_1: {fileID: 0}
switchIcons_2: {fileID: 0}
switchIcons_3: {fileID: 0}
switchIcons_4: {fileID: 0}
switchIcons_5: {fileID: 0}
switchIcons_6: {fileID: 0}
switchIcons_7: {fileID: 0}
switchIcons_8: {fileID: 0}
switchIcons_9: {fileID: 0}
switchIcons_10: {fileID: 0}
switchIcons_11: {fileID: 0}
switchIcons_12: {fileID: 0}
switchIcons_13: {fileID: 0}
switchIcons_14: {fileID: 0}
switchSmallIcons_0: {fileID: 0}
switchSmallIcons_1: {fileID: 0}
switchSmallIcons_2: {fileID: 0}
switchSmallIcons_3: {fileID: 0}
switchSmallIcons_4: {fileID: 0}
switchSmallIcons_5: {fileID: 0}
switchSmallIcons_6: {fileID: 0}
switchSmallIcons_7: {fileID: 0}
switchSmallIcons_8: {fileID: 0}
switchSmallIcons_9: {fileID: 0}
switchSmallIcons_10: {fileID: 0}
switchSmallIcons_11: {fileID: 0}
switchSmallIcons_12: {fileID: 0}
switchSmallIcons_13: {fileID: 0}
switchSmallIcons_14: {fileID: 0}
switchManualHTML:
switchAccessibleURLs:
switchLegalInformation:
switchMainThreadStackSize: 1048576
switchPresenceGroupId:
switchLogoHandling: 0
switchReleaseVersion: 0
switchDisplayVersion: 1.0.0
switchStartupUserAccount: 0
switchTouchScreenUsage: 0
switchSupportedLanguagesMask: 0
switchLogoType: 0
switchApplicationErrorCodeCategory:
switchUserAccountSaveDataSize: 0
switchUserAccountSaveDataJournalSize: 0
switchApplicationAttribute: 0
switchCardSpecSize: -1
switchCardSpecClock: -1
switchRatingsMask: 0
switchRatingsInt_0: 0
switchRatingsInt_1: 0
switchRatingsInt_2: 0
switchRatingsInt_3: 0
switchRatingsInt_4: 0
switchRatingsInt_5: 0
switchRatingsInt_6: 0
switchRatingsInt_7: 0
switchRatingsInt_8: 0
switchRatingsInt_9: 0
switchRatingsInt_10: 0
switchRatingsInt_11: 0
switchLocalCommunicationIds_0:
switchLocalCommunicationIds_1:
switchLocalCommunicationIds_2:
switchLocalCommunicationIds_3:
switchLocalCommunicationIds_4:
switchLocalCommunicationIds_5:
switchLocalCommunicationIds_6:
switchLocalCommunicationIds_7:
switchParentalControl: 0
switchAllowsScreenshot: 1
switchAllowsVideoCapturing: 1
switchAllowsRuntimeAddOnContentInstall: 0
switchDataLossConfirmation: 0
switchSupportedNpadStyles: 3
switchNativeFsCacheSize: 32
switchSocketConfigEnabled: 0
switchTcpInitialSendBufferSize: 32
switchTcpInitialReceiveBufferSize: 64
switchTcpAutoSendBufferSizeMax: 256
switchTcpAutoReceiveBufferSizeMax: 256
switchUdpSendBufferSize: 9
switchUdpReceiveBufferSize: 42
switchSocketBufferEfficiency: 4
switchSocketInitializeEnabled: 1
switchNetworkInterfaceManagerInitializeEnabled: 1
switchPlayerConnectionEnabled: 1
ps4NPAgeRating: 12
ps4NPTitleSecret:
ps4NPTrophyPackPath:
ps4ParentalLevel: 11
ps4ContentID: ED1633-NPXX51362_00-0000000000000000
ps4Category: 0
ps4MasterVersion: 01.00
ps4AppVersion: 01.00
ps4AppType: 0
ps4ParamSfxPath:
ps4VideoOutPixelFormat: 0
ps4VideoOutInitialWidth: 1920
ps4VideoOutBaseModeInitialWidth: 1920
ps4VideoOutReprojectionRate: 60
ps4PronunciationXMLPath:
ps4PronunciationSIGPath:
ps4BackgroundImagePath:
ps4StartupImagePath:
ps4StartupImagesFolder:
ps4IconImagesFolder:
ps4SaveDataImagePath:
ps4SdkOverride:
ps4BGMPath:
ps4ShareFilePath:
ps4ShareOverlayImagePath:
ps4PrivacyGuardImagePath:
ps4NPtitleDatPath:
ps4RemotePlayKeyAssignment: -1
ps4RemotePlayKeyMappingDir:
ps4PlayTogetherPlayerCount: 0
ps4EnterButtonAssignment: 1
ps4ApplicationParam1: 0
ps4ApplicationParam2: 0
ps4ApplicationParam3: 0
ps4ApplicationParam4: 0