Playability

Fixed loadout generator tutorial edge cases
Recreated missing items
Created field shader & test scene
This commit is contained in:
Reinier Vens 2022-08-08 22:43:55 +01:00
commit 47e500e1ce
72 changed files with 3579 additions and 693 deletions

BIN
Asset Sources/cubesphere.blend (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Asset Sources/cursor.psd (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -13,7 +13,6 @@ public class HoverCursorChange : MonoBehaviour, IPointerEnterHandler, IPointerEx
{
CursorObject.gameObject.SetActive(true);
_active = true;
Cursor.visible = false;
}
private void Update()
@ -24,9 +23,7 @@ public class HoverCursorChange : MonoBehaviour, IPointerEnterHandler, IPointerEx
public void OnPointerExit(PointerEventData eventData)
{
Cursor.visible = true;
_active = false;
CursorObject.gameObject.SetActive(false);
Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto);
}
}

View file

@ -2,14 +2,20 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Car Paint Magenta
m_Shader: {fileID: 4800000, guid: ddff0b48b92c991499817d2a0f5d5059, type: 3}
m_ShaderKeywords: _MAINTEX _METALLICGLOSSMAP _NORMALMAP _OCCLUSIONMAP _PARALLAXMAP
m_ValidKeywords: []
m_InvalidKeywords:
- _MAINTEX
- _METALLICGLOSSMAP
- _NORMALMAP
- _OCCLUSIONMAP
- _PARALLAXMAP
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
@ -43,6 +49,7 @@ Material:
type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Fade: 1

View file

@ -2,14 +2,20 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Car Paint White
m_Shader: {fileID: 4800000, guid: ddff0b48b92c991499817d2a0f5d5059, type: 3}
m_ShaderKeywords: _MAINTEX _METALLICGLOSSMAP _NORMALMAP _OCCLUSIONMAP _PARALLAXMAP
m_ValidKeywords: []
m_InvalidKeywords:
- _MAINTEX
- _METALLICGLOSSMAP
- _NORMALMAP
- _OCCLUSIONMAP
- _PARALLAXMAP
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
@ -43,6 +49,7 @@ Material:
type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Fade: 1

View file

@ -2,14 +2,20 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Cockpit
m_Shader: {fileID: 4800000, guid: ddff0b48b92c991499817d2a0f5d5059, type: 3}
m_ShaderKeywords: _MAINTEX _METALLICGLOSSMAP _NORMALMAP _OCCLUSIONMAP _PARALLAXMAP
m_ValidKeywords: []
m_InvalidKeywords:
- _MAINTEX
- _METALLICGLOSSMAP
- _NORMALMAP
- _OCCLUSIONMAP
- _PARALLAXMAP
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
@ -64,6 +70,7 @@ Material:
type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5

View file

@ -2,14 +2,15 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Radiators
m_Shader: {fileID: 4800000, guid: fe8c4273cecc4ade93ae54e087dff063, type: 3}
m_ShaderKeywords:
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
@ -62,6 +63,7 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpPower: 2
- _BumpScale: 1

118
Assets/Materials/Shield.mat Normal file
View file

@ -0,0 +1,118 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Shield
m_Shader: {fileID: 4800000, guid: 8cdd48af96eb47745a96bca98f53d5bd, type: 3}
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _Background:
m_Texture: {fileID: 8900000, guid: 3aff5e4f12da60e42b543a55f412144f, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _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}
- _DispTex:
m_Texture: {fileID: 2800000, guid: cecac3200c2daff4e9602525e0c6683f, type: 3}
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}
- _NormalTex:
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}
- _Offset:
m_Texture: {fileID: 8900000, guid: 952ff28e70dee1d4d818148c039ad163, type: 3}
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}
m_Ints: []
m_Floats:
- _Ambient_Multiplier: 0
- _BackgroundBlur: 0
- _BackgroundFresnel: -0.5
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _Displacement: 1
- _DstBlend: 0
- _Emission: 50
- _EmissionFresnel: 0.5
- _FresnelOpacity: 1
- _Gloss: 1
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _MaxDisplacement: 0.073
- _Metallic: 1
- _Mode: 0
- _OcclusionStrength: 1
- _OpacityFresnel: 3
- _Parallax: 0.02
- _PushOpacity: 1
- _PushOpacityRangeMax: 0.25
- _PushOpacityRangeMin: 0.75
- _PushWaveEnvelopeExponent: 2
- _PushWaveExponent: 1
- _PushWaveFrequency: 8
- _PushWaveMagnitude: 2
- _PushWaveOffset: 0
- _PushWaveRange: 3.14
- _PushWaveRangeExponent: 4
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SubdivisionAmount: 10
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 1, g: 0.25499997, b: 0.6288488, a: 1}
- _PushDirection: {r: 0, g: 0, b: 1, a: 1}
m_BuildTextureStacks: []

View file

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

View file

@ -2,14 +2,20 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Silver
m_Shader: {fileID: 4800000, guid: ddff0b48b92c991499817d2a0f5d5059, type: 3}
m_ShaderKeywords: _MAINTEX _METALLICGLOSSMAP _NORMALMAP _OCCLUSIONMAP _PARALLAXMAP
m_ValidKeywords: []
m_InvalidKeywords:
- _MAINTEX
- _METALLICGLOSSMAP
- _NORMALMAP
- _OCCLUSIONMAP
- _PARALLAXMAP
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
@ -64,6 +70,7 @@ Material:
type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5

View file

@ -2,14 +2,20 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Steel
m_Shader: {fileID: 4800000, guid: ddff0b48b92c991499817d2a0f5d5059, type: 3}
m_ShaderKeywords: _MAINTEX _METALLICGLOSSMAP _NORMALMAP _OCCLUSIONMAP _PARALLAXMAP
m_ValidKeywords: []
m_InvalidKeywords:
- _MAINTEX
- _METALLICGLOSSMAP
- _NORMALMAP
- _OCCLUSIONMAP
- _PARALLAXMAP
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
@ -64,6 +70,7 @@ Material:
type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5

View file

@ -76,7 +76,7 @@ Material:
- _ColorMask: 15
- _Cutoff: 0.5
- _DangerSteepness: 1.5
- _DepthRange: 264.0017
- _DepthRange: 284.9062
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
@ -89,7 +89,7 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Scale: 0.87450314
- _Scale: 0.0007099797
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1

View file

@ -71,7 +71,7 @@ Material:
- _ColorMask: 15
- _Cutoff: 0.5
- _DangerSteepness: 1.5
- _DepthRange: 264.0017
- _DepthRange: 284.9062
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1

BIN
Assets/Models/cubesphere.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,106 @@
fileFormatVersion: 2
guid: 03b06c3c49e593f4ea7bd33e1e8632f7
ModelImporter:
serializedVersion: 21300
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
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: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 1
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 1
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/Models/cubesphereLow.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,106 @@
fileFormatVersion: 2
guid: dd6644c1aa6c16c47bb9fea9822ce805
ModelImporter:
serializedVersion: 21300
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
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: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 1
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

42
Assets/MouseRotate.cs Normal file
View file

@ -0,0 +1,42 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using Unity.Mathematics;
using static Unity.Mathematics.math;
public class MouseRotate : MonoBehaviour
{
public float Speed;
public ClickRaycaster Click;
private bool _rotating = false;
private Vector3 _euler;
void Start()
{
Click.OnClickMiss += data =>
{
_rotating = true;
//Debug.Log("Started Rotating");
};
_euler = transform.localEulerAngles;
}
// Update is called once per frame
void Update()
{
if (_rotating && !Mouse.current.leftButton.isPressed)
{
_rotating = false;
//Debug.Log("Stopped Rotating");
}
if (_rotating)
{
var mouse = Mouse.current.delta.ReadValue();
_euler.x -= mouse.y*Speed;
_euler.y += mouse.x*Speed;
transform.rotation = Quaternion.Euler(_euler);
}
}
}

View file

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

View file

@ -28,6 +28,7 @@ RectTransform:
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: 8334150340270499360}
m_RootOrder: 2
@ -59,7 +60,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
@ -169,6 +170,7 @@ RectTransform:
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: 8334150341076115031}
- {fileID: 8334150340821902613}
@ -344,6 +346,7 @@ RectTransform:
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: 8334150340270499360}
m_RootOrder: 1
@ -375,7 +378,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 0.44583336, b: 0.050000012, a: 0.65882355}
m_RaycastTarget: 1
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
@ -419,6 +422,7 @@ RectTransform:
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: 8334150340270499360}
m_RootOrder: 7
@ -450,7 +454,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.85, g: 0.95199996, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 0
m_OnCullStateChanged:
@ -494,6 +498,7 @@ RectTransform:
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: 8334150340270499360}
m_RootOrder: 4
@ -525,7 +530,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
@ -569,6 +574,7 @@ RectTransform:
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: 8334150340270499360}
m_RootOrder: 0
@ -600,7 +606,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 2100000, guid: 46238d909c2092c4eb873278d84c6ce8, type: 2}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
@ -644,6 +650,7 @@ RectTransform:
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: 8334150340270499360}
m_RootOrder: 6
@ -675,7 +682,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
@ -779,6 +786,7 @@ RectTransform:
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: 8334150340270499360}
m_RootOrder: 5
@ -810,7 +818,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
@ -914,6 +922,7 @@ RectTransform:
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: 8334150340270499360}
m_RootOrder: 3
@ -945,7 +954,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:

View file

@ -30,6 +30,7 @@ RectTransform:
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: 7661950295498381397}
- {fileID: 7661950294707789146}
@ -78,8 +79,8 @@ MonoBehaviour:
m_Padding:
m_Left: 8
m_Right: 0
m_Top: 0
m_Bottom: 0
m_Top: 4
m_Bottom: 4
m_ChildAlignment: 4
m_Spacing: 4
m_ChildForceExpandWidth: 1
@ -147,6 +148,7 @@ RectTransform:
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: 7661950295217243554}
m_Father: {fileID: 7661950294707789146}
@ -224,15 +226,16 @@ RectTransform:
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: 7661950294137596689}
m_Father: {fileID: 7661950293931311387}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 400, y: -12}
m_SizeDelta: {x: 0, y: 24}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 289, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 1, y: 0.5}
--- !u!114 &7661950294707789148
MonoBehaviour:
@ -310,7 +313,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_IgnoreLayout: 0
m_MinWidth: -1
m_MinHeight: 24
m_MinHeight: 20
m_PreferredWidth: 0
m_PreferredHeight: -1
m_FlexibleWidth: 2
@ -344,6 +347,7 @@ RectTransform:
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: 7661950294137596689}
m_RootOrder: 0
@ -420,6 +424,7 @@ RectTransform:
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: 7661950293931311387}
m_RootOrder: 0

View file

@ -28,6 +28,7 @@ RectTransform:
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: 1444953513611246322}
m_RootOrder: 0
@ -165,6 +166,7 @@ RectTransform:
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: 1444953513591056483}
- {fileID: 1444953514355799430}
@ -228,7 +230,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_IgnoreLayout: 0
m_MinWidth: -1
m_MinHeight: 24
m_MinHeight: 20
m_PreferredWidth: 0
m_PreferredHeight: -1
m_FlexibleWidth: 2
@ -307,6 +309,7 @@ RectTransform:
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: 1444953514731475974}
m_RootOrder: 0
@ -462,6 +465,7 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: -0.7071068, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1444953513611246322}
m_RootOrder: 1
@ -539,6 +543,7 @@ RectTransform:
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: 1444953513817938006}
- {fileID: 1444953513611246322}
@ -588,8 +593,8 @@ MonoBehaviour:
m_Padding:
m_Left: 8
m_Right: 0
m_Top: 0
m_Bottom: 0
m_Top: 4
m_Bottom: 4
m_ChildAlignment: 4
m_Spacing: 4
m_ChildForceExpandWidth: 1

View file

@ -30,6 +30,7 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.75, y: 0.75, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2544338102157427055}
m_RootOrder: 2
@ -162,6 +163,7 @@ RectTransform:
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: 3841991687815987397}
- {fileID: 7863247503782211248}
@ -188,7 +190,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_IgnoreLayout: 0
m_MinWidth: -1
m_MinHeight: 24
m_MinHeight: 20
m_PreferredWidth: 0
m_PreferredHeight: -1
m_FlexibleWidth: 2
@ -223,6 +225,7 @@ RectTransform:
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: 6770904480725292323}
m_RootOrder: 0
@ -380,6 +383,7 @@ RectTransform:
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: 6770904480229951561}
- {fileID: 2544338102157427055}
@ -414,8 +418,8 @@ MonoBehaviour:
m_Padding:
m_Left: 8
m_Right: 0
m_Top: 0
m_Bottom: 0
m_Top: 4
m_Bottom: 4
m_ChildAlignment: 4
m_Spacing: 4
m_ChildForceExpandWidth: 1
@ -501,6 +505,7 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.75, y: 0.75, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2544338102157427055}
m_RootOrder: 1
@ -634,6 +639,7 @@ RectTransform:
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: 2544338102157427055}
m_RootOrder: 0

View file

@ -30,6 +30,7 @@ RectTransform:
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: 23155009713813574}
- {fileID: 8734896053364945145}
@ -78,8 +79,8 @@ MonoBehaviour:
m_Padding:
m_Left: 8
m_Right: 0
m_Top: 0
m_Bottom: 0
m_Top: 4
m_Bottom: 4
m_ChildAlignment: 4
m_Spacing: 4
m_ChildForceExpandWidth: 1
@ -148,6 +149,7 @@ RectTransform:
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: 23155009655760172}
m_RootOrder: 0
@ -302,6 +304,7 @@ RectTransform:
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: 5938949450847760329}
m_Father: {fileID: 23155009655760172}
@ -326,7 +329,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_IgnoreLayout: 0
m_MinWidth: -1
m_MinHeight: 24
m_MinHeight: 20
m_PreferredWidth: 0
m_PreferredHeight: -1
m_FlexibleWidth: 2
@ -359,6 +362,7 @@ RectTransform:
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: 5938949451508194215}
- {fileID: 5938949451316023666}
@ -414,6 +418,7 @@ RectTransform:
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: 5938949450758544618}
m_Father: {fileID: 8734896053364945145}
@ -608,6 +613,7 @@ RectTransform:
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: 5938949450758544618}
m_RootOrder: 1
@ -743,6 +749,7 @@ RectTransform:
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: 5938949450758544618}
m_RootOrder: 0

View file

@ -28,6 +28,7 @@ RectTransform:
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: 8181761431199775037}
m_RootOrder: 1
@ -103,6 +104,7 @@ RectTransform:
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: 8181761431199775037}
m_RootOrder: 0
@ -180,6 +182,7 @@ RectTransform:
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: 3301729265189646952}
- {fileID: 8626591645481506733}
@ -228,8 +231,8 @@ MonoBehaviour:
m_Padding:
m_Left: 8
m_Right: 0
m_Top: 0
m_Bottom: 0
m_Top: 4
m_Bottom: 4
m_ChildAlignment: 4
m_Spacing: 4
m_ChildForceExpandWidth: 1
@ -298,6 +301,7 @@ RectTransform:
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: 3301729265155698787}
m_RootOrder: 0
@ -451,6 +455,7 @@ RectTransform:
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: 4052465884214141673}
- {fileID: 1684719062263664779}
@ -490,6 +495,7 @@ RectTransform:
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: 8181761431199775037}
m_Father: {fileID: 3301729265155698787}
@ -565,7 +571,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_IgnoreLayout: 0
m_MinWidth: -1
m_MinHeight: 24
m_MinHeight: 20
m_PreferredWidth: 0
m_PreferredHeight: -1
m_FlexibleWidth: 2

View file

@ -29,6 +29,7 @@ RectTransform:
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: 2677123916507168719}
m_RootOrder: 0
@ -150,7 +151,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_IgnoreLayout: 0
m_MinWidth: -1
m_MinHeight: 24
m_MinHeight: 20
m_PreferredWidth: 0
m_PreferredHeight: -1
m_FlexibleWidth: 3
@ -186,6 +187,7 @@ RectTransform:
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: 2677123916028371621}
- {fileID: 6602089867192183683}
@ -234,8 +236,8 @@ MonoBehaviour:
m_Padding:
m_Left: 8
m_Right: 8
m_Top: 0
m_Bottom: 0
m_Top: 4
m_Bottom: 4
m_ChildAlignment: 4
m_Spacing: 4
m_ChildForceExpandWidth: 1
@ -304,6 +306,7 @@ RectTransform:
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: 2677123916507168719}
m_RootOrder: 1

View file

@ -28,6 +28,7 @@ RectTransform:
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: 7146463267720429741}
m_RootOrder: 0
@ -101,6 +102,7 @@ RectTransform:
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: 3436413162678517982}
m_Father: {fileID: 7146463267720429741}
@ -139,6 +141,7 @@ RectTransform:
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: 7282863425963355709}
m_RootOrder: 0
@ -212,6 +215,7 @@ RectTransform:
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: 287045173602649995}
m_Father: {fileID: 7146463267720429741}
@ -251,6 +255,7 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.75, y: 0.75, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 3222204141728529077}
m_RootOrder: 0
@ -343,6 +348,7 @@ RectTransform:
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: 4127690186274268520}
- {fileID: 7146463267720429741}
@ -411,8 +417,8 @@ MonoBehaviour:
m_Padding:
m_Left: 8
m_Right: 0
m_Top: 0
m_Bottom: 0
m_Top: 4
m_Bottom: 4
m_ChildAlignment: 4
m_Spacing: 4
m_ChildForceExpandWidth: 1
@ -481,6 +487,7 @@ RectTransform:
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: 4127690186169542499}
m_RootOrder: 0
@ -636,6 +643,7 @@ RectTransform:
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: 3217779461217105385}
- {fileID: 7282863425963355709}
@ -713,7 +721,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_IgnoreLayout: 0
m_MinWidth: -1
m_MinHeight: 24
m_MinHeight: 20
m_PreferredWidth: 0
m_PreferredHeight: -1
m_FlexibleWidth: 2

View file

@ -0,0 +1,91 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &681487193095999430
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: -8679921383154817045, guid: 03b06c3c49e593f4ea7bd33e1e8632f7,
type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 03b06c3c49e593f4ea7bd33e1e8632f7,
type: 3}
propertyPath: m_LocalScale.x
value: 10
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 03b06c3c49e593f4ea7bd33e1e8632f7,
type: 3}
propertyPath: m_LocalScale.y
value: 10
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 03b06c3c49e593f4ea7bd33e1e8632f7,
type: 3}
propertyPath: m_LocalScale.z
value: 20
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 03b06c3c49e593f4ea7bd33e1e8632f7,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 03b06c3c49e593f4ea7bd33e1e8632f7,
type: 3}
propertyPath: m_LocalPosition.y
value: -143.45
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 03b06c3c49e593f4ea7bd33e1e8632f7,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 03b06c3c49e593f4ea7bd33e1e8632f7,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.9874414
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 03b06c3c49e593f4ea7bd33e1e8632f7,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 03b06c3c49e593f4ea7bd33e1e8632f7,
type: 3}
propertyPath: m_LocalRotation.y
value: 0.15798575
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 03b06c3c49e593f4ea7bd33e1e8632f7,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 03b06c3c49e593f4ea7bd33e1e8632f7,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 03b06c3c49e593f4ea7bd33e1e8632f7,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 18.18
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 03b06c3c49e593f4ea7bd33e1e8632f7,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: -7511558181221131132, guid: 03b06c3c49e593f4ea7bd33e1e8632f7,
type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: fb49bfc0c2de96c4d82661e1baf17aa7, type: 2}
- target: {fileID: 919132149155446097, guid: 03b06c3c49e593f4ea7bd33e1e8632f7,
type: 3}
propertyPath: m_Name
value: cubesphere
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 03b06c3c49e593f4ea7bd33e1e8632f7, type: 3}

View file

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: fe47fadcdb5ae5c4caca516b4af6fde6
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -13,12 +13,12 @@ RenderTexture:
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0
serializedVersion: 3
serializedVersion: 5
m_Width: 512
m_Height: 512
m_AntiAliasing: 1
m_MipCount: -1
m_DepthFormat: 0
m_DepthStencilFormat: 0
m_ColorFormat: 49
m_MipMap: 0
m_GenerateMips: 1
@ -36,3 +36,4 @@ RenderTexture:
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
m_ShadowSamplingMode: 2

BIN
Assets/Resources/Settings.asset (Stored with Git LFS)

Binary file not shown.

BIN
Assets/Resources/Sprites/cursor.png (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,122 @@
fileFormatVersion: 2
guid: 2efc5affc353ed64982563cf93d82eb2
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 1
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 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: 0
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: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 128
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1031,7 +1031,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 516.095, y: -40}
m_AnchoredPosition: {x: 653.81, y: -40}
m_SizeDelta: {x: 346.51, y: 56}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &101395091
@ -5207,15 +5207,15 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 393266591}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -3.03}
m_LocalRotation: {x: 0, y: -0.92387956, z: 0, w: 0.38268343}
m_LocalPosition: {x: 30, y: -143.4, z: 30}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 359038939}
m_Father: {fileID: 1665127616}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_LocalEulerAnglesHint: {x: 0, y: -135, z: 0}
--- !u!114 &393266593
MonoBehaviour:
m_ObjectHideFlags: 0
@ -7410,7 +7410,7 @@ GameObject:
- component: {fileID: 472507700}
- component: {fileID: 472507699}
m_Layer: 5
m_Name: Cursor
m_Name: ResizeCursor
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -9757,7 +9757,7 @@ PrefabInstance:
- target: {fileID: 257019179596293679, guid: 426f9dcb510530d4dbfa678c9f727ec1,
type: 3}
propertyPath: m_SizeDelta.y
value: -298.75983
value: -415
objectReference: {fileID: 0}
- target: {fileID: 257019179596293679, guid: 426f9dcb510530d4dbfa678c9f727ec1,
type: 3}
@ -10726,7 +10726,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!215 &666227431
ReflectionProbe:
m_ObjectHideFlags: 0
@ -14223,7 +14223,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 967.39496, y: -40}
m_AnchoredPosition: {x: 1105.11, y: -40}
m_SizeDelta: {x: 150.99, y: 56}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &931657852
@ -16174,7 +16174,6 @@ MonoBehaviour:
FollowCamera: {fileID: 887677622}
WormholeCamera: {fileID: 1644480539}
SectorMap: {fileID: 2132980328}
VolumeRenderer: {fileID: 2115559093}
MainMenu: {fileID: 588628536}
Menu: {fileID: 1726632268}
MenuMap: {fileID: 630131162}
@ -18022,8 +18021,8 @@ Transform:
m_GameObject: {fileID: 1108843908}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 2, y: 1, z: 2}
m_ConstrainProportionsScale: 0
m_LocalScale: {x: 2, y: 2, z: 2}
m_ConstrainProportionsScale: 1
m_Children:
- {fileID: 677960092}
- {fileID: 945347192}
@ -21520,7 +21519,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 1160.025, y: -40}
m_AnchoredPosition: {x: 1297.74, y: -40}
m_SizeDelta: {x: 234.27, y: 56}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1399108419
@ -22482,7 +22481,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 790.625, y: -40}
m_AnchoredPosition: {x: 928.34, y: -40}
m_SizeDelta: {x: 202.55, y: 56}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1464157086
@ -22897,8 +22896,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 362.555, y: -40}
m_SizeDelta: {x: 178.02, y: 56}
m_AnchoredPosition: {x: 342.84, y: -40}
m_SizeDelta: {x: 275.43, y: 56}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1485884353
MonoBehaviour:
@ -31113,8 +31112,8 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2115559087}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -3.03}
m_LocalRotation: {x: -0, y: -0.92387956, z: -0, w: 0.38268343}
m_LocalPosition: {x: 30, y: -143.4, z: 30}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []

BIN
Assets/Scenes/ARPG/LightingData.asset (Stored with Git LFS)

Binary file not shown.

BIN
Assets/Scenes/ARPG/ReflectionProbe-0.exr (Stored with Git LFS)

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

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

View file

@ -113,10 +113,10 @@ public abstract class DatabaseListView : EditorWindow
margin = new RectOffset(0, 0, 0, 0)
};
_jsonStore = new MultiFileJsonBackingStore(FilePath);
//_jsonStore = new MultiFileJsonBackingStore(FilePath);
_msgPackStore = new SingleFileMessagePackBackingStore(Path.Combine(FilePath, "AetherDB.msgpack"));
cultCache = new CultCache();
cultCache.AddBackingStore(_jsonStore);
//cultCache.AddBackingStore(_jsonStore);
cultCache.AddBackingStore(_msgPackStore);
cultCache.AddBackingStore(new MultiFileMessagePackBackingStore(FilePath), typeof(NameFile));
cultCache.PullAllBackingStores();

View file

@ -47,9 +47,10 @@ public class ActionGameManager : MonoBehaviour
if (_cultCache != null) return _cultCache;
_cultCache = new CultCache();
_cultCache.AddBackingStore(new MultiFileJsonBackingStore(GameDataDirectory.FullName));
// _cultCache.AddBackingStore(
// new SingleFileMessagePackBackingStore(Path.Combine(GameDataDirectory.FullName, "AetherDB.msgpack")));
//RethinkConnection.RethinkConnect(_cultCache, "gamecult.org:28016", DatabaseName);
//_cultCache.AddBackingStore(new MultiFileJsonBackingStore(GameDataDirectory.FullName));
_cultCache.AddBackingStore(
new SingleFileMessagePackBackingStore(Path.Combine(GameDataDirectory.FullName, "AetherDB.msgpack")));
// Particularly heavy objects should be stored in / retrieved from MsgPack files as it's much tighter than JSON
// Such as NameFiles, which are just huge collections of geonames used to condition Markov chains
@ -425,7 +426,7 @@ public class ActionGameManager : MonoBehaviour
slot.PointerEnterTrigger.OnPointerEnterAsObservable().Subscribe(_ =>
{
//Debug.Log($"Pointer entered action bar slot {controlPath}");
Debug.Log($"Pointer entered action bar slot {controlPath}");
RegisterDragTarget(dragAction =>
{
//Debug.Log("Registering binding!");
@ -520,6 +521,8 @@ public class ActionGameManager : MonoBehaviour
.5f) : new LoadoutGenerator(
ref ItemManager.Random,
ItemManager,
CurrentGalaxy,
Zone.GalaxyZone,
nearestFaction,
.5f);
@ -730,8 +733,7 @@ public class ActionGameManager : MonoBehaviour
{
SectorMap.QueueZoneReveal(CurrentGalaxy.Entrance.AdjacentZones.Prepend(CurrentGalaxy.Entrance));
PopulateLevel(CurrentGalaxy.Entrance);
var loadoutGenerator = IsTutorial ? new LoadoutGenerator(ref ItemManager.Random, ItemManager, null, 2) :
new LoadoutGenerator(ref ItemManager.Random, ItemManager, CurrentGalaxy, Zone.GalaxyZone, null, 2);
var loadoutGenerator = new LoadoutGenerator(ref ItemManager.Random, ItemManager, CurrentGalaxy, Zone.GalaxyZone, IsTutorial ? CurrentGalaxy.ResolveFaction(Settings.TutorialGenerationSettings.ProtagonistFaction) : null, 2);
var ship = EntitySerializer.Unpack(
ItemManager,
Zone,

View file

@ -183,7 +183,7 @@ public class EntityInstance : MonoBehaviour
_pingBrightness = pingMesh.material.GetFloat("_Depth");
_currentPing = (pingInstance, pingMesh);
};
sensor.OnPingEnd += () => Destroy(_currentPing.transform.gameObject);
sensor.OnPingEnd += OnSensorPingEnd;
}
if (behavior is InstantWeapon instantWeapon)
@ -443,7 +443,12 @@ public class EntityInstance : MonoBehaviour
_influenceInstance.transform.localScale = Vector3.one * orbital.SecurityRadius;
}
}
private void OnSensorPingEnd()
{
Destroy(_currentPing.transform.gameObject);
}
public Transform GetBarrel(HardpointData hardpoint)
{
if (Barrels.ContainsKey(hardpoint))
@ -519,6 +524,8 @@ public class EntityInstance : MonoBehaviour
public virtual void OnDestroy()
{
if(_sensor!=null)
_sensor.OnPingEnd -= OnSensorPingEnd;
if (_influenceInstance) Destroy(_influenceInstance.gameObject);
Destroy(LocalSpace.gameObject);
foreach(var x in _subscriptions)

View file

@ -0,0 +1,147 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using Unity.Mathematics;
using UnityEngine.Animations;
using static Unity.Mathematics.math;
public class FieldDriver : MonoBehaviour
{
[Inspectable]
public float TestMagnitude;
public float2 Throttle;
[Inspectable]
public float ThrottleDecay = 1;
[Inspectable]
public float FlowSpeed;
[Inspectable]
public float FlowSpeedThrottleExponent;
[Inspectable]
public float FlowMagnitude;
[Inspectable]
public float FlowMagnitudeThrottleExponent;
[Inspectable]
public float FlowOpacityThrottleExponent;
public int MaxHits;
[Inspectable]
public ExponentialCurve MagnitudeTimeScaling;
[Inspectable]
public float MeleeRange;
[Inspectable]
public float MeleeRangeExponent;
[Inspectable]
public float MeleeFlatness;
[Inspectable]
public float MeleeShaping;
[Inspectable]
public float MeleeDuration;
[Inspectable]
public float MeleeAngle;
[Inspectable]
public float MeleeAngleExponent;
[Inspectable]
public Axis RefractionAxis = Axis.X;
private Material _field;
private ComputeBuffer _hitBuffer;
private List<FieldHit> _hits = new List<FieldHit>();
private float _pushWaveOffset;
private double2 _throttle;
private float _meleeTime;
private bool _meleeActive;
private struct FieldHit
{
public float3 Position;
public float3 Direction;
public float Magnitude;
public float Time;
}
void Start()
{
_field = GetComponent<MeshRenderer>().material;
var clickableCollider = GetComponent<ClickableCollider>();
if(clickableCollider!=null)
{
clickableCollider.OnClick += (_, _, ray, hit) =>
{
AddHit(hit.point, ray.direction, TestMagnitude);
};
}
_hitBuffer = new ComputeBuffer(MaxHits, 32);
}
public void AddHit(float3 position, float3 direction, float magnitude)
{
if (_hits.Count >= MaxHits) return;
var hit = new FieldHit
{
Position = normalize(transform.InverseTransformPoint(position)),
Direction = normalize(transform.rotation * direction),
Magnitude = magnitude,
Time = 0
};
Debug.Log($"Received hit: Position={hit.Position}, Direction={hit.Direction}");
_hits.Add(hit);
}
public int HitCount => _hits.Count;
public void Melee()
{
_meleeActive = true;
_meleeTime = 0;
}
void Update()
{
for (int i = 0; i < _hits.Count; i++)
{
var hit = _hits[i];
hit.Time += Time.deltaTime / MagnitudeTimeScaling.Evaluate(_hits[i].Magnitude);
_hits[i] = hit;
if (hit.Time > 1)
{
_hits.RemoveAt(i);
i--;
}
}
if (_meleeActive)
{
_meleeTime += Time.deltaTime / MeleeDuration;
if (_meleeTime > 1)
{
_meleeActive = false;
}
}
_throttle = AetheriaMath.Damp(_throttle, Throttle, ThrottleDecay, Time.deltaTime);
var throttleDir = (float2) normalize(_throttle);
var throttleMag = min(length(_throttle), 1);
_pushWaveOffset = frac(_pushWaveOffset + Time.deltaTime * FlowSpeed * (float) pow(throttleMag, FlowSpeedThrottleExponent));
var refractionRotation = Matrix4x4.Rotate(transform.rotation);
if (RefractionAxis == Axis.Y) refractionRotation = Matrix4x4.Rotate(Quaternion.Euler(90, 0, 0)) * refractionRotation;
if (RefractionAxis == Axis.X) refractionRotation = Matrix4x4.Rotate(Quaternion.Euler(0, 90, 0)) * refractionRotation;
_hitBuffer.SetData(_hits);
_field.SetBuffer("_Hits", _hitBuffer);
_field.SetInt("_HitCount", _hits.Count);
_field.SetFloat("_PushWaveMagnitude", FlowMagnitude * (float) pow(throttleMag, FlowMagnitudeThrottleExponent));
_field.SetFloat("_PushOpacity", (float) pow(throttleMag, FlowOpacityThrottleExponent));
_field.SetFloat("_PushWaveOffset", _pushWaveOffset);
_field.SetVector("_PushDirection", new Vector4(throttleDir.x,0,throttleDir.y));
_field.SetVector("_InverseScale", new Vector4(1/transform.localScale.x,1/transform.localScale.y,1/transform.localScale.z));
_field.SetMatrix("_ReflRotate", refractionRotation);
_field.SetVector("_MeleeDirection", Quaternion.AngleAxis(sign(_meleeTime*2-1) * MeleeAngle * pow(abs(_meleeTime * 2 - 1), MeleeAngleExponent), Vector3.up) * -Vector3.forward);
_field.SetFloat("_MeleeDisplacement", pow(1 - 2 * abs(_meleeTime - .5f), MeleeRangeExponent) * MeleeRange);
_field.SetFloat("_MeleeShape", MeleeShaping);
_field.SetFloat("_MeleeFlattening", MeleeFlatness);
}
}

View file

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

View file

@ -38,6 +38,21 @@ public static class AetheriaMath
return lerp(a, b, 1 - exp(-lambda * dt));
}
public static double Damp(double a, double b, double lambda, double dt)
{
return lerp(a, b, 1 - exp(-lambda * dt));
}
public static double2 Damp(double2 a, double2 b, double2 lambda, double2 dt)
{
return lerp(a, b, 1 - exp(-lambda * dt));
}
public static double3 Damp(double3 a, double3 b, double3 lambda, double3 dt)
{
return lerp(a, b, 1 - exp(-lambda * dt));
}
//first-order intercept using absolute target position
public static float3 FirstOrderIntercept
(

View file

@ -13,13 +13,13 @@ using static Unity.Mathematics.math;
[Serializable, MessagePackObject, JsonObject]
public class ExponentialCurve
{
[JsonProperty("exponent"), Key(0)]
[JsonProperty("exponent"), Key(0), Inspectable]
public float Exponent;
[JsonProperty("multiplier"), Key(1)]
[JsonProperty("multiplier"), Key(1), Inspectable]
public float Multiplier;
[JsonProperty("constant"), Key(2)]
[JsonProperty("constant"), Key(2), Inspectable]
public float Constant;
public float Evaluate(float value) => Multiplier * pow(value, Exponent) + Constant;
@ -28,13 +28,13 @@ public class ExponentialCurve
[Serializable, MessagePackObject, JsonObject]
public class ExponentialLerp
{
[JsonProperty("exponent"), Key(0)]
[JsonProperty("exponent"), Key(0), Inspectable]
public float Exponent;
[JsonProperty("max"), Key(1)]
[JsonProperty("max"), Key(1), Inspectable]
public float Minimum;
[JsonProperty("min"), Key(2)]
[JsonProperty("min"), Key(2), Inspectable]
public float Maximum;
public float Evaluate(float value) => Minimum + pow(saturate(value), Exponent) * (Maximum - Minimum);

View file

@ -27,10 +27,12 @@ public class Galaxy
public GalaxyZone Exit { get; }
public Dictionary<Faction, FactionRelationship> FactionRelationships { get; } = new Dictionary<Faction, FactionRelationship>();
private Action<string> Log { get; }
public bool IsPrelude { get; }
private HashSet<Guid> _containedFactions;
private GalaxyZone[] _exitPath;
private Dictionary<Faction, MarkovNameGenerator> _nameGenerators = new Dictionary<Faction, MarkovNameGenerator>();
private readonly CultCache _cache;
public GalaxyZone[] ExitPath
{
@ -44,6 +46,8 @@ public class Galaxy
public Galaxy(CultCache cultCache, SavedGame savedGame, Action<string> log)
{
IsPrelude = savedGame.IsTutorial;
_cache = cultCache;
Log = log;
Background = savedGame.Background;
@ -94,6 +98,8 @@ public class Galaxy
Action<string> progressCallback = null,
uint seed = 0)
{
_cache = cache;
IsPrelude = false;
Background = background;
Log = log;
var factions = cache.GetAll<Faction>();
@ -125,6 +131,11 @@ public class Galaxy
progressCallback?.Invoke("Done!");
if(progressCallback!=null) Thread.Sleep(500); // Inserting Delay to make it seem like it's doing more work lmao
}
public Faction ResolveFaction(string name)
{
return _cache.GetAll<Faction>().FirstOrDefault(f => f.Name.StartsWith(name, StringComparison.InvariantCultureIgnoreCase));
}
public Galaxy(
TutorialGenerationSettings settings,
@ -137,7 +148,8 @@ public class Galaxy
Action<string> progressCallback = null,
uint seed = 0)
{
Faction ResolveFaction(string name) => cache.GetAll<Faction>().FirstOrDefault(f => f.Name.StartsWith(name, StringComparison.InvariantCultureIgnoreCase));
_cache = cache;
IsPrelude = true;
Background = background;
Log = log;

View file

@ -30,18 +30,18 @@ public class LoadoutGenerator
Faction = faction;
PriceExponent = priceExponent;
}
public LoadoutGenerator(
ref Random random,
ItemManager itemManager,
Faction faction,
float priceExponent)
{
Random = random;
ItemManager = itemManager;
Faction = faction;
PriceExponent = priceExponent;
}
//
// public LoadoutGenerator(
// ref Random random,
// ItemManager itemManager,
// Faction faction,
// float priceExponent)
// {
// Random = random;
// ItemManager = itemManager;
// Faction = faction;
// PriceExponent = priceExponent;
// }
public EntityPack GenerateShipLoadout(Predicate<HullData> hullFilter = null)
{
@ -86,7 +86,6 @@ public class LoadoutGenerator
var hull = ItemManager.CreateInstance(hullData) as EquippableItem;
var entity = new OrbitalEntity(ItemManager, null, hull, Guid.Empty, ItemManager.GameplaySettings.DefaultEntitySettings);
entity.Faction = Faction;
OutfitEntity(entity);
var emptyShape = entity.UnoccupiedSpace;
@ -100,6 +99,8 @@ public class LoadoutGenerator
{
throw new InvalidLoadoutException("Failed to equip selected docking bay!");
}
OutfitEntity(entity);
var cargo = entity.CargoBays.First();
IEnumerable<EquippableItemData> inventory = RandomItems<EquippableItemData>(16, 1,
@ -119,21 +120,9 @@ public class LoadoutGenerator
public HullData RandomHull(HullType type, Predicate<HullData> hullFilter = null)
{
return ItemManager.ItemData.GetAll<HullData>()
.Where(item =>
item.Price > 0 &&
return RandomItem<HullData>(0, item =>
(hullFilter?.Invoke(item) ?? true) &&
item.HullType == type &&
item.Manufacturer != Guid.Empty &&
(Galaxy?.ContainsFaction(item.Manufacturer) ?? true) &&
(Faction == null || item.Manufacturer == Faction.ID || Faction.Allegiance.ContainsKey(item.Manufacturer)))
.WeightedRandomElements(ref Random,
item =>
(Faction == null || item.Manufacturer == Faction.ID ? 1 : Faction.Allegiance[item.Manufacturer]) / // Prioritize items from allied manufacturers
(Zone?.Distance[Galaxy.HomeZones[ItemManager.ItemData.Get<Faction>(item.Manufacturer)]] ?? 1) / // Penalize distance to manufacturer headquarters
pow(item.Price, PriceExponent), // Penalize item price to a controllable degree
1
).FirstOrDefault();
item.HullType == type);
}
public T[] RandomItems<T>(int count, float sizeExponent, Predicate<T> filter = null) where T : EquippableItemData
@ -142,13 +131,14 @@ public class LoadoutGenerator
.Where(item =>
item.Price > 0 &&
item.Manufacturer != Guid.Empty &&
(Galaxy?.ContainsFaction(item.Manufacturer) ?? true) &&
(Faction == null || Faction.Allegiance.ContainsKey(item.Manufacturer)) &&
(Galaxy.IsPrelude || Galaxy.ContainsFaction(item.Manufacturer) &&
(Faction == null || Faction.Allegiance.ContainsKey(item.Manufacturer))) &&
(filter?.Invoke(item) ?? true))
.WeightedRandomElements(ref Random, item =>
(Faction == null || item.Manufacturer == Faction.ID ? 1 : Faction.Allegiance[item.Manufacturer]) * // Prioritize items from allied manufacturers
Faction == null ? 1 :
(item.Manufacturer == Faction.ID ? 1 : Faction.Allegiance.ContainsKey(item.Manufacturer) ? Faction.Allegiance[item.Manufacturer] : 0.0f / // Prioritize items from allied manufacturers
(Galaxy?.ContainsFaction(item.Manufacturer) ?? false ? Zone?.Distance[Galaxy.HomeZones[ItemManager.ItemData.Get<Faction>(item.Manufacturer)]] ?? 1 : 1)) * // Penalize distance to manufacturer headquarters
pow(item.Shape.Coordinates.Length, sizeExponent) / // Prioritize larger items
(Zone?.Distance[Galaxy.HomeZones[ItemManager.ItemData.Get<Faction>(item.Manufacturer)]] ?? 1) / // Penalize distance to manufacturer headquarters
pow(item.Price, PriceExponent), // Penalize item price to a controllable degree
count
);

View file

@ -245,9 +245,7 @@ public static class ZoneGenerator
LoadoutGenerator GetLoadoutGenerator(Faction faction)
{
if (!loadoutGenerators.ContainsKey(faction))
loadoutGenerators[faction] = isTutorial
? new LoadoutGenerator(ref random, itemManager, faction, .5f)
: new LoadoutGenerator(ref random, itemManager, galaxy, galaxyZone, faction, .5f);
loadoutGenerators[faction] = new LoadoutGenerator(ref random, itemManager, galaxy, galaxyZone, faction, .5f);
return loadoutGenerators[faction];
}

View file

@ -10,7 +10,7 @@ using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
public class ClickCatcher : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, /*IPointerUpHandler, IPointerDownHandler,*/ IPointerClickHandler
public class ClickCatcher : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, /*IPointerUpHandler, */IPointerDownHandler, IPointerClickHandler
{
//public bool EnableMouse => PointerIsInside && !_catching;
public bool PointerIsInside { get; private set; }
@ -19,6 +19,7 @@ public class ClickCatcher : MonoBehaviour, IPointerEnterHandler, IPointerExitHan
public Subject<PointerEventData> OnEnter = new Subject<PointerEventData>();
public Subject<PointerEventData> OnExit = new Subject<PointerEventData>();
public Subject<PointerEventData> OnClick = new Subject<PointerEventData>();
public Subject<PointerEventData> OnDown = new Subject<PointerEventData>();
// private float downTime;
@ -54,10 +55,10 @@ public class ClickCatcher : MonoBehaviour, IPointerEnterHandler, IPointerExitHan
// OnClick?.Invoke(eventData);
// }
//
// public void OnPointerDown(PointerEventData eventData)
// {
// downTime = Time.time;
// }
public void OnPointerDown(PointerEventData eventData)
{
OnDown.OnNext(eventData);
}
public void OnPointerClick(PointerEventData eventData)
{

View file

@ -19,15 +19,17 @@ public class ClickRaycaster : MonoBehaviour
void Start()
{
_clickCatcher = GetComponent<ClickCatcher>();
_clickCatcher.OnClick.Subscribe(pointer =>
_clickCatcher.OnDown.Subscribe(pointer =>
{
RaycastHit hit;
Physics.Raycast(RayCamera.ScreenPointToRay(pointer.position), out hit, 1000, Layers.value);
var ray = RayCamera.ScreenPointToRay(pointer.position);
Physics.Raycast(ray, out hit, 1000, Layers.value);
if (hit.collider != null)
{
//Debug.Log($"Clicked on gameobject {hit.collider.gameObject}");
var clickable = hit.collider.GetComponent<ClickableCollider>();
if (clickable != null)
clickable.Click(pointer);
clickable.Click(pointer, ray, hit);
}
else OnClickMiss?.Invoke(pointer);
});

View file

@ -10,9 +10,9 @@ using UnityEngine.EventSystems;
public class ClickableCollider : MonoBehaviour
{
public event Action<ClickableCollider, PointerEventData> OnClick;
public event Action<ClickableCollider, PointerEventData, Ray, RaycastHit> OnClick;
public void Click(PointerEventData eventData) => OnClick?.Invoke(this, eventData);
public void Click(PointerEventData eventData, Ray ray, RaycastHit raycastHit) => OnClick?.Invoke(this, eventData, ray, raycastHit);
public void Clear()
{

View file

@ -0,0 +1,30 @@
using System;
using UnityEngine;
using Unity.Mathematics;
using static Unity.Mathematics.math;
public class FieldTester : MonoBehaviour
{
public Camera Camera;
public FieldDriver TestField;
public PropertiesPanel Properties;
private AetheriaInput _input;
private bool _forceThrust;
private void Start()
{
_input = new AetheriaInput();
_input.Player.Enable();
Properties.AddField("FOV", () => Camera.fieldOfView, f => Camera.fieldOfView = f, 15, 45);
Properties.AddButton("Melee", () => TestField.Melee());
Properties.AddField("Force Thrust", () => _forceThrust, b => _forceThrust = b);
Properties.Inspect(TestField, true, true);
Properties.AddProperty("Current Hits", () => TestField.HitCount.ToString());
}
private void Update()
{
TestField.Throttle = _forceThrust ? float2(0,1) : _input.Player.Move.ReadValue<Vector2>();
}
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 686a80c9880b431b94a9b0029d39cf1f
timeCreated: 1659655755

View file

@ -101,7 +101,7 @@ public class SectorMap : MonoBehaviour
if (!_revealedZones.Contains(zone))
{
var zoneInstance = ZonePrototype.Instantiate<SectorZoneUI>();
zoneInstance.Clickable.OnClick += (clickableCollider, data) => ZoneClicked.OnNext(zone);
zoneInstance.Clickable.OnClick += (clickableCollider, data, ray, hit) => ZoneClicked.OnNext(zone);
if(zone == _currentPlayerLocation)
MarkPlayerLocation(zoneInstance);
_zoneInstances[zone] = zoneInstance;

View file

@ -585,78 +585,74 @@ public class PropertiesPanel : MonoBehaviour
}
}
// public void Inspect(object obj, bool inspectablesOnly = false, bool readWrite = false, bool topLevel = true)
// {
// if(topLevel)
// Clear();
//
// var fields = obj.GetType().GetFields();
// foreach (var field in fields)
// Inspect(obj, field, inspectablesOnly, readWrite);
//
// if(topLevel)
// foreach (var field in _propertyFields)
// field.transform.SetSiblingIndex(_propertyFields.IndexOf(field));
//
// RefreshValues();
// }
//
// public void Inspect(object obj, FieldInfo field, bool inspectablesOnly = false, bool readWrite = false)
// {
// var inspectable = field.GetCustomAttribute<InspectableFieldAttribute>();
// if (inspectable == null && inspectablesOnly) return;
// var type = field.FieldType;
//
// if (type == typeof(float))
// {
// if (readWrite)
// {
// var ranged = inspectable as RangedFloatInspectableAttribute;
// if (ranged != null)
// Inspect(field.Name.SplitCamelCase(), () => (float) field.GetValue(obj), f => field.SetValue(obj, f),
// ranged.Min, ranged.Max);
// else
// Inspect(field.Name.SplitCamelCase(), () => (float) field.GetValue(obj), f => field.SetValue(obj, f));
// } else Inspect(field.Name.SplitCamelCase(), () => ((float) field.GetValue(obj)).ToString("0.##"));
// }
// else if (type == typeof(int))
// {
// if (readWrite)
// {
// var ranged = inspectable as RangedIntInspectableAttribute;
// if (ranged != null)
// Inspect(field.Name.SplitCamelCase(), () => (int) field.GetValue(obj), f => field.SetValue(obj, f),
// ranged.Min, ranged.Max);
// else
// Inspect(field.Name.SplitCamelCase(), () => (int) field.GetValue(obj), f => field.SetValue(obj, f));
// } else Inspect(field.Name.SplitCamelCase(), () => ((int) field.GetValue(obj)).ToString());
// }
// else if (type.IsEnum)
// {
// if (readWrite)
// Inspect(field.Name.SplitCamelCase(), () => (int) field.GetValue(obj), i => field.SetValue(obj, i),
// Enum.GetNames(field.FieldType));
// else
// Inspect(field.Name.SplitCamelCase(), () => Enum.GetName(type, field.GetValue(obj)).SplitCamelCase());
// }
// else if (type == typeof(string))
// {
// if (readWrite)
// Inspect(field.Name.SplitCamelCase(), () => (string) field.GetValue(obj), i => field.SetValue(obj, i));
// else
// Inspect(field.Name.SplitCamelCase(), () => (string) field.GetValue(obj));
// }
// //else if (field.FieldType == typeof(Color)) Inspect(field.Name, () => (Color) field.GetValue(obj), c => field.SetValue(obj, c));
// else if (field.FieldType == typeof(bool)) Inspect(field.Name, () => (bool) field.GetValue(obj), b => field.SetValue(obj, b));
// else if (type.GetCustomAttribute<InspectableFieldAttribute>() != null)
// {
// if(!_propertyFields.Any() || !_propertyFields.Last().gameObject.name.ToUpper().Contains("DIVIDER"))
// _propertyFields.Add(Divider.Instantiate<Prototype>());
// Inspect(field.GetValue(obj), inspectablesOnly, readWrite, false);
// }
// else
// Debug.Log($"Field \"{field.Name}\" has unknown type {field.FieldType.Name}. No inspector was generated.");
// }
public void Inspect(object obj, bool inspectablesOnly = false, bool readWrite = false, bool topLevel = true)
{
var fields = obj.GetType().GetFields();
foreach (var field in fields)
Inspect(obj, field, inspectablesOnly, readWrite);
// if(topLevel)
// foreach (var field in _propertyFields)
// field.transform.SetSiblingIndex(_propertyFields.IndexOf(field));
RefreshValues();
}
public void Inspect(object obj, FieldInfo field, bool inspectablesOnly = false, bool readWrite = false)
{
var inspectable = field.GetCustomAttribute<InspectableAttribute>();
if (inspectable == null && inspectablesOnly) return;
var type = field.FieldType;
if (type == typeof(float))
{
if (readWrite)
{
if (inspectable is InspectableRangedFloatAttribute ranged)
AddField(field.Name.SplitCamelCase(), () => (float) field.GetValue(obj), f => field.SetValue(obj, f),
ranged.Min, ranged.Max);
else
AddField(field.Name.SplitCamelCase(), () => (float) field.GetValue(obj), f => field.SetValue(obj, f));
} else AddProperty(field.Name.SplitCamelCase(), () => ((float) field.GetValue(obj)).ToString("0.##"));
}
else if (type == typeof(int))
{
if (readWrite)
{
if (inspectable is InspectableRangedIntAttribute ranged)
AddField(field.Name.SplitCamelCase(), () => (int) field.GetValue(obj), f => field.SetValue(obj, f),
ranged.Min, ranged.Max);
else
AddField(field.Name.SplitCamelCase(), () => (int) field.GetValue(obj), f => field.SetValue(obj, f));
} else AddProperty(field.Name.SplitCamelCase(), () => ((int) field.GetValue(obj)).ToString());
}
else if (type.IsEnum)
{
if (readWrite)
AddField(field.Name.SplitCamelCase(), () => (int) field.GetValue(obj), i => field.SetValue(obj, i),
Enum.GetNames(field.FieldType));
else
AddProperty(field.Name.SplitCamelCase(), () => Enum.GetName(type, field.GetValue(obj)).SplitCamelCase());
}
else if (type == typeof(string))
{
if (readWrite)
AddField(field.Name.SplitCamelCase(), () => (string) field.GetValue(obj), i => field.SetValue(obj, i));
else
AddProperty(field.Name.SplitCamelCase(), () => (string) field.GetValue(obj));
}
//else if (field.FieldType == typeof(Color)) Inspect(field.Name, () => (Color) field.GetValue(obj), c => field.SetValue(obj, c));
else if (field.FieldType == typeof(bool)) AddField(field.Name, () => (bool) field.GetValue(obj), b => field.SetValue(obj, b));
else if (type.GetCustomAttribute<InspectableAttribute>() != null)
{
// if(!_propertyFields.Any() || !_propertyFields.Last().gameObject.name.ToUpper().Contains("DIVIDER"))
// _propertyFields.Add(Divider.Instantiate<Prototype>());
var list = AddList(field.Name);
list.Inspect(field.GetValue(obj), inspectablesOnly, readWrite, false);
}
else
Debug.Log($"Field \"{field.Name}\" has unknown type {field.FieldType.Name}. No inspector was generated.");
}
public void RefreshValues()
{

View file

@ -0,0 +1,20 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
public class SpriteCursor : MonoBehaviour
{
public Canvas Canvas;
private RectTransform _rectTransform;
void Start()
{
_rectTransform = GetComponent<RectTransform>();
}
void Update()
{
_rectTransform.anchoredPosition = Mouse.current.position.ReadValue() / Canvas.scaleFactor;
}
}

View file

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

View file

@ -137,9 +137,11 @@ void UpdateParticles(uint3 id : SV_DispatchThreadID, int3 groupID : SV_GroupThre
pow(RandomValue(), heightExponent) +
perlinNoise1D(RandomValue()*1024)*spacing/2;
const float3 flowVec = flow(particles[id.x].position);
const float3 lighting = tex2Dlod(_NebulaTint, float4(puv.x, puv.y, 0, _DynamicLodHigh)).rgb +
tex2Dlod(_NebulaTint, float4(puv.x, puv.y, 0, _DynamicLodLow)).rgb;
particles[id.x].position -= flowVec * lifetime * period;
//const float fade = smoothstep(0,ceilingHeight, particles[id.x].position.y);
const float d = pow(density(particles[id.x].position) + .01, 0.1);
//const float d = pow(density(particles[id.x].position) + .01, 0.1);
particles[id.x].size = lerp(minimumSize, maximumSize, saturate(RandomValue())) * parabola(lifetime, 2);
particles[id.x].color = HueTexture.SampleLevel(samplerHueTexture, float2(RandomValue(), 0.0f), 0.0f).rgb * d;
particles[id.x].color = HueTexture.SampleLevel(samplerHueTexture, float2(RandomValue(), 0.0f), 0.0f).rgb * lighting;
}

View file

@ -2,14 +2,15 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Stardust
m_Shader: {fileID: 4800000, guid: f55bf043766cdb64db43d788106e3984, type: 3}
m_ShaderKeywords:
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
@ -55,6 +56,7 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 0.05
- _BumpScale: 1
@ -63,7 +65,7 @@ Material:
- _DistanceIntensityExponent: 1
- _DistanceSizeExponent: 0.33
- _DstBlend: 0
- _EmissionGain: 0.496
- _EmissionGain: 1
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1

View file

@ -9,7 +9,7 @@ uniform int _FrameNumber;
float isDithered(float2 pos, float alpha) {
half dither = frac(tex2D(_DitheringTex, pos * _DitheringCoords.xy).r + _FrameNumber * 1.61803398875);
//float dither = tex2D(_DitheringTex, pos * _DitheringCoords.xy + _DitheringCoords.zw).r;
return alpha - dither - 0.0001 * (1 - ceil(alpha));
return alpha - dither - 0.001 * (1 - ceil(alpha));
}
void ditherClip(float2 pos, float alpha) {

View file

@ -139,7 +139,8 @@ Shader "UI/Isolines"
OUT.color = v.color * _Color;
return OUT;
}
// Sample heightmap texture to find the gradient of the distance field
float2 calcGrad (float2 uv, float me)
{
float n = -tex2D(_DetailTex, float2(uv.x, uv.y + _DetailTex_TexelSize.y)).x;
@ -157,25 +158,27 @@ Shader "UI/Isolines"
float2 q = IN.texcoord;
#endif
float h = -tex2D(_DetailTex, q).r;
float height = -tex2D(_DetailTex, q).r;
//half4 c = tex2D(_TintTex, q);
float4 col = float4(0,0,0,0);
float blend = smoothstep(_StartDepth, _StartDepth + _DepthRange / 32, -h);
float blend = smoothstep(_StartDepth, _StartDepth + _DepthRange / 32, -height);
// Calculate the direction in which the surface is facing
float2 plan = calcGrad(q, h);
// Can replace with float2(ddx_fine(h),ddy_fine(h)) for more speed but lower quality
float2 plan = calcGrad(q, height);
float planmag = length(plan);
float slope = length(plan);
float dangerblend = smoothstep(0,_DangerSteepness, pow(planmag / _Scale, 2));
float dangerblend = smoothstep(0,_DangerSteepness, pow(slope / _Scale, 2));
half4 linecol = lerp(_Color,_DangerColor,dangerblend) * blend;
// Loop over isolines, computing a pseudo distance field for a number of height values
// Loop over isolines to sum their color contribution,
// Computing a distance field for a number of height values
float spacing = _DepthRange / 20;
for (int ih = 1; ih <= 21; ih++) {
float isoline = abs(h + _StartDepth + (ih*spacing));
col += (1-smoothstep(_LineWidth, _LineWidth * _LineFade, isoline / planmag)) * linecol; // Isoline
float isoline = abs(height + _StartDepth + (ih*spacing));
col += (1-smoothstep(_LineWidth, _LineWidth * _LineFade, isoline / slope)) * linecol; // Isoline
}
float angle = atan2(plan.y,plan.x) / 3.1415926536 + 1;
@ -186,13 +189,13 @@ Shader "UI/Isolines"
// float angle2 = atan2(plan2.y,plan2.x) / 3.1415926536 + 1;
// float angmag = abs(angle-angle2);
// angmag = min(angmag,0.025);
half4 angcol = blend * (planmag / _Scale) * (lerp(_AngleColor, _DangerColor, dangerblend));
half4 angcol = blend * (slope / _Scale) * (lerp(_AngleColor, _DangerColor, dangerblend));
// + pow(c,_TintExponent) * _TintIntensity
// Loop over angle isolines
for (float ia = 0.5; ia < 13; ia++) {
float isoline = abs(angle - ia / 6.0);
float l = 1-smoothstep(_AngleWidth, _AngleWidth * _AngleFade, isoline);
l *= smoothstep(-_StartDepth - _DepthRange, -_StartDepth, h);
l *= smoothstep(-_StartDepth - _DepthRange, -_StartDepth, height);
col += l * angcol;
// col += (1-smoothstep(_Angle2Width, _Angle2Width * _Angle2Fade, isoline / angmag)) * _AngleColor * blend; // Isoline
}

View file

@ -0,0 +1,349 @@
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
Shader "Aetheria/Field"
{
Properties
{
_Displacement("Max Displacement", Range(0, 1.0)) = 0.3
_SubdivisionAmount("Subivision Amount", Range(1, 10)) = 1
// _Color("Color", Color) = (1,1,1,1)
// _Metallic("Metallic", Range(0, 1)) = 1
// _Gloss("Gloss", Range(0, 1)) = 0.8
_Ambient_Multiplier("Ambient Multiplier", Float) = 5
_EmissionColor ("Emission Color", Color) = (1,1,1,1)
_Emission ("Emission Strength", Float) = 0
_EmissionFresnel ("Emission Fresnel", Float) = 1.0
_Background ("Background", CUBE) = "" {}
_BackgroundFresnel ("Background Fresnel", Float) = 1.0
_BackgroundBlur ("Background Blur", Float) = 2
_PushWaveMagnitude ("Push Magnitude", Float) = .5
_PushWaveFrequency ("Push Frequency", Float) = 2
_PushWaveRangeExponent ("Push Range Exponent", Float) = 2
_PushWaveEnvelopeExponent ("Push Envelope Exponent", Float) = 2
_PushWaveExponent ("Push Wave Exponent", Float) = 2
_PushWaveRange ("Push Range", Range(0,3.141592654)) = 1
_PushWaveOffset ("Push Time", Float) = .5
_PushDirection ("Push Direction", Vector) = (0,0,1)
_PushOpacity ("Push Opacity", Range(0,1)) = 1
_PushOpacityRangeMin ("Push Opacity Range Start", Range(0,1)) = .5
_PushOpacityRangeMax ("Push Opacity Range End", Range(0,1)) = .25
_FresnelOpacity ("Fresnel Opacity", Range(0,1)) = 1
_OpacityFresnel ("Opacity Fresnel", Float) = 1
_DisplacementOpacity ("Displacement Opacity", Float) = 1
_DeviationOpacityExponent ("Deviation Opacity Exponent", Float) = 8
}
SubShader
{
Pass
{
Tags {"LightMode" = "Deferred"}
Cull Off
CGPROGRAM
#pragma vertex vertex_shader
#pragma hull hull_shader
#pragma domain domain_shader
#pragma fragment pixel_shader
#pragma multi_compile ___ UNITY_HDR_ON
//#pragma exclude_renderers nomrt
#pragma target 4.6
#pragma glsl
//#define UNITY_PASS_DEFERRED
#include "UnityPBSLighting.cginc"
#include "Dither Functions.cginc"
// #include "UnityShaderVariables.cginc"
// #include "UnityStandardCore.cginc"
//#include "HLSLSupport.cginc"
//#include "UnityShaderVariables.cginc"
//#include "Lighting.cginc"
//#include "AutoLight.cginc"
//#pragma only_renderers d3d11
uniform sampler2D _LightBuffer;
float _SubdivisionAmount;
float _Displacement;
// half4 _Color;
// float _Metallic;
// float _Gloss;
float _Ambient_Multiplier;
samplerCUBE _Background;
float _Emission;
half4 _EmissionColor;
float _EmissionFresnel;
float _BackgroundBlur;
float _BackgroundFresnel;
float _FresnelOpacity;
float _OpacityFresnel;
float _PushWaveMagnitude;
float _PushWaveFrequency;
float _PushWaveRangeExponent;
float _PushWaveExponent;
float _PushWaveEnvelopeExponent;
float _PushWaveRange;
float _PushWaveOffset;
float _PushOpacity;
float _PushOpacityRangeMin;
float _PushOpacityRangeMax;
float _DisplacementOpacity;
float _DeviationOpacityExponent;
float _MeleeDisplacement;
float _MeleeShape;
float _MeleeFlattening;
float3 _MeleeDirection;
int _HitCount;
struct FieldHit
{
float3 Position;
float3 Direction;
float Magnitude;
float Time;
};
StructuredBuffer<FieldHit> _Hits;
uniform float3 _PushDirection;
uniform float3 _InverseScale;
uniform float4x4 _ReflRotate;
samplerCUBE _Offset;
float2 uv_MainTex;
sampler2D _NormalTex;
SamplerState sampler_NormalTex;
sampler2D _DispTex;
SamplerState sampler_DispTex;
struct HS_CONSTANT_DATA_OUTPUT
{
float Edges[4] : SV_TessFactor;
float Inside[2] : SV_InsideTessFactor;
};
struct appdata_t {
float4 vertex : POSITION;
float4 tangent : TANGENT;
};
// Apparently this uses VS_OUTPUT, but step is redundant.
void vertex_shader(inout appdata_t v) {}
HS_CONSTANT_DATA_OUTPUT constantsHS(InputPatch<appdata_t, 4> patch)
{
HS_CONSTANT_DATA_OUTPUT output;
output.Edges[0] = output.Edges[1] = output.Edges[2] = output.Edges[3] = _SubdivisionAmount;
output.Inside[0] = output.Inside[1] = _SubdivisionAmount;
return output;
}
// I think this is what they mean by fixedfunction. The tessellation part is fixedfunction.
[domain("quad")]
[partitioning("integer")] // [partitioning("fractional_odd")]
[outputtopology("triangle_cw")]
[outputcontrolpoints(4)]
[patchconstantfunc("constantsHS")]
appdata_t hull_shader(InputPatch<appdata_t, 4> patch, uint id : SV_OutputControlPointID)//, uint pid : SV_PrimitiveID)
{
return patch[id];
}
// Declare GBuffers.
struct structurePS
{
float4 albedo : SV_Target0;
float4 specular : SV_Target1;
float4 normal : SV_Target2;
float4 emission : SV_Target3;
//float depthSV : Depth;
};
// q = lerped position according to SV_DomainLocation.
// p = patch position, in sequential order [0], [1], etc...
// n = patch normal, in sequential order [0], [1], etc...
float3 PhongOperator(float3 q, float3 p, float3 n)
{
return q - dot(q - p, n) * n;
}
float smootherstep(float edge0, float edge1, float x) {
// Scale, and clamp x to 0..1 range
x = saturate((x - edge0) / (edge1 - edge0));
// Evaluate polynomial
return x * x * x * (x * (x * 6 - 15) + 10);
}
struct v2f {
float4 vertex : POSITION;
float4 tangent : TANGENT;
float3 normal : NORMAL;
float4 screenPos : TEXCOORD1;
float3 viewDirection : TEXCOORD2;
};
float3 SampleDisplacement (float3 normal)
{
float3 disp = 0;
float l = smoothstep(UNITY_PI, 0, acos(dot(_PushDirection,normal)));
float pushwave = pow((sin(pow(l, _PushWaveRangeExponent)*UNITY_PI*_PushWaveFrequency - _PushWaveOffset * UNITY_TWO_PI)+1)/2, _PushWaveExponent);
if(_PushWaveMagnitude<0) pushwave = 1-pushwave;
disp += normal * pow(l, _PushWaveEnvelopeExponent) * pushwave * abs(_PushWaveMagnitude);
float3 scaledNormal = normal/_InverseScale;
for(int i=0; i<_HitCount; i++)
{
FieldHit hit = _Hits[i];
float hitroot = sqrt(hit.Magnitude);
float invsqtime = pow(1-hit.Time, 4);
float3 toHit = hit.Position/_InverseScale-scaledNormal;
float envelope = pow(smoothstep(hit.Magnitude + 4, 0, length(toHit)), 8 / (hit.Time));
disp += lerp(hit.Direction, normal, hit.Time) * (envelope * pow(cos(envelope*hitroot*hit.Time*6)+1,2) * hitroot * invsqtime * _InverseScale.y);
}
if(_MeleeDisplacement>.01)
{
normal.y /= _MeleeFlattening;
normal = normalize(normal);
disp += _MeleeDirection * pow(saturate(1 - acos(dot(normal,_MeleeDirection))/(UNITY_PI/2)),_MeleeShape) * _MeleeDisplacement;
}
return disp;
//return texCUBElod(_Offset, float4(normal, 0)).r;
}
// DOMAIN SHADER.
// We process displacement in here apparently... Used to be a lot of things, a vertex struct, a pixel struct, this is the new one.
// a = top Mid Position.
// b = bottom Mid Position.
[domain("quad")]
v2f domain_shader(HS_CONSTANT_DATA_OUTPUT input, const OutputPatch<appdata_t, 4> patch, float2 UV : SV_DomainLocation)// : SV_POSITION
{
v2f output;
// Bilinear interpolation of position.
float3 a = lerp(patch[0].vertex, patch[1].vertex, UV.x);
float3 b = lerp(patch[3].vertex, patch[2].vertex, UV.x);
float3 newPosition = normalize(lerp(a, b, UV.y));
// Bilinear interpolation of normals.
float4 tangent_a = lerp(patch[0].tangent, patch[1].tangent, UV.x);
float4 tangent_b = lerp(patch[3].tangent, patch[2].tangent, UV.x);
// Output Data.
output.normal = newPosition;
output.tangent = lerp(tangent_a, tangent_b, UV.y);
float3 displacement = SampleDisplacement(newPosition);
// Displace vertices along surface normal vector.
float3 newVertexPos = newPosition + _InverseScale * displacement; // normalize(newPosition * _InverseScale)
// Output data.
output.vertex = UnityObjectToClipPos(float4(newVertexPos, 1));
output.screenPos = ComputeScreenPos(output.vertex);
// float3 objSpaceCameraPos = mul(unity_WorldToObject, float4(_WorldSpaceCameraPos.xyz, 1)).xyz;
// output.viewDirection = normalize(objSpaceCameraPos-newVertexPos);
output.viewDirection = normalize(WorldSpaceViewDir(float4(newVertexPos, 1)));
return output;
}
inline float4 AngleAxis (float radians, float3 axis)
{
radians *= 0.5;
axis = axis * sin(radians);
return float4(axis.x, axis.y, axis.z, cos(radians));
}
inline float3 Rotate (float4 rot, float3 v)
{
float3 a = rot.xyz * 2.0;
float3 r0 = rot.xyz * a;
float3 r1 = rot.xxy * a.yzz;
float3 r2 = a.xyz * rot.w;
return float3(
dot(v, float3(1.0 - (r0.y + r0.z), r1.x - r2.z, r1.y + r2.y)),
dot(v, float3(r1.x + r2.z, 1.0 - (r0.x + r0.z), r1.z - r2.x)),
dot(v, float3(r1.y - r2.y, r1.z + r2.x, 1.0 - (r0.x + r0.y))));
}
float3 CalculateNormal (float3 n, float4 t, float textureSize, out float height)
{
float pixel = 3.14159265 / textureSize;
float3 binormal = cross(n, t.xyz) * (t.w * unity_WorldTransformParams.w);
float3 x1 = Rotate(AngleAxis(pixel, binormal), n);
float3 z1 = Rotate(AngleAxis(pixel, t.xyz), n);
float3 nd = SampleDisplacement(n);
height = length(nd);
n += nd * _InverseScale;
x1 += SampleDisplacement(x1) * _InverseScale;
z1 += SampleDisplacement(z1) * _InverseScale;
float3 right = (x1 - n);
float3 forward = (z1 - n);
float3 normal = cross(right, forward);
normal = normalize(normal);
if (dot(normal, n) <= 0.0) normal = -normal;
return normal;
}
structurePS pixel_shader(v2f input) : SV_Target
{
structurePS deferredStruct;
deferredStruct.albedo.rgb = 0;
deferredStruct.albedo.a = 0;
deferredStruct.specular = 0;
input.normal = normalize(input.normal);
float height;
float3 normal = CalculateNormal(input.normal, input.tangent, 4096.0, height);
normal = UnityObjectToWorldNormal(normal);
float deviation = 1 - pow(abs(dot(UnityObjectToWorldNormal(input.normal), normal)), _DeviationOpacityExponent);
normal = dot(input.viewDirection, normal) > 0 ? normal : -normal;
float rim = dot(input.viewDirection, normal);
deferredStruct.normal = float4(normal * 0.5 + 0.5, 1);
deferredStruct.emission = float4(0, 0, 0, 1);
float3 dir = mul(_ReflRotate, refract(input.viewDirection,normal,_BackgroundFresnel));
//float lerp = smoothstep(UNITY_PI, 0, pow(acos(dot(_PushDirection,input.normal)), 2));
float2 screenUV = input.screenPos.xy / input.screenPos.w;
float l = pow(smoothstep(UNITY_PI * _PushOpacityRangeMin, UNITY_PI * _PushOpacityRangeMax, acos(dot(_PushDirection,input.normal))), 4);
ditherClip(screenUV, abs(height) * _DisplacementOpacity + deviation + l * _PushOpacity + pow(1-rim, _OpacityFresnel) * _FresnelOpacity);
deferredStruct.emission.rgb += texCUBElod(_Background, float4(dir, _BackgroundBlur)).rgb * _Emission * pow(rim,_EmissionFresnel) * _EmissionColor;
#ifndef UNITY_HDR_ON
deferredStruct.emission.rgb = exp2(-deferredStruct.emission.rgb);
#endif
return deferredStruct;
}
ENDCG
}
}
Fallback "Diffuse"
}

View file

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 8cdd48af96eb47745a96bca98f53d5bd
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:

View file

@ -210,9 +210,9 @@ float density(float3 pos)
#else
const float noise1 = pow(triNoise3d(pos / _NebulaNoiseScale), exponent);
const float noise2 = pow(triNoise3d(pos / _NebulaNoiseScale * 8), exponent);
pos.y += (noise1 - noise2) * heightFade * _NebulaNoiseAmplitude;
const float noise1 = pow(triNoise3d(pos / _NebulaNoiseScale), exponent) * _NebulaNoiseAmplitude;
const float noise2 = pow(triNoise3d(pos / _NebulaNoiseScale * 8), exponent) * _NebulaNoiseAmplitude / 2;
pos.y += (noise1 - noise2) * heightFade;
#endif
d += cloudDensity(pos, surfaceDisp);

BIN
Assets/Textures/squarecubedisp1.hdr (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,122 @@
fileFormatVersion: 2
guid: cecac3200c2daff4e9602525e0c6683f
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 0
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 10
textureShape: 1
singleChannelComponent: 1
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 4096
resizeAlgorithm: 0
textureFormat: 9
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
GameData/AetherDB.msgpack (Stored with Git LFS)

Binary file not shown.

View file

@ -1 +1 @@
{"hardpointType":8,"schematic":"","behaviors":[{"sensitivity":{"min":0.0001,"max":0.0001,"heatExponentMultiplier":1.0,"durabilityExponentMultiplier":0.0,"qualityExponent":1.5},"sensCurve":null,"pingBoost":{"min":10000.0,"max":20000.0,"heatExponentMultiplier":0.125,"durabilityExponentMultiplier":0.125,"qualityExponent":2.0},"pingEnergy":{"min":50.0,"max":50.0,"heatExponentMultiplier":1.0,"durabilityExponentMultiplier":0.0,"qualityExponent":0.0},"pingVisibility":{"min":5000.0,"max":1000.0,"heatExponentMultiplier":0.0,"durabilityExponentMultiplier":0.125,"qualityExponent":2.0},"pingRange":{"min":1000.0,"max":2000.0,"heatExponentMultiplier":0.125,"durabilityExponentMultiplier":0.125,"qualityExponent":2.0},"pingCooldown":{"min":5.0,"max":2.0,"heatExponentMultiplier":0.25,"durabilityExponentMultiplier":0.125,"qualityExponent":2.0},"pingDuration":2.0,"pingRadiusExponent":0.5,"group":0,"$type":"SensorData"}],"durability":50.0,"minTemp":200.0,"maxTemp":400.0,"heatCurve":null,"resilience":1.0,"actionIcon":null,"soundBank":0,"audioStats":[],"name":"The Bat","description":"","creator":"00000000-0000-0000-0000-000000000000","mass":10.0,"shape":{"name":[[true]]},"specificHeat":1.0,"conductivity":1.0,"price":75000,"id":"72859489-677a-47a4-ae04-550e582ba29e","$type":"GearData"}
{"hardpointType":8,"schematic":"","behaviors":[{"sensitivity":{"min":0.0001,"max":0.0001,"heatExponentMultiplier":1.0,"durabilityExponentMultiplier":0.0,"qualityExponent":1.5},"sensCurve":null,"pingBoost":{"min":10000.0,"max":20000.0,"heatExponentMultiplier":0.125,"durabilityExponentMultiplier":0.125,"qualityExponent":2.0},"pingEnergy":{"min":50.0,"max":50.0,"heatExponentMultiplier":1.0,"durabilityExponentMultiplier":0.0,"qualityExponent":0.0},"pingVisibility":{"min":5000.0,"max":1000.0,"heatExponentMultiplier":0.0,"durabilityExponentMultiplier":0.125,"qualityExponent":2.0},"pingRange":{"min":1000.0,"max":2000.0,"heatExponentMultiplier":0.125,"durabilityExponentMultiplier":0.125,"qualityExponent":2.0},"pingCooldown":{"min":5.0,"max":2.0,"heatExponentMultiplier":0.25,"durabilityExponentMultiplier":0.125,"qualityExponent":2.0},"pingDuration":2.0,"pingRadiusExponent":0.5,"group":0,"$type":"SensorData"}],"durability":50.0,"minTemp":200.0,"maxTemp":400.0,"heatCurve":{"keys":[]},"resilience":1.0,"actionIcon":"","soundBank":0,"audioStats":[],"name":"The Bat","description":"","creator":"d6466821-6776-4f40-9609-2342debf5c86","mass":10.0,"shape":{"name":[[true]]},"specificHeat":1.0,"conductivity":1.0,"price":75000,"id":"72859489-677a-47a4-ae04-550e582ba29e","$type":"GearData"}

View file

@ -1 +1 @@
{"hardpointType":8,"schematic":"","behaviors":[{"sensitivity":{"min":0.25,"max":1.5,"heatExponentMultiplier":0.4,"durabilityExponentMultiplier":0.4,"qualityExponent":1.5},"sensCurve":{"keys":[[0.0,1.0,0.0,0.0],[1.0,0.0,-1.76562428,-1.76562428]]},"pingBoost":{"min":5.0,"max":15.0,"heatExponentMultiplier":0.0625,"durabilityExponentMultiplier":0.125,"qualityExponent":2.0},"pingEnergy":{"min":150.0,"max":100.0,"heatExponentMultiplier":0.25,"durabilityExponentMultiplier":0.25,"qualityExponent":2.0},"pingVisibility":{"min":5000.0,"max":1000.0,"heatExponentMultiplier":0.5,"durabilityExponentMultiplier":0.25,"qualityExponent":2.0},"pingRange":{"min":1000.0,"max":5000.0,"heatExponentMultiplier":0.125,"durabilityExponentMultiplier":0.25,"qualityExponent":2.0},"pingCooldown":{"min":20.0,"max":5.0,"heatExponentMultiplier":0.125,"durabilityExponentMultiplier":0.125,"qualityExponent":2.0},"pingDuration":2.0,"pingRadiusExponent":0.5,"group":0,"$type":"SensorData"}],"durability":50.0,"minTemp":200.0,"maxTemp":400.0,"heatCurve":{"keys":[[0.0,0.0,8.389394,8.389394],[0.357228935,0.8660065,-2.46956825,-2.46956825],[1.0,0.0,-0.6179685,-0.6179685]]},"resilience":1.0,"actionIcon":null,"soundBank":0,"audioStats":[],"name":"not if i see you first","description":"[TODO]","creator":"8419f9bc-0167-46ec-86c3-3265d2905fbc","mass":200.0,"shape":{"name":[[true,true],[true,true]]},"specificHeat":1.0,"conductivity":1.0,"price":250000,"id":"480d6cc4-cd8a-49b6-9c89-211033e7c1d5","$type":"GearData"}
{"hardpointType":8,"schematic":"","behaviors":[{"sensitivity":{"min":0.25,"max":1.5,"heatExponentMultiplier":0.4,"durabilityExponentMultiplier":0.4,"qualityExponent":1.5},"sensCurve":{"keys":[[0.0,1.0,0.0,0.0],[1.0,0.0,-1.76562428,-1.76562428]]},"pingBoost":{"min":5.0,"max":15.0,"heatExponentMultiplier":0.0625,"durabilityExponentMultiplier":0.125,"qualityExponent":2.0},"pingEnergy":{"min":150.0,"max":100.0,"heatExponentMultiplier":0.25,"durabilityExponentMultiplier":0.25,"qualityExponent":2.0},"pingVisibility":{"min":5000.0,"max":1000.0,"heatExponentMultiplier":0.5,"durabilityExponentMultiplier":0.25,"qualityExponent":2.0},"pingRange":{"min":1000.0,"max":5000.0,"heatExponentMultiplier":0.125,"durabilityExponentMultiplier":0.25,"qualityExponent":2.0},"pingCooldown":{"min":20.0,"max":5.0,"heatExponentMultiplier":0.125,"durabilityExponentMultiplier":0.125,"qualityExponent":2.0},"pingDuration":2.0,"pingRadiusExponent":0.5,"group":0,"$type":"SensorData"}],"durability":50.0,"minTemp":200.0,"maxTemp":400.0,"heatCurve":{"keys":[[0.0,0.0,8.389394,8.389394],[0.357228935,0.8660065,-2.46956825,-2.46956825],[1.0,0.0,-0.6179685,-0.6179685]]},"resilience":1.0,"actionIcon":null,"soundBank":0,"audioStats":[],"name":"not if i see you first","description":"[TODO]","creator":"8419f9bc-0167-46ec-86c3-3265d2905fbc","mass":200.0,"shape":{"name":[[true]]},"specificHeat":1.0,"conductivity":1.0,"price":250000,"id":"480d6cc4-cd8a-49b6-9c89-211033e7c1d5","$type":"GearData"}

BIN
UserSettings/EditorUserSettings.asset (Stored with Git LFS)

Binary file not shown.

View file

@ -24,7 +24,7 @@ MonoBehaviour:
m_MinSize: {x: 400, y: 200}
m_MaxSize: {x: 32384, y: 16192}
vertical: 0
controlID: 16385
controlID: -1
--- !u!114 &2
MonoBehaviour:
m_ObjectHideFlags: 52
@ -47,9 +47,9 @@ MonoBehaviour:
m_Pos:
serializedVersion: 2
x: 71
y: 401
width: 1109
height: 638
y: 475
width: 1159
height: 564
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
m_LastAppliedPresetName: Default
@ -64,11 +64,11 @@ MonoBehaviour:
m_TextureFilterMode: 0
m_TextureHideFlags: 61
m_RenderIMGUI: 1
m_EnterPlayModeBehavior: 1
m_EnterPlayModeBehavior: 0
m_UseMipMap: 0
m_VSyncEnabled: 0
m_Gizmos: 0
m_Stats: 1
m_Stats: 0
m_SelectedSizes: 0a000000000000000000000000000000000000000000000000000000000000000000000000000000
m_ZoomArea:
m_HRangeLocked: 0
@ -96,23 +96,23 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 21
width: 1109
height: 617
m_Scale: {x: 0.5712963, y: 0.5712963}
m_Translation: {x: 554.5, y: 308.5}
width: 1159
height: 543
m_Scale: {x: 0.50277776, y: 0.50277776}
m_Translation: {x: 579.5, y: 271.5}
m_MarginLeft: 0
m_MarginRight: 0
m_MarginTop: 0
m_MarginBottom: 0
m_LastShownAreaInsideMargins:
serializedVersion: 2
x: -970.59973
x: -1152.5967
y: -540
width: 1941.1995
width: 2305.1934
height: 1080
m_MinimalGUI: 1
m_defaultScale: 0.5712963
m_LastWindowPixelSize: {x: 1109, y: 638}
m_defaultScale: 0.50277776
m_LastWindowPixelSize: {x: 1159, y: 564}
m_ClearInEditMode: 1
m_NoCameraWarning: 1
m_LowResolutionForAspectRatios: 01000000000000000000
@ -137,12 +137,12 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
width: 1502
width: 1495
height: 987
m_MinSize: {x: 300, y: 200}
m_MaxSize: {x: 24288, y: 16192}
vertical: 0
controlID: 16386
controlID: -1
--- !u!114 &4
MonoBehaviour:
m_ObjectHideFlags: 52
@ -162,12 +162,12 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
width: 1110
width: 1160
height: 987
m_MinSize: {x: 200, y: 200}
m_MaxSize: {x: 16192, y: 16192}
vertical: 1
controlID: 16387
controlID: -1
--- !u!114 &5
MonoBehaviour:
m_ObjectHideFlags: 52
@ -187,12 +187,12 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
width: 1110
height: 328
width: 1160
height: 402
m_MinSize: {x: 200, y: 100}
m_MaxSize: {x: 16192, y: 8096}
vertical: 0
controlID: 16388
controlID: 90656
--- !u!114 &6
MonoBehaviour:
m_ObjectHideFlags: 52
@ -210,8 +210,8 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
width: 618
height: 328
width: 566
height: 402
m_MinSize: {x: 201, y: 221}
m_MaxSize: {x: 4001, y: 4021}
m_ActualView: {fileID: 7}
@ -242,8 +242,8 @@ MonoBehaviour:
serializedVersion: 2
x: 71
y: 73
width: 617
height: 307
width: 565
height: 381
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
m_LastAppliedPresetName: Default
@ -460,16 +460,16 @@ MonoBehaviour:
m_WindowGUID: cc27987af1a868c49b0894db9c0f5429
m_Gizmos: 1
m_OverrideSceneCullingMask: 6917529027641081856
m_SceneIsLit: 1
m_SceneIsLit: 0
m_SceneLighting: 1
m_2DMode: 0
m_isRotationLocked: 0
m_PlayAudio: 0
m_AudioPlay: 0
m_Position:
m_Target: {x: 1335.9846, y: 518.3579, z: 361.58807}
m_Target: {x: 1104, y: 48, z: 0}
speed: 2
m_Value: {x: 1335.9846, y: 518.3579, z: 361.58807}
m_Value: {x: 81.838005, y: -99.80969, z: -20.916882}
m_RenderMode: 0
m_CameraMode:
drawMode: 0
@ -483,7 +483,7 @@ MonoBehaviour:
showFog: 1
showSkybox: 1
showFlares: 1
showImageEffects: 0
showImageEffects: 1
showParticleSystems: 1
showVisualEffectGraphs: 1
m_FxEnabled: 1
@ -516,13 +516,13 @@ MonoBehaviour:
m_GridAxis: 1
m_gridOpacity: 0.5
m_Rotation:
m_Target: {x: 0.032562427, y: 0.20897013, z: -0.006993029, w: 0.9773888}
m_Target: {x: 0.08816222, y: 0.027467065, z: -0.0012840665, w: 0.9965588}
speed: 2
m_Value: {x: -0.032562427, y: -0.20897013, z: 0.0069930283, w: -0.9773888}
m_Value: {x: -0.14626138, y: 0.401688, z: -0.06515645, w: -0.9016746}
m_Size:
m_Target: 532.6635
m_Target: 45.254833
speed: 2
m_Value: 532.6635
m_Value: 132.89627
m_Ortho:
m_Target: 0
speed: 2
@ -537,8 +537,8 @@ MonoBehaviour:
m_AccelerationEnabled: 1
m_FieldOfViewHorizontalOrVertical: 60
m_NearClip: 0.03
m_FarClip: 4096
m_DynamicClip: 0
m_FarClip: 10000
m_DynamicClip: 1
m_OcclusionCulling: 0
m_LastSceneViewRotation: {x: 0, y: 0, z: 0, w: 0}
m_LastSceneViewOrtho: 0
@ -562,10 +562,10 @@ MonoBehaviour:
m_Children: []
m_Position:
serializedVersion: 2
x: 618
x: 566
y: 0
width: 492
height: 328
width: 594
height: 402
m_MinSize: {x: 102, y: 121}
m_MaxSize: {x: 4002, y: 4021}
m_ActualView: {fileID: 9}
@ -594,10 +594,10 @@ MonoBehaviour:
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 689
x: 637
y: 73
width: 490
height: 307
width: 592
height: 381
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
m_LastAppliedPresetName: Default
@ -618,9 +618,9 @@ MonoBehaviour:
m_Position:
serializedVersion: 2
x: 0
y: 328
width: 1110
height: 659
y: 402
width: 1160
height: 585
m_MinSize: {x: 201, y: 221}
m_MaxSize: {x: 4001, y: 4021}
m_ActualView: {fileID: 2}
@ -645,14 +645,14 @@ MonoBehaviour:
- {fileID: 14}
m_Position:
serializedVersion: 2
x: 1110
x: 1160
y: 0
width: 392
width: 335
height: 987
m_MinSize: {x: 100, y: 200}
m_MaxSize: {x: 8096, y: 16192}
vertical: 1
controlID: 16292
controlID: 90698
--- !u!114 &12
MonoBehaviour:
m_ObjectHideFlags: 52
@ -670,10 +670,10 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
width: 392
width: 335
height: 534
m_MinSize: {x: 201, y: 221}
m_MaxSize: {x: 4001, y: 4021}
m_MinSize: {x: 202, y: 221}
m_MaxSize: {x: 4002, y: 4021}
m_ActualView: {fileID: 13}
m_Panes:
- {fileID: 13}
@ -700,9 +700,9 @@ MonoBehaviour:
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 1181
x: 1231
y: 73
width: 390
width: 333
height: 513
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
@ -711,9 +711,9 @@ MonoBehaviour:
m_SceneHierarchy:
m_TreeViewState:
scrollPos: {x: 0, y: 0}
m_SelectedIDs: 24760000
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs: 2e1cfaff4c55fcff44e3ffffdcfaffff086b0000d06b00003c6d00004a6e00006a6f0000b46f000034720000407200009e720000b6740000f27400006ab70000cc0901003c0a0100220e0100440e0100f0510100
m_ExpandedIDs: 8c96ffff
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -754,7 +754,7 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 534
width: 392
width: 335
height: 453
m_MinSize: {x: 232, y: 271}
m_MaxSize: {x: 10002, y: 10021}
@ -784,9 +784,9 @@ MonoBehaviour:
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 1181
x: 1231
y: 607
width: 390
width: 333
height: 432
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
@ -805,22 +805,22 @@ MonoBehaviour:
m_SkipHidden: 0
m_SearchArea: 1
m_Folders:
- Assets/Materials
- Assets
m_Globs: []
m_OriginalText:
m_ViewMode: 1
m_StartGridSize: 16
m_LastFolders:
- Assets/Materials
- Assets
m_LastFoldersGridSize: 16
m_LastProjectPath: E:\Projects\Aetheria-Economy
m_LockTracker:
m_IsLocked: 0
m_FolderTreeState:
scrollPos: {x: 0, y: 20}
m_SelectedIDs: 2c910000
m_LastClickedID: 37164
m_ExpandedIDs: 000000002a9100002c9100002e910000309100003291000034910000369100003a9100003c9100003e91000040910000bc91000000ca9a3b
scrollPos: {x: 0, y: 0}
m_SelectedIDs: fc900000
m_LastClickedID: 37116
m_ExpandedIDs: 00000000fc900000029100000a9100000c9100000e91000010910000129100004e910000569100005a91000062910000c49f000064a10000aca4000040a50000f2a8000004aa0000c0aa00004cb10000fab2000000ca9a3b
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -848,7 +848,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0}
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs: 000000002a9100002c9100002e910000309100003291000034910000369100003a9100003c9100003e91000040910000bc91000000ca9a3b
m_ExpandedIDs: 00000000fc900000029100000a9100000c9100000e91000010910000129100004e910000569100005a91000062910000c49f000064a10000aca4000040a50000f2a8000004aa0000c0aa00004cb10000fab2000000ca9a3b
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -873,10 +873,10 @@ MonoBehaviour:
m_Icon: {fileID: 0}
m_ResourceFile:
m_ListAreaState:
m_SelectedInstanceIDs: 24760000
m_LastClickedInstanceID: 30244
m_SelectedInstanceIDs:
m_LastClickedInstanceID: 0
m_HadKeyboardFocusLastEvent: 0
m_ExpandedInstanceIDs: c6230000b2db0000fefa00000cfb0000
m_ExpandedInstanceIDs: c6230000
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -892,7 +892,7 @@ MonoBehaviour:
m_IsRenaming: 0
m_OriginalEventType: 11
m_IsRenamingFilename: 1
m_ClientGUIView: {fileID: 14}
m_ClientGUIView: {fileID: 0}
m_CreateAssetUtility:
m_EndAction: {fileID: 0}
m_InstanceID: 0
@ -900,10 +900,10 @@ MonoBehaviour:
m_Icon: {fileID: 0}
m_ResourceFile:
m_NewAssetIndexInList: -1
m_ScrollPosition: {x: 0, y: 207}
m_ScrollPosition: {x: 0, y: 0}
m_GridSize: 16
m_SkipHiddenPackages: 0
m_DirectoriesAreaWidth: 177
m_DirectoriesAreaWidth: 207
--- !u!114 &16
MonoBehaviour:
m_ObjectHideFlags: 52
@ -914,23 +914,22 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
m_Name: InspectorWindow
m_Name:
m_EditorClassIdentifier:
m_Children: []
m_Position:
serializedVersion: 2
x: 1502
x: 1495
y: 0
width: 347
width: 354
height: 987
m_MinSize: {x: 276, y: 71}
m_MaxSize: {x: 4001, y: 4021}
m_ActualView: {fileID: 17}
m_Panes:
- {fileID: 17}
- {fileID: 18}
m_Selected: 0
m_LastSelected: 1
m_LastSelected: 0
--- !u!114 &17
MonoBehaviour:
m_ObjectHideFlags: 52
@ -952,9 +951,9 @@ MonoBehaviour:
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 1573
x: 1566
y: 73
width: 346
width: 353
height: 966
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
@ -963,42 +962,13 @@ MonoBehaviour:
m_ObjectsLockedBeforeSerialization: []
m_InstanceIDsLockedBeforeSerialization:
m_PreviewResizer:
m_CachedPref: 330
m_CachedPref: 160
m_ControlHash: -371814159
m_PrefName: Preview_InspectorPreview
m_LastInspectedObjectInstanceID: -1
m_LastVerticalScrollValue: 584
m_LastVerticalScrollValue: 0
m_GlobalObjectId:
m_InspectorMode: 0
m_LockTracker:
m_IsLocked: 0
m_PreviewWindow: {fileID: 0}
--- !u!114 &18
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 12079, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_MinSize: {x: 390, y: 390}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
m_Text: Lighting
m_Image: {fileID: -1347227620855488341, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 1573
y: 73
width: 346
height: 966
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
m_LastAppliedPresetName: Default
m_SaveData: []

View file

@ -1,30 +1,6 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &1
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_PixelRect:
serializedVersion: 2
x: -895
y: 966
width: 823
height: 592
m_ShowMode: 0
m_Title: Recorder
m_RootView: {fileID: 4}
m_MinSize: {x: 560, y: 221}
m_MaxSize: {x: 4000, y: 4021}
m_Maximized: 0
--- !u!114 &2
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -43,113 +19,12 @@ MonoBehaviour:
width: 1849
height: 1037
m_ShowMode: 4
m_Title: Game
m_RootView: {fileID: 7}
m_Title: Scene
m_RootView: {fileID: 2}
m_MinSize: {x: 875, y: 371}
m_MaxSize: {x: 10000, y: 10000}
m_Maximized: 1
--- !u!114 &3
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
m_Name: RecorderWindow
m_EditorClassIdentifier:
m_Children: []
m_Position:
serializedVersion: 2
x: 0
y: 0
width: 823
height: 592
m_MinSize: {x: 560, y: 200}
m_MaxSize: {x: 4000, y: 4000}
m_ActualView: {fileID: 18}
m_Panes:
- {fileID: 18}
m_Selected: 0
m_LastSelected: 0
--- !u!114 &4
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_Children:
- {fileID: 3}
m_Position:
serializedVersion: 2
x: 0
y: 0
width: 823
height: 592
m_MinSize: {x: 560, y: 221}
m_MaxSize: {x: 4000, y: 4021}
vertical: 0
controlID: 217
--- !u!114 &5
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
m_Name: ConsoleWindow
m_EditorClassIdentifier:
m_Children: []
m_Position:
serializedVersion: 2
x: 553
y: 0
width: 694
height: 258
m_MinSize: {x: 102, y: 121}
m_MaxSize: {x: 4002, y: 4021}
m_ActualView: {fileID: 21}
m_Panes:
- {fileID: 21}
m_Selected: 0
m_LastSelected: 0
--- !u!114 &6
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_Children:
- {fileID: 12}
- {fileID: 5}
m_Position:
serializedVersion: 2
x: 0
y: 0
width: 1247
height: 258
m_MinSize: {x: 200, y: 100}
m_MaxSize: {x: 16192, y: 8096}
vertical: 0
controlID: 63
--- !u!114 &7
--- !u!114 &2
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -162,9 +37,9 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Children:
- {fileID: 8}
- {fileID: 10}
- {fileID: 9}
- {fileID: 3}
- {fileID: 5}
- {fileID: 4}
m_Position:
serializedVersion: 2
x: 0
@ -177,7 +52,7 @@ MonoBehaviour:
m_TopViewHeight: 30
m_UseBottomView: 1
m_BottomViewHeight: 20
--- !u!114 &8
--- !u!114 &3
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -199,7 +74,7 @@ MonoBehaviour:
m_MinSize: {x: 0, y: 0}
m_MaxSize: {x: 0, y: 0}
m_LastLoadedLayoutName:
--- !u!114 &9
--- !u!114 &4
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -220,7 +95,7 @@ MonoBehaviour:
height: 20
m_MinSize: {x: 0, y: 0}
m_MaxSize: {x: 0, y: 0}
--- !u!114 &10
--- !u!114 &5
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -233,9 +108,9 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Children:
- {fileID: 6}
- {fileID: 11}
- {fileID: 14}
- {fileID: 17}
m_Position:
serializedVersion: 2
x: 0
@ -245,8 +120,8 @@ MonoBehaviour:
m_MinSize: {x: 400, y: 200}
m_MaxSize: {x: 32384, y: 16192}
vertical: 0
controlID: 61
--- !u!114 &11
controlID: 6613
--- !u!114 &6
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -259,19 +134,44 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Children:
- {fileID: 6}
- {fileID: 13}
- {fileID: 7}
- {fileID: 10}
m_Position:
serializedVersion: 2
x: 0
y: 0
width: 1247
width: 1214
height: 987
m_MinSize: {x: 200, y: 200}
m_MaxSize: {x: 16192, y: 16192}
vertical: 1
controlID: 62
--- !u!114 &12
controlID: 6614
--- !u!114 &7
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_Children:
- {fileID: 8}
- {fileID: 9}
m_Position:
serializedVersion: 2
x: 0
y: 0
width: 1214
height: 504
m_MinSize: {x: 200, y: 100}
m_MaxSize: {x: 16192, y: 8096}
vertical: 0
controlID: 6615
--- !u!114 &8
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -288,16 +188,42 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
width: 553
height: 258
width: 753
height: 504
m_MinSize: {x: 201, y: 221}
m_MaxSize: {x: 4001, y: 4021}
m_ActualView: {fileID: 20}
m_ActualView: {fileID: 15}
m_Panes:
- {fileID: 20}
- {fileID: 15}
m_Selected: 0
m_LastSelected: 0
--- !u!114 &13
--- !u!114 &9
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
m_Name: ConsoleWindow
m_EditorClassIdentifier:
m_Children: []
m_Position:
serializedVersion: 2
x: 753
y: 0
width: 461
height: 504
m_MinSize: {x: 102, y: 121}
m_MaxSize: {x: 4002, y: 4021}
m_ActualView: {fileID: 16}
m_Panes:
- {fileID: 16}
m_Selected: 0
m_LastSelected: 0
--- !u!114 &10
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -313,17 +239,17 @@ MonoBehaviour:
m_Position:
serializedVersion: 2
x: 0
y: 258
width: 1247
height: 729
y: 504
width: 1214
height: 483
m_MinSize: {x: 201, y: 221}
m_MaxSize: {x: 4001, y: 4021}
m_ActualView: {fileID: 19}
m_ActualView: {fileID: 17}
m_Panes:
- {fileID: 19}
- {fileID: 17}
m_Selected: 0
m_LastSelected: 0
--- !u!114 &14
--- !u!114 &11
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -336,19 +262,19 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Children:
- {fileID: 15}
- {fileID: 16}
- {fileID: 12}
- {fileID: 13}
m_Position:
serializedVersion: 2
x: 1247
x: 1214
y: 0
width: 277
width: 266
height: 987
m_MinSize: {x: 100, y: 200}
m_MaxSize: {x: 8096, y: 16192}
vertical: 1
controlID: 100
--- !u!114 &15
controlID: 6489
--- !u!114 &12
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -365,16 +291,16 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
width: 277
width: 266
height: 534
m_MinSize: {x: 200, y: 200}
m_MaxSize: {x: 4000, y: 4000}
m_ActualView: {fileID: 22}
m_MinSize: {x: 201, y: 221}
m_MaxSize: {x: 4001, y: 4021}
m_ActualView: {fileID: 18}
m_Panes:
- {fileID: 22}
- {fileID: 18}
m_Selected: 0
m_LastSelected: 0
--- !u!114 &16
--- !u!114 &13
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -391,16 +317,16 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 534
width: 277
width: 266
height: 453
m_MinSize: {x: 232, y: 271}
m_MaxSize: {x: 10002, y: 10021}
m_ActualView: {fileID: 23}
m_ActualView: {fileID: 19}
m_Panes:
- {fileID: 23}
- {fileID: 19}
m_Selected: 0
m_LastSelected: 0
--- !u!114 &17
--- !u!114 &14
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -415,140 +341,19 @@ MonoBehaviour:
m_Children: []
m_Position:
serializedVersion: 2
x: 1524
x: 1480
y: 0
width: 325
width: 369
height: 987
m_MinSize: {x: 276, y: 71}
m_MaxSize: {x: 4001, y: 4021}
m_ActualView: {fileID: 24}
m_ActualView: {fileID: 20}
m_Panes:
- {fileID: 24}
- {fileID: 25}
- {fileID: 20}
- {fileID: 21}
m_Selected: 0
m_LastSelected: 1
--- !u!114 &18
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7c66a740a74845a08dc18bab7f2ffa03, type: 3}
m_Name:
m_EditorClassIdentifier:
m_MinSize: {x: 560, y: 200}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
m_Text: Recorder
m_Image: {fileID: 0}
m_Tooltip:
m_Pos:
serializedVersion: 2
x: -895
y: 966
width: 823
height: 571
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
m_LastAppliedPresetName: Default
m_SaveData: []
--- !u!114 &19
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_MinSize: {x: 200, y: 200}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
m_Text: Game
m_Image: {fileID: -6423792434712278376, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 71
y: 331
width: 1246
height: 708
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
m_LastAppliedPresetName: Default
m_SaveData: []
m_SerializedViewNames: []
m_SerializedViewValues: []
m_PlayModeViewName: GameView
m_ShowGizmos: 0
m_TargetDisplay: 0
m_ClearColor: {r: 0, g: 0, b: 0, a: 0}
m_TargetSize: {x: 1920, y: 1080}
m_TextureFilterMode: 0
m_TextureHideFlags: 61
m_RenderIMGUI: 1
m_EnterPlayModeBehavior: 0
m_UseMipMap: 0
m_VSyncEnabled: 0
m_Gizmos: 0
m_Stats: 1
m_SelectedSizes: 0a000000000000000000000000000000000000000000000000000000000000000000000000000000
m_ZoomArea:
m_HRangeLocked: 0
m_VRangeLocked: 0
hZoomLockedByDefault: 0
vZoomLockedByDefault: 0
m_HBaseRangeMin: -960
m_HBaseRangeMax: 960
m_VBaseRangeMin: -540
m_VBaseRangeMax: 540
m_HAllowExceedBaseRangeMin: 1
m_HAllowExceedBaseRangeMax: 1
m_VAllowExceedBaseRangeMin: 1
m_VAllowExceedBaseRangeMax: 1
m_ScaleWithWindow: 0
m_HSlider: 0
m_VSlider: 0
m_IgnoreScrollWheelUntilClicked: 0
m_EnableMouseInput: 1
m_EnableSliderZoomHorizontal: 0
m_EnableSliderZoomVertical: 0
m_UniformScale: 1
m_UpDirection: 1
m_DrawArea:
serializedVersion: 2
x: 0
y: 21
width: 1246
height: 687
m_Scale: {x: 0.63611114, y: 0.63611114}
m_Translation: {x: 623, y: 343.50003}
m_MarginLeft: 0
m_MarginRight: 0
m_MarginTop: 0
m_MarginBottom: 0
m_LastShownAreaInsideMargins:
serializedVersion: 2
x: -979.3886
y: -540
width: 1958.7772
height: 1080
m_MinimalGUI: 1
m_defaultScale: 0.63611114
m_LastWindowPixelSize: {x: 1246, y: 708}
m_ClearInEditMode: 1
m_NoCameraWarning: 1
m_LowResolutionForAspectRatios: 01000000000000000000
m_XRRenderMode: 0
m_RenderTexture: {fileID: 0}
--- !u!114 &20
--- !u!114 &15
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -571,8 +376,8 @@ MonoBehaviour:
serializedVersion: 2
x: 71
y: 73
width: 552
height: 237
width: 752
height: 483
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
m_LastAppliedPresetName: Default
@ -787,7 +592,7 @@ MonoBehaviour:
index: 10
layout: 4
m_WindowGUID: cc27987af1a868c49b0894db9c0f5429
m_Gizmos: 1
m_Gizmos: 0
m_OverrideSceneCullingMask: 6917529027641081856
m_SceneIsLit: 1
m_SceneLighting: 1
@ -796,9 +601,9 @@ MonoBehaviour:
m_PlayAudio: 0
m_AudioPlay: 0
m_Position:
m_Target: {x: 158.30237, y: 71.39331, z: -47.41266}
m_Target: {x: -3.6876678, y: -144.84021, z: -499.2345}
speed: 2
m_Value: {x: 158.30237, y: 71.39331, z: -47.41266}
m_Value: {x: -3.6876678, y: -144.84021, z: -499.2345}
m_RenderMode: 0
m_CameraMode:
drawMode: 0
@ -808,14 +613,14 @@ MonoBehaviour:
m_DoValidateTrueMetals: 0
m_ExposureSliderValue: 0
m_SceneViewState:
m_AlwaysRefresh: 0
m_AlwaysRefresh: 1
showFog: 1
showSkybox: 1
showFlares: 1
showImageEffects: 0
showImageEffects: 1
showParticleSystems: 1
showVisualEffectGraphs: 1
m_FxEnabled: 0
m_FxEnabled: 1
m_Grid:
xGrid:
m_Fade:
@ -837,21 +642,21 @@ MonoBehaviour:
m_Fade:
m_Target: 0
speed: 2
m_Value: 0
m_Value: 1
m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4}
m_Pivot: {x: 0, y: 0, z: 0}
m_Size: {x: 0, y: 0}
m_Size: {x: 1, y: 1}
m_ShowGrid: 1
m_GridAxis: 1
m_gridOpacity: 0.5
m_Rotation:
m_Target: {x: -0.22480851, y: 0.43145123, z: -0.11186323, w: -0.86652446}
m_Target: {x: -0.08627722, y: 0.54903007, z: -0.056360822, w: -0.8296622}
speed: 2
m_Value: {x: -0.22480099, y: 0.43143678, z: -0.111859486, w: -0.86649543}
m_Value: {x: -0.08750409, y: 0.5488369, z: -0.0571735, w: -0.82936865}
m_Size:
m_Target: 532.6635
m_Target: 9.692771
speed: 2
m_Value: 532.6635
m_Value: 9.68545
m_Ortho:
m_Target: 0
speed: 2
@ -869,14 +674,14 @@ MonoBehaviour:
m_FarClip: 4096
m_DynamicClip: 0
m_OcclusionCulling: 0
m_LastSceneViewRotation: {x: 0, y: 0, z: 0, w: 0}
m_LastSceneViewRotation: {x: -0.060306873, y: 0.5177287, z: -0.035882633, w: -0.8528912}
m_LastSceneViewOrtho: 0
m_ReplacementShader: {fileID: 0}
m_ReplacementString:
m_SceneVisActive: 1
m_LastLockedObject: {fileID: 0}
m_ViewIsLockedToObject: 0
--- !u!114 &21
--- !u!114 &16
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -897,15 +702,108 @@ MonoBehaviour:
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 624
x: 824
y: 73
width: 692
height: 237
width: 459
height: 483
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
m_LastAppliedPresetName: Default
m_SaveData: []
--- !u!114 &22
--- !u!114 &17
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_MinSize: {x: 200, y: 200}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
m_Text: Game
m_Image: {fileID: -6423792434712278376, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 71
y: 577
width: 1213
height: 462
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
m_LastAppliedPresetName: Default
m_SaveData: []
m_SerializedViewNames: []
m_SerializedViewValues: []
m_PlayModeViewName: GameView
m_ShowGizmos: 0
m_TargetDisplay: 0
m_ClearColor: {r: 0, g: 0, b: 0, a: 0}
m_TargetSize: {x: 1920, y: 1080}
m_TextureFilterMode: 0
m_TextureHideFlags: 61
m_RenderIMGUI: 1
m_EnterPlayModeBehavior: 0
m_UseMipMap: 0
m_VSyncEnabled: 0
m_Gizmos: 0
m_Stats: 1
m_SelectedSizes: 0a000000000000000000000000000000000000000000000000000000000000000000000000000000
m_ZoomArea:
m_HRangeLocked: 0
m_VRangeLocked: 0
hZoomLockedByDefault: 0
vZoomLockedByDefault: 0
m_HBaseRangeMin: -960
m_HBaseRangeMax: 960
m_VBaseRangeMin: -540
m_VBaseRangeMax: 540
m_HAllowExceedBaseRangeMin: 1
m_HAllowExceedBaseRangeMax: 1
m_VAllowExceedBaseRangeMin: 1
m_VAllowExceedBaseRangeMax: 1
m_ScaleWithWindow: 0
m_HSlider: 0
m_VSlider: 1
m_IgnoreScrollWheelUntilClicked: 0
m_EnableMouseInput: 1
m_EnableSliderZoomHorizontal: 0
m_EnableSliderZoomVertical: 0
m_UniformScale: 1
m_UpDirection: 1
m_DrawArea:
serializedVersion: 2
x: 0
y: 21
width: 1213
height: 441
m_Scale: {x: 0.42777777, y: 0.4277778}
m_Translation: {x: 606.5, y: 220.5}
m_MarginLeft: 0
m_MarginRight: 0
m_MarginTop: 0
m_MarginBottom: 0
m_LastShownAreaInsideMargins:
serializedVersion: 2
x: -1417.7922
y: -515.4545
width: 2835.5845
height: 1030.909
m_MinimalGUI: 1
m_defaultScale: 0.42777777
m_LastWindowPixelSize: {x: 1213, y: 462}
m_ClearInEditMode: 1
m_NoCameraWarning: 1
m_LowResolutionForAspectRatios: 01000000000000000000
m_XRRenderMode: 0
m_RenderTexture: {fileID: 0}
--- !u!114 &18
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -926,9 +824,9 @@ MonoBehaviour:
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 1318
x: 1285
y: 73
width: 275
width: 264
height: 513
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
@ -937,9 +835,9 @@ MonoBehaviour:
m_SceneHierarchy:
m_TreeViewState:
scrollPos: {x: 0, y: 0}
m_SelectedIDs: 64760000
m_LastClickedID: 0
m_ExpandedIDs: dcfaffff
m_SelectedIDs: e892fcff
m_LastClickedID: -224536
m_ExpandedIDs: aa82faffea92fcff3895fcffd4faffff4e720000
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -955,7 +853,7 @@ MonoBehaviour:
m_IsRenaming: 0
m_OriginalEventType: 11
m_IsRenamingFilename: 0
m_ClientGUIView: {fileID: 0}
m_ClientGUIView: {fileID: 12}
m_SearchString:
m_ExpandedScenes: []
m_CurrenRootInstanceID: 0
@ -963,7 +861,7 @@ MonoBehaviour:
m_IsLocked: 0
m_CurrentSortingName: TransformSorting
m_WindowGUID: 4c969a2b90040154d917609493e03593
--- !u!114 &23
--- !u!114 &19
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -984,9 +882,9 @@ MonoBehaviour:
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 1318
x: 1285
y: 607
width: 275
width: 264
height: 432
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
@ -1005,22 +903,22 @@ MonoBehaviour:
m_SkipHidden: 0
m_SearchArea: 1
m_Folders:
- Assets/Resources
- Assets/Shaders
m_Globs: []
m_OriginalText:
m_ViewMode: 1
m_StartGridSize: 16
m_LastFolders:
- Assets/Resources
- Assets/Shaders
m_LastFoldersGridSize: 16
m_LastProjectPath: E:\Projects\Aetheria-Economy
m_LockTracker:
m_IsLocked: 0
m_FolderTreeState:
scrollPos: {x: 0, y: 236}
m_SelectedIDs: 2c910000
m_LastClickedID: 37164
m_ExpandedIDs: 00000000229100002491000026910000289100002a9100002c9100002e910000309100003291000034910000369100003891000000ca9a3b
scrollPos: {x: 0, y: 324}
m_SelectedIDs: 3a910000
m_LastClickedID: 37178
m_ExpandedIDs: 000000002c9100002e91000030910000329100003491000036910000389100003a9100003c9100003e910000409100004291000000ca9a3b
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -1048,7 +946,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0}
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs: 00000000229100002491000026910000289100002a9100002c9100002e9100003091000032910000349100003691000038910000
m_ExpandedIDs: 000000002c9100002e91000030910000329100003491000036910000389100003a9100003c9100003e910000409100004291000000ca9a3b
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -1075,24 +973,24 @@ MonoBehaviour:
m_ListAreaState:
m_SelectedInstanceIDs:
m_LastClickedInstanceID: 0
m_HadKeyboardFocusLastEvent: 1
m_ExpandedInstanceIDs: c6230000b2db0000fefa00000cfb0000
m_HadKeyboardFocusLastEvent: 0
m_ExpandedInstanceIDs: c6230000b2db0000fefa00000cfb00003a920000
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name: Stardust
m_OriginalName: Stardust
m_Name:
m_OriginalName:
m_EditFieldRect:
serializedVersion: 2
x: 0
y: 0
width: 0
height: 0
m_UserData: 11004
m_UserData: 0
m_IsWaitingForDelay: 0
m_IsRenaming: 0
m_OriginalEventType: 0
m_OriginalEventType: 11
m_IsRenamingFilename: 1
m_ClientGUIView: {fileID: 16}
m_ClientGUIView: {fileID: 13}
m_CreateAssetUtility:
m_EndAction: {fileID: 0}
m_InstanceID: 0
@ -1100,11 +998,11 @@ MonoBehaviour:
m_Icon: {fileID: 0}
m_ResourceFile:
m_NewAssetIndexInList: -1
m_ScrollPosition: {x: 0, y: 79}
m_ScrollPosition: {x: 0, y: 159}
m_GridSize: 16
m_SkipHiddenPackages: 0
m_DirectoriesAreaWidth: 123
--- !u!114 &24
m_DirectoriesAreaWidth: 111
--- !u!114 &20
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -1125,9 +1023,9 @@ MonoBehaviour:
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 1595
x: 1551
y: 73
width: 324
width: 368
height: 966
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
@ -1140,13 +1038,13 @@ MonoBehaviour:
m_ControlHash: -371814159
m_PrefName: Preview_InspectorPreview
m_LastInspectedObjectInstanceID: -1
m_LastVerticalScrollValue: 669
m_LastVerticalScrollValue: 0
m_GlobalObjectId:
m_InspectorMode: 0
m_LockTracker:
m_IsLocked: 0
m_PreviewWindow: {fileID: 0}
--- !u!114 &25
--- !u!114 &21
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -1167,9 +1065,9 @@ MonoBehaviour:
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 1573
x: 1551
y: 73
width: 346
width: 368
height: 966
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas: