From 4489b18452da78c5c4f3faeb512b75fb486b60a2 Mon Sep 17 00:00:00 2001 From: Reinier Vens Date: Sun, 18 Apr 2021 05:13:20 +0100 Subject: [PATCH] Action Bar (WIP) Refactor item instance to use DatabaseLink Labels now pop up when aiming at loot Yeeted HUD trigger group UI into the abyss Created rebindable action bar (missing: assigning actions) Created Consumable Items Refactored behaviors to work on consumable items Implemented Velocity Conversion Behavior --- .../Ubuntu/Ubuntu-L Small SDF Stochastic.mat | 105 + .../Ubuntu-L Small SDF Stochastic.mat.meta | 8 + Assets/Fonts/Ubuntu/Ubuntu-L Small SDF.asset | 4 +- Assets/Plugins/LayoutElementFitParent.cs | 115 + Assets/Plugins/LayoutElementFitParent.cs.meta | 11 + .../Prefabs/RPG/Pickups/Dodecahedron.prefab | 204 +- Assets/Prefabs/RPG/Pickups/Hexahedron.prefab | 206 +- Assets/Prefabs/RPG/Pickups/Icosahedron.prefab | 200 +- Assets/Prefabs/RPG/Pickups/Octahedron.prefab | 200 +- Assets/Prefabs/RPG/Pickups/Scan Label.prefab | 171 ++ .../RPG/Pickups/Scan Label.prefab.meta | 7 + Assets/Prefabs/RPG/Pickups/Tetrahedron.prefab | 200 +- Assets/Prefabs/UI/Action Slot.prefab | 932 ++++++++ Assets/Prefabs/UI/Action Slot.prefab.meta | 7 + Assets/Resources/Aetheria.inputactions | 264 --- Assets/Resources/Settings.asset | 4 +- Assets/Resources/Sprites/Attribution.txt | 1 + .../Sprites/Icons/Tech/Cloud.png.meta | 8 +- .../Sprites/Icons/Tech/Cooler.png.meta | 8 +- .../Icons/Tech/Final - Reactor.png.meta | 8 +- .../Sprites/Icons/Tech/Fire.png.meta | 8 +- .../Icons/Tech/Fxperiment Turbine.png.meta | 8 +- .../Sprites/Icons/Tech/Heat.png.meta | 8 +- .../Sprites/Icons/Tech/Laser.png.meta | 8 +- .../Sprites/Icons/Tech/Reactor.png.meta | 8 +- .../Sprites/Icons/Tech/Spiral.png.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_01.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_02.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_03.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_04.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_05.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_06.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_07.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_08.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_09.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_10.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_100.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_101.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_102.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_103.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_104.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_105.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_106.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_107.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_108.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_109.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_11.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_110.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_111.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_12.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_13.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_14.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_15.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_16.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_17.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_18.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_19.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_20.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_21.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_22.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_23.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_24.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_25.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_26.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_27.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_28.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_29.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_30.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_31.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_32.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_33.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_34.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_35.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_36.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_37.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_38.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_39.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_40.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_41.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_42.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_43.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_44.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_45.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_46.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_47.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_48.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_49.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_50.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_51.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_52.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_53.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_54.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_55.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_56.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_57.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_58.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_59.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_60.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_61.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_62.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_63.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_64.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_65.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_66.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_67.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_68.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_69.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_70.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_71.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_72.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_73.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_74.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_75.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_76.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_77.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_78.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_79.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_80.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_81.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_82.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_83.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_84.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_85.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_86.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_87.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_88.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_89.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_90.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_91.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_92.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_93.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_94.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_95.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_96.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_97.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_98.PNG.meta | 8 +- .../Sprites/Icons/Tech/Tex_skill_99.PNG.meta | 8 +- .../Sprites/Icons/Tech/ballistic.png.meta | 8 +- .../Icons/Tech/chevron-truncated.png.meta | 8 +- .../Icons/Tech/compoundObject.png.meta | 8 +- .../Sprites/Icons/Tech/fighter.png.meta | 8 +- .../Sprites/Icons/Tech/final missile.png.meta | 8 +- .../Sprites/Icons/Tech/invisible.png.meta | 8 +- .../Sprites/Icons/Tech/meteor.png.meta | 8 +- .../Sprites/Icons/Tech/mini missile.png.meta | 8 +- .../Sprites/Icons/Tech/satellite.png.meta | 8 +- .../Sprites/Icons/Tech/storm.png.meta | 8 +- .../Icons/Tech/technical thinking.png.meta | 8 +- .../Sprites/Icons/Tech/tools3.png.meta | 8 +- .../Sprites/Icons/Tech/wing1.png.meta | 8 +- Assets/Resources/Sprites/Icons/shift.png | 3 + Assets/Resources/Sprites/Icons/shift.png.meta | 108 + Assets/Resources/Sprites/white.png | 3 + Assets/Resources/Sprites/white.png.meta | 108 + Assets/Scenes/ARPG.unity | 2026 +---------------- Assets/Scenes/Main Menu.unity | 8 +- Assets/Scripts/AetheriaInput.cs | 376 +-- Assets/Scripts/Gameplay/ActionBarSlot.cs | 206 ++ Assets/Scripts/Gameplay/ActionBarSlot.cs.meta | 3 + Assets/Scripts/Gameplay/ActionGameManager.cs | 253 +- Assets/Scripts/Gameplay/ItemPickup.cs | 35 + Assets/Scripts/ServerShared/AetheriaMath.cs | 10 + Assets/Scripts/ServerShared/Agents/Minion.cs | 2 +- .../ServerShared/Behaviors/AetherDrive.cs | 51 +- .../ServerShared/Behaviors/AutoWeapon.cs | 7 +- .../ServerShared/Behaviors/Behaviors.cs | 93 +- .../ServerShared/Behaviors/Capacitor.cs | 29 +- .../ServerShared/Behaviors/ChargedWeapon.cs | 24 +- .../Scripts/ServerShared/Behaviors/Cockpit.cs | 22 +- .../ServerShared/Behaviors/ConstantWeapon.cs | 24 +- .../ServerShared/Behaviors/Cooldown.cs | 25 +- .../ServerShared/Behaviors/EnergyDraw.cs | 25 +- Assets/Scripts/ServerShared/Behaviors/Heat.cs | 24 +- .../ServerShared/Behaviors/HeatStorage.cs | 19 +- .../ServerShared/Behaviors/InstantWeapon.cs | 32 +- .../ServerShared/Behaviors/ItemUsage.cs | 25 +- .../ServerShared/Behaviors/Launcher.cs | 4 +- .../ServerShared/Behaviors/LockWeapon.cs | 32 +- .../ServerShared/Behaviors/MiningTool.cs | 40 +- .../ServerShared/Behaviors/Radiator.cs | 54 +- .../Scripts/ServerShared/Behaviors/Reactor.cs | 59 +- .../ServerShared/Behaviors/Reflector.cs | 25 +- .../ServerShared/Behaviors/ResourceScanner.cs | 34 +- .../Scripts/ServerShared/Behaviors/Sensor.cs | 54 +- .../Scripts/ServerShared/Behaviors/Shield.cs | 30 +- .../ServerShared/Behaviors/StatModifier.cs | 42 +- .../Scripts/ServerShared/Behaviors/Switch.cs | 21 +- .../ServerShared/Behaviors/Thermotoggle.cs | 23 +- .../ServerShared/Behaviors/Thruster.cs | 49 +- .../Scripts/ServerShared/Behaviors/Trigger.cs | 23 +- .../Behaviors/TurretController.cs | 80 +- .../Behaviors/VelocityConversion.cs | 26 +- .../ServerShared/Behaviors/VelocityLimit.cs | 31 +- .../ServerShared/Behaviors/Visibility.cs | 25 +- .../Scripts/ServerShared/Behaviors/Weapon.cs | 38 +- Assets/Scripts/ServerShared/Behaviors/Wear.cs | 33 +- .../CultCache/ReflectionExtensions.cs | 2 +- Assets/Scripts/ServerShared/Entity.cs | 145 +- .../Scripts/ServerShared/EntitySerializer.cs | 4 +- Assets/Scripts/ServerShared/ItemData.cs | 76 +- Assets/Scripts/ServerShared/ItemInstance.cs | 9 +- Assets/Scripts/ServerShared/ItemManager.cs | 55 +- Assets/Scripts/ServerShared/SavedGame.cs | 31 + Assets/Scripts/UI/ConsoleView.cs | 9 +- Assets/Scripts/UI/InventoryMenu.cs | 8 +- Assets/Scripts/UI/InventoryPanel.cs | 2 +- Assets/Scripts/UI/PropertiesPanel.cs | 4 +- Assets/Scripts/UI/SchematicDisplay.cs | 104 +- Assets/Scripts/UI/TradeMenu.cs | 6 +- Assets/Scripts/UI/TradeMenuDebug.cs | 4 +- Assets/Scripts/Zone Display/ZoneRenderer.cs | 31 +- .../Shaders/Raymarching/VolumeRender.shader | 3 +- Assets/Shaders/TMP_SDF.shader | 323 +++ Assets/Shaders/TMP_SDF.shader.meta | 3 + GameData/AetherDB.msgpack | 4 +- GameData/Narrative/TheIntercept.ink | 1686 -------------- GameData/PlayerSettings.msgpack | 4 +- 217 files changed, 4941 insertions(+), 5539 deletions(-) create mode 100644 Assets/Fonts/Ubuntu/Ubuntu-L Small SDF Stochastic.mat create mode 100644 Assets/Fonts/Ubuntu/Ubuntu-L Small SDF Stochastic.mat.meta create mode 100644 Assets/Plugins/LayoutElementFitParent.cs create mode 100644 Assets/Plugins/LayoutElementFitParent.cs.meta create mode 100644 Assets/Prefabs/RPG/Pickups/Scan Label.prefab create mode 100644 Assets/Prefabs/RPG/Pickups/Scan Label.prefab.meta create mode 100644 Assets/Prefabs/UI/Action Slot.prefab create mode 100644 Assets/Prefabs/UI/Action Slot.prefab.meta create mode 100644 Assets/Resources/Sprites/Icons/shift.png create mode 100644 Assets/Resources/Sprites/Icons/shift.png.meta create mode 100644 Assets/Resources/Sprites/white.png create mode 100644 Assets/Resources/Sprites/white.png.meta create mode 100644 Assets/Scripts/Gameplay/ActionBarSlot.cs create mode 100644 Assets/Scripts/Gameplay/ActionBarSlot.cs.meta create mode 100644 Assets/Shaders/TMP_SDF.shader create mode 100644 Assets/Shaders/TMP_SDF.shader.meta delete mode 100644 GameData/Narrative/TheIntercept.ink diff --git a/Assets/Fonts/Ubuntu/Ubuntu-L Small SDF Stochastic.mat b/Assets/Fonts/Ubuntu/Ubuntu-L Small SDF Stochastic.mat new file mode 100644 index 000000000..a83f6f68e --- /dev/null +++ b/Assets/Fonts/Ubuntu/Ubuntu-L Small SDF Stochastic.mat @@ -0,0 +1,105 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Ubuntu-L Small SDF Stochastic + m_Shader: {fileID: 4800000, guid: 68e6db2ebdc24f95958faec2be5558d6, type: 3} + m_ShaderKeywords: UNDERLAY_ON + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Cube: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FaceTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2985719337874870690, guid: 53555f7a2d5e745428813f1b1118734f, + type: 2} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OutlineTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _Ambient: 0.5 + - _Bevel: 0.5 + - _BevelClamp: 0 + - _BevelOffset: 0 + - _BevelRoundness: 0 + - _BevelWidth: 0 + - _BumpFace: 0 + - _BumpOutline: 0 + - _ColorMask: 15 + - _Diffuse: 0.5 + - _FaceDilate: 0 + - _FaceUVSpeedX: 0 + - _FaceUVSpeedY: 0 + - _GlowInner: 0.05 + - _GlowOffset: 0 + - _GlowOuter: 0.05 + - _GlowPower: 0.75 + - _GradientScale: 9 + - _LightAngle: 3.1416 + - _MaskSoftnessX: 0 + - _MaskSoftnessY: 0 + - _OutlineSoftness: 0.1 + - _OutlineUVSpeedX: 0 + - _OutlineUVSpeedY: 0 + - _OutlineWidth: 0 + - _PerspectiveFilter: 0.875 + - _Reflectivity: 10 + - _ScaleRatioA: 0.8888889 + - _ScaleRatioB: 0.7222222 + - _ScaleRatioC: 0.28831226 + - _ScaleX: 1 + - _ScaleY: 1 + - _ShaderFlags: 0 + - _Sharpness: 0 + - _SpecularPower: 2 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _TextureHeight: 1024 + - _TextureWidth: 1024 + - _UnderlayDilate: 1 + - _UnderlayOffsetX: 1 + - _UnderlayOffsetY: -1 + - _UnderlaySoftness: 0.505 + - _VertexOffsetX: 0 + - _VertexOffsetY: 0 + - _WeightBold: 0.75 + - _WeightNormal: 0 + m_Colors: + - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} + - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0} + - _FaceColor: {r: 1, g: 1, b: 1, a: 1} + - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5} + - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1} + - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _UnderlayColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/Fonts/Ubuntu/Ubuntu-L Small SDF Stochastic.mat.meta b/Assets/Fonts/Ubuntu/Ubuntu-L Small SDF Stochastic.mat.meta new file mode 100644 index 000000000..ff7d74f1a --- /dev/null +++ b/Assets/Fonts/Ubuntu/Ubuntu-L Small SDF Stochastic.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 42a7a06ba69bf9645a481e0b5e3ed46a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fonts/Ubuntu/Ubuntu-L Small SDF.asset b/Assets/Fonts/Ubuntu/Ubuntu-L Small SDF.asset index 9f19b9b03..376683635 100644 --- a/Assets/Fonts/Ubuntu/Ubuntu-L Small SDF.asset +++ b/Assets/Fonts/Ubuntu/Ubuntu-L Small SDF.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:850c01b4207c3f31059e33c320437dd56d53648ecb7a0f1712e3baa6ae7003b4 -size 2594226 +oid sha256:2bda689329cb641f09eb8620d185ae1b8cec94cb2784d72f9d04650fcee5b5da +size 2594294 diff --git a/Assets/Plugins/LayoutElementFitParent.cs b/Assets/Plugins/LayoutElementFitParent.cs new file mode 100644 index 000000000..56cceb51a --- /dev/null +++ b/Assets/Plugins/LayoutElementFitParent.cs @@ -0,0 +1,115 @@ +using UnityEngine; +using UnityEngine.UI; + +[RequireComponent(typeof(RectTransform), typeof(LayoutElement))] +[ExecuteInEditMode] +public class LayoutElementFitParent : MonoBehaviour +{ + [SerializeField] private float aspectRatio = 1; + + [SerializeField] private bool updateMin = false; + [SerializeField] private bool updatePreferred = false; + + private bool isDirty = false; + private Vector2 lastParentSize; + + private new RectTransform transform; + private LayoutElement layoutElement; + + public float AspectRatio + { + get { return aspectRatio; } + set + { + aspectRatio = value; + isDirty = true; + } + } + + public bool UpdateMin + { + get { return updateMin; } + set + { + updateMin = value; + isDirty = true; + } + } + + public bool UpdatePreferred + { + get { return updatePreferred; } + set + { + updatePreferred = value; + isDirty = true; + } + } + + private void OnEnable() + { + transform = GetComponent(); + layoutElement = GetComponent(); + + isDirty = true; + } + + private void Update() + { + Vector2 parentSize = GetParentSize(); + + // Mark as dirty if parent's size changes + if (lastParentSize != parentSize) + { + lastParentSize = parentSize; + isDirty = true; + } + + // Only recalculate layout size if something has changed + if (!isDirty) return; + isDirty = false; + + float neededWidth = parentSize.y * aspectRatio; + float neededHeight = parentSize.x / aspectRatio; + + // Is height the limiting factor? + if (neededWidth <= parentSize.x) + { + // Scale to match parent's height + SetSizes(neededWidth, parentSize.y); + } + else + { + // Scale to match parent's width + SetSizes(parentSize.x, neededHeight); + } + } + +#if UNITY_EDITOR + private void OnValidate() + { + // Inspector fields have changed, mark as dirty + isDirty = true; + } +#endif + + private void SetSizes(float x, float y) + { + if (updateMin) + { + layoutElement.minWidth = x; + layoutElement.minHeight = y; + } + if (updatePreferred) + { + layoutElement.preferredWidth = x; + layoutElement.preferredHeight = y; + } + } + + private Vector2 GetParentSize() + { + var parent = transform.parent as RectTransform; + return parent == null ? Vector2.zero : parent.rect.size; + } +} \ No newline at end of file diff --git a/Assets/Plugins/LayoutElementFitParent.cs.meta b/Assets/Plugins/LayoutElementFitParent.cs.meta new file mode 100644 index 000000000..7595f568b --- /dev/null +++ b/Assets/Plugins/LayoutElementFitParent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a588f4b3f3e229540a82e5f976b08e2d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/RPG/Pickups/Dodecahedron.prefab b/Assets/Prefabs/RPG/Pickups/Dodecahedron.prefab index 50850e7a8..620c46bfa 100644 --- a/Assets/Prefabs/RPG/Pickups/Dodecahedron.prefab +++ b/Assets/Prefabs/RPG/Pickups/Dodecahedron.prefab @@ -1,5 +1,36 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &4094535758000554889 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6463386671854692106} + m_Layer: 21 + m_Name: Container + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6463386671854692106 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4094535758000554889} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 9133920759869389018} + m_Father: {fileID: 8489385781787202308} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &5284461483464579928 GameObject: m_ObjectHideFlags: 0 @@ -14,6 +45,7 @@ GameObject: - component: {fileID: 8815906420840494942} - component: {fileID: 8842807112802394818} - component: {fileID: 8689774408369415534} + - component: {fileID: 5705448000916375656} m_Layer: 21 m_Name: Dodecahedron m_TagString: Untagged @@ -28,13 +60,14 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5284461483464579928} - m_LocalRotation: {x: -0.7069834, y: 0, z: 0, w: 0.7072302} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 2.76403, y: 0, z: 0} m_LocalScale: {x: 3, y: 3, z: 3} - m_Children: [] + m_Children: + - {fileID: 6463386671854692106} m_Father: {fileID: 0} m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: -89.98, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &2667259809042191123 MeshFilter: m_ObjectHideFlags: 0 @@ -132,3 +165,168 @@ Rigidbody: m_Interpolate: 0 m_Constraints: 0 m_CollisionDetection: 0 +--- !u!114 &5705448000916375656 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5284461483464579928} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0c18f67d85af44c2b5afc8ecd15ce960, type: 3} + m_Name: + m_EditorClassIdentifier: + LabelFadeDuration: 0.5 + LabelPersistDuration: 3 + LabelDisplayAngle: 15 + LabelDisplayMaxDistance: 500 + ScanLabelContainer: {fileID: 6463386671854692106} + ScanLabel: {fileID: 3355762817961458026} +--- !u!1001 &306400354849379669 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 6463386671854692106} + m_Modifications: + - target: {fileID: 2945231343692618236, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_Name + value: Scan Label + objectReference: {fileID: 0} + - target: {fileID: 3085702413493447743, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_fontSize + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 3085702413493447743, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_fontSizeBase + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalPosition.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -1.39 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0.86 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e7877477dc889804ea9d04f7ffd08e9b, type: 3} +--- !u!224 &9133920759869389018 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + m_PrefabInstance: {fileID: 306400354849379669} + m_PrefabAsset: {fileID: 0} +--- !u!114 &3355762817961458026 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3085702413493447743, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + m_PrefabInstance: {fileID: 306400354849379669} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Prefabs/RPG/Pickups/Hexahedron.prefab b/Assets/Prefabs/RPG/Pickups/Hexahedron.prefab index 52c9b96fa..7e449197b 100644 --- a/Assets/Prefabs/RPG/Pickups/Hexahedron.prefab +++ b/Assets/Prefabs/RPG/Pickups/Hexahedron.prefab @@ -1,5 +1,36 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &3193517496555256095 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3601651121922051457} + m_Layer: 21 + m_Name: Container + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3601651121922051457 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3193517496555256095} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7638477100053754924} + m_Father: {fileID: 3419130779256825702} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &7643266616531142933 GameObject: m_ObjectHideFlags: 0 @@ -13,6 +44,7 @@ GameObject: - component: {fileID: 7427774873968414741} - component: {fileID: 674324171579366365} - component: {fileID: 7449398549621940518} + - component: {fileID: 4507103896627202189} - component: {fileID: 648083621841515580} m_Layer: 21 m_Name: Hexahedron @@ -28,13 +60,14 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7643266616531142933} - m_LocalRotation: {x: -0.7069834, y: 0, z: 0, w: 0.7072302} - m_LocalPosition: {x: -2.6274304, y: 0, z: 0} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 3, y: 3, z: 3} - m_Children: [] + m_Children: + - {fileID: 3601651121922051457} m_Father: {fileID: 0} m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: -89.98, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &3269639735116279291 MeshFilter: m_ObjectHideFlags: 0 @@ -116,6 +149,24 @@ MonoBehaviour: Gravity: 1 Drag: 0.05 LaunchDrag: 0.2 +--- !u!114 &4507103896627202189 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7643266616531142933} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0c18f67d85af44c2b5afc8ecd15ce960, type: 3} + m_Name: + m_EditorClassIdentifier: + LabelFadeDuration: 0.5 + LabelPersistDuration: 3 + LabelDisplayAngle: 15 + LabelDisplayMaxDistance: 500 + ScanLabelContainer: {fileID: 3601651121922051457} + ScanLabel: {fileID: 4202270197902620060} --- !u!54 &648083621841515580 Rigidbody: m_ObjectHideFlags: 0 @@ -132,3 +183,150 @@ Rigidbody: m_Interpolate: 0 m_Constraints: 0 m_CollisionDetection: 0 +--- !u!1001 &1190053687094253987 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 3601651121922051457} + m_Modifications: + - target: {fileID: 2945231343692618236, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_Name + value: Scan Label + objectReference: {fileID: 0} + - target: {fileID: 3085702413493447743, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_fontSize + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 3085702413493447743, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_fontSizeBase + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalPosition.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -1.39 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0.86 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e7877477dc889804ea9d04f7ffd08e9b, type: 3} +--- !u!224 &7638477100053754924 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + m_PrefabInstance: {fileID: 1190053687094253987} + m_PrefabAsset: {fileID: 0} +--- !u!114 &4202270197902620060 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3085702413493447743, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + m_PrefabInstance: {fileID: 1190053687094253987} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Prefabs/RPG/Pickups/Icosahedron.prefab b/Assets/Prefabs/RPG/Pickups/Icosahedron.prefab index 10ab93e8d..65d429108 100644 --- a/Assets/Prefabs/RPG/Pickups/Icosahedron.prefab +++ b/Assets/Prefabs/RPG/Pickups/Icosahedron.prefab @@ -1,5 +1,36 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &6430764275721745537 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4002800527770282731} + m_Layer: 21 + m_Name: Container + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4002800527770282731 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6430764275721745537} + m_LocalRotation: {x: 0.7069834, y: -0, z: -0, w: 0.7072302} + m_LocalPosition: {x: 0, y: -0.9858858, z: 0.000344038} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5373456011921669618} + m_Father: {fileID: 7548484292876150345} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &7167547457198401877 GameObject: m_ObjectHideFlags: 0 @@ -13,6 +44,7 @@ GameObject: - component: {fileID: 6960669510133879758} - component: {fileID: 3507902894264904200} - component: {fileID: 8747099621875196907} + - component: {fileID: 1545255963217739444} - component: {fileID: -5409019571952974707} m_Layer: 21 m_Name: Icosahedron @@ -31,7 +63,8 @@ Transform: m_LocalRotation: {x: -0.7069834, y: 0, z: 0, w: 0.7072302} m_LocalPosition: {x: -0, y: 0, z: -2.9576573} m_LocalScale: {x: 3, y: 3, z: 3} - m_Children: [] + m_Children: + - {fileID: 4002800527770282731} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: -89.98, y: 0, z: 0} @@ -116,6 +149,24 @@ MonoBehaviour: Gravity: 1 Drag: 0.05 LaunchDrag: 0.2 +--- !u!114 &1545255963217739444 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7167547457198401877} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0c18f67d85af44c2b5afc8ecd15ce960, type: 3} + m_Name: + m_EditorClassIdentifier: + LabelFadeDuration: 0.5 + LabelPersistDuration: 3 + LabelDisplayAngle: 15 + LabelDisplayMaxDistance: 500 + ScanLabelContainer: {fileID: 4002800527770282731} + ScanLabel: {fileID: 1928241908402748482} --- !u!54 &-5409019571952974707 Rigidbody: m_ObjectHideFlags: 0 @@ -132,3 +183,150 @@ Rigidbody: m_Interpolate: 0 m_Constraints: 0 m_CollisionDetection: 0 +--- !u!1001 &3463514625940279421 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 4002800527770282731} + m_Modifications: + - target: {fileID: 2945231343692618236, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_Name + value: Scan Label + objectReference: {fileID: 0} + - target: {fileID: 3085702413493447743, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_fontSize + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 3085702413493447743, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_fontSizeBase + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalPosition.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -1.39 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0.86 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e7877477dc889804ea9d04f7ffd08e9b, type: 3} +--- !u!224 &5373456011921669618 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + m_PrefabInstance: {fileID: 3463514625940279421} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1928241908402748482 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3085702413493447743, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + m_PrefabInstance: {fileID: 3463514625940279421} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Prefabs/RPG/Pickups/Octahedron.prefab b/Assets/Prefabs/RPG/Pickups/Octahedron.prefab index 422a70c86..7d07605aa 100644 --- a/Assets/Prefabs/RPG/Pickups/Octahedron.prefab +++ b/Assets/Prefabs/RPG/Pickups/Octahedron.prefab @@ -1,5 +1,36 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &3932408193141279893 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2388751103296260666} + m_Layer: 21 + m_Name: Container + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2388751103296260666 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3932408193141279893} + m_LocalRotation: {x: 0.7069834, y: -0, z: -0, w: 0.7072302} + m_LocalPosition: {x: 0, y: 0.9264834, z: -0.0003232956} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7372978312502119311} + m_Father: {fileID: 5807113421007930924} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &8555821447211356933 GameObject: m_ObjectHideFlags: 0 @@ -13,6 +44,7 @@ GameObject: - component: {fileID: 1691511938472729356} - component: {fileID: 3657818610818556929} - component: {fileID: 946329779588188460} + - component: {fileID: 7390748043139687254} - component: {fileID: -4611973708976329780} m_Layer: 21 m_Name: Octahedron @@ -31,7 +63,8 @@ Transform: m_LocalRotation: {x: -0.7069834, y: 0, z: 0, w: 0.7072302} m_LocalPosition: {x: -0, y: 0, z: 2.7794502} m_LocalScale: {x: 3, y: 3, z: 3} - m_Children: [] + m_Children: + - {fileID: 2388751103296260666} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: -89.98, y: 0, z: 0} @@ -116,6 +149,24 @@ MonoBehaviour: Gravity: 1 Drag: 0.05 LaunchDrag: 0.2 +--- !u!114 &7390748043139687254 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8555821447211356933} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0c18f67d85af44c2b5afc8ecd15ce960, type: 3} + m_Name: + m_EditorClassIdentifier: + LabelFadeDuration: 0.5 + LabelPersistDuration: 3 + LabelDisplayAngle: 15 + LabelDisplayMaxDistance: 500 + ScanLabelContainer: {fileID: 2388751103296260666} + ScanLabel: {fileID: 3891726626588969535} --- !u!54 &-4611973708976329780 Rigidbody: m_ObjectHideFlags: 0 @@ -132,3 +183,150 @@ Rigidbody: m_Interpolate: 0 m_Constraints: 0 m_CollisionDetection: 0 +--- !u!1001 &2076349920387032576 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2388751103296260666} + m_Modifications: + - target: {fileID: 2945231343692618236, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_Name + value: Scan Label + objectReference: {fileID: 0} + - target: {fileID: 3085702413493447743, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_fontSize + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 3085702413493447743, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_fontSizeBase + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalPosition.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -1.39 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0.86 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e7877477dc889804ea9d04f7ffd08e9b, type: 3} +--- !u!224 &7372978312502119311 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + m_PrefabInstance: {fileID: 2076349920387032576} + m_PrefabAsset: {fileID: 0} +--- !u!114 &3891726626588969535 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3085702413493447743, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + m_PrefabInstance: {fileID: 2076349920387032576} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Prefabs/RPG/Pickups/Scan Label.prefab b/Assets/Prefabs/RPG/Pickups/Scan Label.prefab new file mode 100644 index 000000000..dff141f55 --- /dev/null +++ b/Assets/Prefabs/RPG/Pickups/Scan Label.prefab @@ -0,0 +1,171 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2945231343692618236 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8827822687143161231} + - component: {fileID: 2000937249754104238} + - component: {fileID: 3085702413493447743} + m_Layer: 0 + m_Name: Scan Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8827822687143161231 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2945231343692618236} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!23 &2000937249754104238 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2945231343692618236} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 42a7a06ba69bf9645a481e0b5e3ed46a, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &3085702413493447743 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2945231343692618236} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Sample text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 53555f7a2d5e745428813f1b1118734f, type: 2} + m_sharedMaterial: {fileID: 2100000, guid: 42a7a06ba69bf9645a481e0b5e3ed46a, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 1024 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 2000937249754104238} + m_maskType: 0 + _SortingLayerID: 0 + _SortingOrder: 0 diff --git a/Assets/Prefabs/RPG/Pickups/Scan Label.prefab.meta b/Assets/Prefabs/RPG/Pickups/Scan Label.prefab.meta new file mode 100644 index 000000000..95ccd9ddf --- /dev/null +++ b/Assets/Prefabs/RPG/Pickups/Scan Label.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e7877477dc889804ea9d04f7ffd08e9b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/RPG/Pickups/Tetrahedron.prefab b/Assets/Prefabs/RPG/Pickups/Tetrahedron.prefab index 02510fd61..c81b41104 100644 --- a/Assets/Prefabs/RPG/Pickups/Tetrahedron.prefab +++ b/Assets/Prefabs/RPG/Pickups/Tetrahedron.prefab @@ -1,5 +1,36 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &2238948151922859802 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7682789761269032435} + m_Layer: 21 + m_Name: Container + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7682789761269032435 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2238948151922859802} + m_LocalRotation: {x: 0.7069834, y: -0, z: -0, w: 0.7072302} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3300919539099916088} + m_Father: {fileID: 8414659055235772867} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &7767746557817481743 GameObject: m_ObjectHideFlags: 0 @@ -13,6 +44,7 @@ GameObject: - component: {fileID: 6959931328227918623} - component: {fileID: 4540815661693075899} - component: {fileID: 4008709970769624704} + - component: {fileID: 7436534270673427838} - component: {fileID: -6589342969031261525} m_Layer: 21 m_Name: Tetrahedron @@ -31,7 +63,8 @@ Transform: m_LocalRotation: {x: -0.7069834, y: 0, z: 0, w: 0.7072302} m_LocalPosition: {x: -0, y: 0, z: 0} m_LocalScale: {x: 3, y: 3, z: 3} - m_Children: [] + m_Children: + - {fileID: 7682789761269032435} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: -89.98, y: 0, z: 0} @@ -116,6 +149,24 @@ MonoBehaviour: Gravity: 1 Drag: 0.05 LaunchDrag: 0.2 +--- !u!114 &7436534270673427838 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7767746557817481743} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0c18f67d85af44c2b5afc8ecd15ce960, type: 3} + m_Name: + m_EditorClassIdentifier: + LabelFadeDuration: 0.5 + LabelPersistDuration: 3 + LabelDisplayAngle: 15 + LabelDisplayMaxDistance: 500 + ScanLabelContainer: {fileID: 7682789761269032435} + ScanLabel: {fileID: 9051985514531952264} --- !u!54 &-6589342969031261525 Rigidbody: m_ObjectHideFlags: 0 @@ -132,3 +183,150 @@ Rigidbody: m_Interpolate: 0 m_Constraints: 0 m_CollisionDetection: 0 +--- !u!1001 &6290826240748108471 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 7682789761269032435} + m_Modifications: + - target: {fileID: 2945231343692618236, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_Name + value: Scan Label + objectReference: {fileID: 0} + - target: {fileID: 3085702413493447743, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_fontSize + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 3085702413493447743, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_fontSizeBase + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalPosition.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -1.39 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0.86 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e7877477dc889804ea9d04f7ffd08e9b, type: 3} +--- !u!224 &3300919539099916088 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 8827822687143161231, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + m_PrefabInstance: {fileID: 6290826240748108471} + m_PrefabAsset: {fileID: 0} +--- !u!114 &9051985514531952264 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3085702413493447743, guid: e7877477dc889804ea9d04f7ffd08e9b, + type: 3} + m_PrefabInstance: {fileID: 6290826240748108471} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Prefabs/UI/Action Slot.prefab b/Assets/Prefabs/UI/Action Slot.prefab new file mode 100644 index 000000000..1bf80adc3 --- /dev/null +++ b/Assets/Prefabs/UI/Action Slot.prefab @@ -0,0 +1,932 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5265890416424360399 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7189530886183100189} + - component: {fileID: 2613005521369391627} + - component: {fileID: 4039105166987355348} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7189530886183100189 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5265890416424360399} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8334150340270499360} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2613005521369391627 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5265890416424360399} + m_CullTransparentMesh: 1 +--- !u!114 &4039105166987355348 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5265890416424360399} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: G5 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 49f936dc5a44a87449c71bc4e50f0aa8, type: 2} + m_sharedMaterial: {fileID: 21328109656793898, guid: 49f936dc5a44a87449c71bc4e50f0aa8, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &8334150340270499363 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8334150340270499360} + - component: {fileID: 8334150340270499418} + - component: {fileID: 8334150340270499365} + - component: {fileID: 8334150340270499364} + - component: {fileID: 8334150340270499367} + - component: {fileID: 8334150340270499366} + - component: {fileID: 8334150340270499361} + m_Layer: 5 + m_Name: Action Slot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8334150340270499360 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150340270499363} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8334150341076115031} + - {fileID: 8334150340821902613} + - {fileID: 7189530886183100189} + - {fileID: 8334150342215846672} + - {fileID: 8334150340841115259} + - {fileID: 8334150341270877134} + - {fileID: 8334150341178146430} + - {fileID: 8334150340826609675} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8334150340270499418 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150340270499363} + m_CullTransparentMesh: 1 +--- !u!114 &8334150340270499365 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150340270499363} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 84d126f984de5fd42ac66361c00f830c, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &8334150340270499364 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150340270499363} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 64 + m_PreferredHeight: 64 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &8334150340270499367 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150340270499363} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a588f4b3f3e229540a82e5f976b08e2d, type: 3} + m_Name: + m_EditorClassIdentifier: + aspectRatio: 1 + updateMin: 0 + updatePreferred: 1 +--- !u!114 &8334150340270499366 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150340270499363} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f285e0b05ca24b83bd6cd48419cbad6e, type: 3} + m_Name: + m_EditorClassIdentifier: + Label: {fileID: 4039105166987355348} + Icon: {fileID: 8334150342215846673} + InputLabel: {fileID: 8334150341270877135} + InputIcon: {fileID: 8334150340841115256} + QuantityRemaining: {fileID: 8334150341178146431} + Fill: {fileID: 8334150340821902602} +--- !u!114 &8334150340270499361 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150340270499363} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!1 &8334150340821902612 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8334150340821902613} + - component: {fileID: 8334150340821902603} + - component: {fileID: 8334150340821902602} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8334150340821902613 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150340821902612} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8334150340270499360} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8334150340821902603 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150340821902612} + m_CullTransparentMesh: 1 +--- !u!114 &8334150340821902602 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150340821902612} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.44583336, b: 0.050000012, a: 0.65882355} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f0c4d03b3421b2e41bb247df6a85c88e, type: 3} + m_Type: 3 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 1 + m_FillAmount: 0.536 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 0.5 +--- !u!1 &8334150340826609674 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8334150340826609675} + - component: {fileID: 8334150340826609673} + - component: {fileID: 8334150340826609672} + m_Layer: 5 + m_Name: Outline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8334150340826609675 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150340826609674} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8334150340270499360} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0.000015258789, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8334150340826609673 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150340826609674} + m_CullTransparentMesh: 1 +--- !u!114 &8334150340826609672 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150340826609674} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.85, g: 0.95199996, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 53be25fb8ef6567478599a1f7299ca24, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 4 +--- !u!1 &8334150340841115258 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8334150340841115259} + - component: {fileID: 8334150340841115257} + - component: {fileID: 8334150340841115256} + m_Layer: 5 + m_Name: InputIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8334150340841115259 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150340841115258} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: -1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8334150340270499360} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 8, y: 11} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8334150340841115257 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150340841115258} + m_CullTransparentMesh: 1 +--- !u!114 &8334150340841115256 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150340841115258} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: a308a6cbccf9c9b4fa444a974e7968df, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &8334150341076115030 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8334150341076115031} + - component: {fileID: 8334150341076115029} + - component: {fileID: 8334150341076115028} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8334150341076115031 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150341076115030} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8334150340270499360} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0.000015258789, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8334150341076115029 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150341076115030} + m_CullTransparentMesh: 1 +--- !u!114 &8334150341076115028 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150341076115030} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 46238d909c2092c4eb873278d84c6ce8, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 84d126f984de5fd42ac66361c00f830c, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &8334150341178146425 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8334150341178146430} + - component: {fileID: 8334150341178146428} + - component: {fileID: 8334150341178146431} + m_Layer: 5 + m_Name: Remaining + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8334150341178146430 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150341178146425} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8334150340270499360} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -2, y: -1} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 1, y: 1} +--- !u!222 &8334150341178146428 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150341178146425} + m_CullTransparentMesh: 1 +--- !u!114 &8334150341178146431 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150341178146425} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 3/6 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 53555f7a2d5e745428813f1b1118734f, type: 2} + m_sharedMaterial: {fileID: -2804126062856497447, guid: 53555f7a2d5e745428813f1b1118734f, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 4 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &8334150341270877129 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8334150341270877134} + - component: {fileID: 8334150341270877132} + - component: {fileID: 8334150341270877135} + m_Layer: 5 + m_Name: InputLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8334150341270877134 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150341270877129} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8334150340270499360} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 2, y: 1} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0, y: 0} +--- !u!222 &8334150341270877132 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150341270877129} + m_CullTransparentMesh: 1 +--- !u!114 &8334150341270877135 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150341270877129} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 1 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 53555f7a2d5e745428813f1b1118734f, type: 2} + m_sharedMaterial: {fileID: -2804126062856497447, guid: 53555f7a2d5e745428813f1b1118734f, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 20 + m_fontSizeBase: 20 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 1024 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &8334150342215846675 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8334150342215846672} + - component: {fileID: 8334150342215846678} + - component: {fileID: 8334150342215846673} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8334150342215846672 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150342215846675} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8334150340270499360} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -16, y: -16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8334150342215846678 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150342215846675} + m_CullTransparentMesh: 1 +--- !u!114 &8334150342215846673 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150342215846675} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 2800000, guid: 44a01fdfb3b1a7c4bb6f5b3e239f9b5c, type: 3} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 diff --git a/Assets/Prefabs/UI/Action Slot.prefab.meta b/Assets/Prefabs/UI/Action Slot.prefab.meta new file mode 100644 index 000000000..3b7f54e67 --- /dev/null +++ b/Assets/Prefabs/UI/Action Slot.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bfce34a0acbaa454e97a700e1875357e +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Aetheria.inputactions b/Assets/Resources/Aetheria.inputactions index 5a43bcfa9..df5ceb07d 100644 --- a/Assets/Resources/Aetheria.inputactions +++ b/Assets/Resources/Aetheria.inputactions @@ -21,54 +21,6 @@ "processors": "", "interactions": "" }, - { - "name": "Fire Group 1", - "type": "Button", - "id": "575943b0-4866-4be0-a289-3253973523b1", - "expectedControlType": "Button", - "processors": "", - "interactions": "" - }, - { - "name": "Fire Group 2", - "type": "Button", - "id": "b9bdfa1f-db61-4ec3-883a-fc3f9e88c5f5", - "expectedControlType": "Button", - "processors": "", - "interactions": "" - }, - { - "name": "Fire Group 3", - "type": "Button", - "id": "d79871a2-8565-4cf3-809f-9c979adfcd81", - "expectedControlType": "Button", - "processors": "", - "interactions": "" - }, - { - "name": "Fire Group 4", - "type": "Button", - "id": "59902e9e-1dfb-4624-9599-72ff763ef327", - "expectedControlType": "Button", - "processors": "", - "interactions": "" - }, - { - "name": "Fire Group 5", - "type": "Button", - "id": "80b549c1-7378-48c5-8da2-ce95b9c92913", - "expectedControlType": "Button", - "processors": "", - "interactions": "" - }, - { - "name": "Fire Group 6", - "type": "Button", - "id": "4ba5091e-051a-41df-9985-6c0e082b20a5", - "expectedControlType": "Button", - "processors": "", - "interactions": "" - }, { "name": "Minimap Zoom", "type": "Button", @@ -77,46 +29,6 @@ "processors": "", "interactions": "" }, - { - "name": "Next Weapon Group", - "type": "Button", - "id": "8ed69fe0-d934-44ea-94c0-d5d69cc33b32", - "expectedControlType": "Button", - "processors": "", - "interactions": "" - }, - { - "name": "Previous Weapon Group", - "type": "Button", - "id": "93f19768-6c19-4bab-8b53-4e3e5ba764fc", - "expectedControlType": "Button", - "processors": "", - "interactions": "" - }, - { - "name": "Next Weapon", - "type": "Button", - "id": "09a5e315-6290-4ab5-9e7c-55b7523562b7", - "expectedControlType": "Button", - "processors": "", - "interactions": "" - }, - { - "name": "Previous Weapon", - "type": "Button", - "id": "ed923265-545f-4475-ba7c-885371612325", - "expectedControlType": "Button", - "processors": "", - "interactions": "" - }, - { - "name": "Toggle Weapon Group", - "type": "Button", - "id": "c61da4ef-e0bc-4d17-aab0-8e2979c3de3c", - "expectedControlType": "Button", - "processors": "", - "interactions": "" - }, { "name": "Target Reticle", "type": "Button", @@ -361,50 +273,6 @@ "isComposite": false, "isPartOfComposite": false }, - { - "name": "", - "id": "143bb1cd-cc10-4eca-a2f0-a3664166fe91", - "path": "/rightTrigger", - "interactions": "", - "processors": "", - "groups": ";Gamepad", - "action": "Fire Group 1", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "05f6913d-c316-48b2-a6bb-e225f14c7960", - "path": "/leftButton", - "interactions": "", - "processors": "", - "groups": ";Keyboard&Mouse", - "action": "Fire Group 1", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "ee3d0cd2-254e-47a7-a8cb-bc94d9658c54", - "path": "/trigger", - "interactions": "", - "processors": "", - "groups": "Joystick", - "action": "Fire Group 1", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "8c676533-8c53-4b6a-9368-d194b8a997f8", - "path": "/1", - "interactions": "", - "processors": "", - "groups": "Keyboard&Mouse", - "action": "Fire Group 1", - "isComposite": false, - "isPartOfComposite": false - }, { "name": "", "id": "495c3ec6-3188-4309-9072-f958e89c87ec", @@ -416,138 +284,6 @@ "isComposite": false, "isPartOfComposite": false }, - { - "name": "", - "id": "444b4049-a11e-4bef-8a57-345c3d1a7545", - "path": "/rightArrow", - "interactions": "", - "processors": "", - "groups": "Keyboard&Mouse", - "action": "Next Weapon Group", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "fb6c0d4c-dae6-406b-b35a-c35b5d25022c", - "path": "/leftArrow", - "interactions": "", - "processors": "", - "groups": "Keyboard&Mouse", - "action": "Previous Weapon Group", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "bac8c902-3cad-4a7f-8773-35800a2ee3b9", - "path": "/downArrow", - "interactions": "", - "processors": "", - "groups": "Keyboard&Mouse", - "action": "Next Weapon", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "969aff21-097a-4c35-9c46-2239e5f321f5", - "path": "/upArrow", - "interactions": "", - "processors": "", - "groups": "Keyboard&Mouse", - "action": "Previous Weapon", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "a2bcbfda-f091-433f-8ac9-112396507408", - "path": "/rightCtrl", - "interactions": "", - "processors": "", - "groups": "Keyboard&Mouse", - "action": "Toggle Weapon Group", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "48b8b6ee-8435-439a-96a1-c968254ff605", - "path": "/rightButton", - "interactions": "", - "processors": "", - "groups": ";Keyboard&Mouse", - "action": "Fire Group 2", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "8ae75721-10ab-4d83-8322-82cbb3fdcc44", - "path": "/2", - "interactions": "", - "processors": "", - "groups": "Keyboard&Mouse", - "action": "Fire Group 2", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "7f89c9af-795b-4b1e-ad43-dac3350cfbe3", - "path": "/middleButton", - "interactions": "", - "processors": "", - "groups": ";Keyboard&Mouse", - "action": "Fire Group 3", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "c249f018-c10a-4c2c-a4ba-9fba54ed33e9", - "path": "/3", - "interactions": "", - "processors": "", - "groups": "Keyboard&Mouse", - "action": "Fire Group 3", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "421e49a0-897e-4ea3-af8d-af96989d2957", - "path": "/4", - "interactions": "", - "processors": "", - "groups": ";Keyboard&Mouse", - "action": "Fire Group 4", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "1c8a43b7-4200-43b9-925c-c1634554083c", - "path": "/5", - "interactions": "", - "processors": "", - "groups": ";Keyboard&Mouse", - "action": "Fire Group 5", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "0680216e-b462-45a3-8050-2b89dcb615aa", - "path": "/6", - "interactions": "", - "processors": "", - "groups": ";Keyboard&Mouse", - "action": "Fire Group 6", - "isComposite": false, - "isPartOfComposite": false - }, { "name": "", "id": "5211a58c-428b-4ee6-820d-2f67789806d6", diff --git a/Assets/Resources/Settings.asset b/Assets/Resources/Settings.asset index fa7a35d76..72963dd53 100644 --- a/Assets/Resources/Settings.asset +++ b/Assets/Resources/Settings.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e88b31e49996b44a93bc845588151847eb73a8902c5939b54f4755ece6a7622d -size 11764 +oid sha256:641b4c172ddb913405777b54a4c27f5376f697ea6a5c4de1b3b23186379dab8d +size 11840 diff --git a/Assets/Resources/Sprites/Attribution.txt b/Assets/Resources/Sprites/Attribution.txt index 03524509d..5f98ef312 100644 --- a/Assets/Resources/Sprites/Attribution.txt +++ b/Assets/Resources/Sprites/Attribution.txt @@ -76,6 +76,7 @@ pattern by Andrejs Kirma edit by The Icon Z Resize by Markus Rotate by Rohith M +up key by Dika Darma Other diff --git a/Assets/Resources/Sprites/Icons/Tech/Cloud.png.meta b/Assets/Resources/Sprites/Icons/Tech/Cloud.png.meta index 68ced4a80..de062bba3 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Cloud.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Cloud.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Cooler.png.meta b/Assets/Resources/Sprites/Icons/Tech/Cooler.png.meta index 14ef40679..cd9a63ee0 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Cooler.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Cooler.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Final - Reactor.png.meta b/Assets/Resources/Sprites/Icons/Tech/Final - Reactor.png.meta index 23a87f366..d60d387d2 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Final - Reactor.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Final - Reactor.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 1 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Fire.png.meta b/Assets/Resources/Sprites/Icons/Tech/Fire.png.meta index 6709ca381..23fea2e50 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Fire.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Fire.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Fxperiment Turbine.png.meta b/Assets/Resources/Sprites/Icons/Tech/Fxperiment Turbine.png.meta index 44ecd9d65..c258093e8 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Fxperiment Turbine.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Fxperiment Turbine.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Heat.png.meta b/Assets/Resources/Sprites/Icons/Tech/Heat.png.meta index 05b1ab32a..92875d80a 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Heat.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Heat.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Laser.png.meta b/Assets/Resources/Sprites/Icons/Tech/Laser.png.meta index 9f2900130..e96244e0d 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Laser.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Laser.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Reactor.png.meta b/Assets/Resources/Sprites/Icons/Tech/Reactor.png.meta index 157a63064..4e06a6f85 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Reactor.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Reactor.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Spiral.png.meta b/Assets/Resources/Sprites/Icons/Tech/Spiral.png.meta index 443fde1ff..c57252f66 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Spiral.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Spiral.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_01.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_01.PNG.meta index 9b56e93a2..13522164e 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_01.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_01.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_02.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_02.PNG.meta index 6097e4276..4526d476d 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_02.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_02.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_03.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_03.PNG.meta index 6a5c961dc..c4bf6f110 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_03.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_03.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_04.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_04.PNG.meta index 2e9cf1527..1bf2263a6 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_04.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_04.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_05.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_05.PNG.meta index a8fbcd382..aa857959a 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_05.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_05.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_06.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_06.PNG.meta index d286f02a4..4852fd5aa 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_06.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_06.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_07.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_07.PNG.meta index f73c22797..be9c92e9f 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_07.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_07.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_08.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_08.PNG.meta index 4a54aa265..31ccd833b 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_08.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_08.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_09.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_09.PNG.meta index b88350fe2..7a49ce5b0 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_09.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_09.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_10.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_10.PNG.meta index 4fec9869f..d28f33a34 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_10.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_10.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_100.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_100.PNG.meta index cc49b63de..6017cb1b6 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_100.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_100.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_101.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_101.PNG.meta index a75a28062..3f7464b8e 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_101.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_101.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_102.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_102.PNG.meta index 9dee1973b..0cce8b697 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_102.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_102.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_103.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_103.PNG.meta index 64bdbf33b..94d2cef26 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_103.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_103.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_104.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_104.PNG.meta index 9fd015f24..0bd743227 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_104.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_104.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_105.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_105.PNG.meta index e39b900f2..67daeb82c 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_105.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_105.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_106.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_106.PNG.meta index 7f6f0897c..4a3c314d4 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_106.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_106.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_107.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_107.PNG.meta index 51c8f5795..15416b1a6 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_107.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_107.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_108.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_108.PNG.meta index 326645e23..660ba5c03 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_108.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_108.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_109.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_109.PNG.meta index cb95dc9d6..9bc3fea4a 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_109.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_109.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_11.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_11.PNG.meta index a0e850521..419479602 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_11.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_11.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_110.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_110.PNG.meta index 4a96d7ce6..b78374a3d 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_110.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_110.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_111.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_111.PNG.meta index b67b56a61..97b221b8c 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_111.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_111.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_12.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_12.PNG.meta index 3a4f5e29c..ae2742257 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_12.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_12.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_13.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_13.PNG.meta index 2cc9e3ff1..2588ad065 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_13.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_13.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_14.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_14.PNG.meta index 0ebb4feaa..1a2a8b090 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_14.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_14.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_15.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_15.PNG.meta index 313a89199..7fda86602 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_15.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_15.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_16.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_16.PNG.meta index 43076805c..b09ade529 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_16.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_16.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_17.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_17.PNG.meta index 1ced45e48..3bbd6ac04 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_17.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_17.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_18.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_18.PNG.meta index 9cce95916..92146c23b 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_18.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_18.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_19.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_19.PNG.meta index a530f6bab..882770b2d 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_19.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_19.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_20.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_20.PNG.meta index bc373295a..5a926c2b1 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_20.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_20.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_21.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_21.PNG.meta index 75af0e653..4c3ebe12f 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_21.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_21.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_22.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_22.PNG.meta index c7a1034aa..85dd53fb8 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_22.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_22.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_23.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_23.PNG.meta index 38db5e328..8c1d05adc 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_23.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_23.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_24.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_24.PNG.meta index 05f241eba..165401c0c 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_24.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_24.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_25.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_25.PNG.meta index d30cccf02..9e930a811 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_25.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_25.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_26.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_26.PNG.meta index 8798d6973..529c9876d 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_26.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_26.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_27.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_27.PNG.meta index 7166bb976..32dd4fe9e 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_27.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_27.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_28.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_28.PNG.meta index 92bb1fc00..ccd8f445b 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_28.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_28.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_29.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_29.PNG.meta index 7879660fa..b2436e370 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_29.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_29.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_30.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_30.PNG.meta index 0d40adafb..8cc2fc59d 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_30.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_30.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_31.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_31.PNG.meta index d862356c3..272cd6b9b 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_31.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_31.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_32.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_32.PNG.meta index 1c37b94f6..e92c87ce7 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_32.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_32.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_33.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_33.PNG.meta index 0d67a04b5..7599bd200 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_33.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_33.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_34.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_34.PNG.meta index cf8899b42..45706bc14 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_34.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_34.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_35.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_35.PNG.meta index 4536a4b80..d19a644a2 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_35.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_35.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_36.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_36.PNG.meta index 59ec13586..a1360de1a 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_36.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_36.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_37.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_37.PNG.meta index 927dfe5fc..12ae4ac7b 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_37.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_37.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_38.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_38.PNG.meta index 2c135a085..0a9ab6c2a 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_38.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_38.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_39.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_39.PNG.meta index 035228f1a..676de8320 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_39.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_39.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_40.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_40.PNG.meta index 77fc2f326..d3f99d9a0 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_40.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_40.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_41.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_41.PNG.meta index 377cc06c7..a89cf87f0 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_41.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_41.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_42.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_42.PNG.meta index 886638182..23c88fb8f 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_42.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_42.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_43.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_43.PNG.meta index 34963ef96..2f2867c0f 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_43.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_43.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_44.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_44.PNG.meta index 251385b02..585c4c4b6 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_44.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_44.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_45.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_45.PNG.meta index 365702241..ef9629215 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_45.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_45.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_46.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_46.PNG.meta index 1a514ce3c..7169ffe5d 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_46.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_46.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_47.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_47.PNG.meta index 703d7cd3a..8b5a205f8 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_47.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_47.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_48.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_48.PNG.meta index 8dd6f393f..40ba73473 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_48.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_48.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_49.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_49.PNG.meta index 2bda326e2..293863da8 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_49.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_49.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_50.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_50.PNG.meta index 38b1f9b29..83d68185f 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_50.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_50.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_51.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_51.PNG.meta index 509bc21c5..99d5f295f 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_51.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_51.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_52.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_52.PNG.meta index 8cebb7ad4..3bafa2bd3 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_52.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_52.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_53.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_53.PNG.meta index 5648437cc..82df2a5fd 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_53.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_53.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_54.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_54.PNG.meta index 0bb47b6b4..0ee51b338 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_54.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_54.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_55.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_55.PNG.meta index 25096d1d0..f78d4b631 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_55.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_55.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_56.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_56.PNG.meta index 547150993..ccec273f9 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_56.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_56.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_57.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_57.PNG.meta index 33f625030..8243533c5 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_57.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_57.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_58.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_58.PNG.meta index 6ed9169b7..263553112 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_58.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_58.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_59.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_59.PNG.meta index 4110d72bc..62505724b 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_59.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_59.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_60.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_60.PNG.meta index 1f5f5c35b..8aba2a710 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_60.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_60.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_61.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_61.PNG.meta index 100f26189..3daf1ba9b 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_61.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_61.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_62.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_62.PNG.meta index 2e528257a..834bb5cc7 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_62.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_62.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_63.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_63.PNG.meta index c091c7381..2f7a7321a 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_63.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_63.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_64.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_64.PNG.meta index 429a17b13..bcd87c667 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_64.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_64.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_65.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_65.PNG.meta index 1063b74b6..680cf8eb7 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_65.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_65.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_66.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_66.PNG.meta index 1b1368f8d..b27c45480 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_66.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_66.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_67.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_67.PNG.meta index ffa5a02b9..89b1a10ed 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_67.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_67.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_68.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_68.PNG.meta index b50294dbb..15bf61b72 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_68.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_68.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_69.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_69.PNG.meta index 9966577f5..b28b88bad 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_69.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_69.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_70.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_70.PNG.meta index 20d5624e0..c0e571d9f 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_70.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_70.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_71.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_71.PNG.meta index a5e6d32d3..de359737e 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_71.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_71.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_72.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_72.PNG.meta index e1a465324..2df40096b 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_72.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_72.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_73.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_73.PNG.meta index d2969adf9..c358bb12b 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_73.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_73.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_74.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_74.PNG.meta index 1ee43a5b5..6dddcd5b0 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_74.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_74.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_75.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_75.PNG.meta index 123288fff..0c724c492 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_75.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_75.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_76.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_76.PNG.meta index 2cff0f400..c208566aa 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_76.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_76.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_77.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_77.PNG.meta index 641923448..0bd13aeae 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_77.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_77.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_78.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_78.PNG.meta index 918b0f0fd..30aead035 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_78.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_78.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_79.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_79.PNG.meta index 24207f334..97ad0d38b 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_79.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_79.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_80.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_80.PNG.meta index 137c4ae25..3a40dd7e6 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_80.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_80.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_81.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_81.PNG.meta index 3cbdf2bc4..e2d2c0157 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_81.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_81.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_82.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_82.PNG.meta index f564dcad6..45a5ee777 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_82.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_82.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_83.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_83.PNG.meta index c56426d67..3a55e6f22 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_83.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_83.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_84.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_84.PNG.meta index 7e7a2662a..713b89cdc 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_84.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_84.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_85.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_85.PNG.meta index 3f3e87a78..53d4f4281 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_85.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_85.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_86.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_86.PNG.meta index 121daa975..2497ebd4b 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_86.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_86.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_87.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_87.PNG.meta index c95e2e8c6..1a6c15096 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_87.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_87.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_88.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_88.PNG.meta index bf8876390..1638bf8b5 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_88.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_88.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_89.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_89.PNG.meta index 9fe31d9d0..521ff3139 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_89.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_89.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_90.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_90.PNG.meta index a2f888b08..f5b12895e 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_90.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_90.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_91.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_91.PNG.meta index 312cd9ac8..c0158e98c 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_91.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_91.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_92.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_92.PNG.meta index 67f8c5603..f274a1a2d 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_92.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_92.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_93.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_93.PNG.meta index 222d17e4a..ff6b2f56b 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_93.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_93.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_94.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_94.PNG.meta index 419f880bf..016d5a274 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_94.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_94.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_95.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_95.PNG.meta index 103c239ee..bec4f8199 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_95.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_95.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_96.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_96.PNG.meta index 1f4f1eee0..dfe0df405 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_96.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_96.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_97.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_97.PNG.meta index b91fcd492..4b994febf 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_97.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_97.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_98.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_98.PNG.meta index dc9b35284..a46d2fdc3 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_98.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_98.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_99.PNG.meta b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_99.PNG.meta index d613705cc..fb742688d 100644 --- a/Assets/Resources/Sprites/Icons/Tech/Tex_skill_99.PNG.meta +++ b/Assets/Resources/Sprites/Icons/Tech/Tex_skill_99.PNG.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/ballistic.png.meta b/Assets/Resources/Sprites/Icons/Tech/ballistic.png.meta index 82bd1e002..7ccaac9dc 100644 --- a/Assets/Resources/Sprites/Icons/Tech/ballistic.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/ballistic.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/chevron-truncated.png.meta b/Assets/Resources/Sprites/Icons/Tech/chevron-truncated.png.meta index 8ee409257..1b23677cd 100644 --- a/Assets/Resources/Sprites/Icons/Tech/chevron-truncated.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/chevron-truncated.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/compoundObject.png.meta b/Assets/Resources/Sprites/Icons/Tech/compoundObject.png.meta index f09ebe651..837e71f04 100644 --- a/Assets/Resources/Sprites/Icons/Tech/compoundObject.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/compoundObject.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/fighter.png.meta b/Assets/Resources/Sprites/Icons/Tech/fighter.png.meta index 23f3d886d..d2a006347 100644 --- a/Assets/Resources/Sprites/Icons/Tech/fighter.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/fighter.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/final missile.png.meta b/Assets/Resources/Sprites/Icons/Tech/final missile.png.meta index be1866168..3bdf8c5c1 100644 --- a/Assets/Resources/Sprites/Icons/Tech/final missile.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/final missile.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/invisible.png.meta b/Assets/Resources/Sprites/Icons/Tech/invisible.png.meta index b4c5c02e8..590b19b3e 100644 --- a/Assets/Resources/Sprites/Icons/Tech/invisible.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/invisible.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/meteor.png.meta b/Assets/Resources/Sprites/Icons/Tech/meteor.png.meta index b4d35780d..b79b132da 100644 --- a/Assets/Resources/Sprites/Icons/Tech/meteor.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/meteor.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/mini missile.png.meta b/Assets/Resources/Sprites/Icons/Tech/mini missile.png.meta index c3b75cb2a..9441c6ea9 100644 --- a/Assets/Resources/Sprites/Icons/Tech/mini missile.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/mini missile.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/satellite.png.meta b/Assets/Resources/Sprites/Icons/Tech/satellite.png.meta index 1a8db6a19..9e06240df 100644 --- a/Assets/Resources/Sprites/Icons/Tech/satellite.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/satellite.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/storm.png.meta b/Assets/Resources/Sprites/Icons/Tech/storm.png.meta index 8f769d8da..17de354db 100644 --- a/Assets/Resources/Sprites/Icons/Tech/storm.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/storm.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/technical thinking.png.meta b/Assets/Resources/Sprites/Icons/Tech/technical thinking.png.meta index 35f2eed2a..b69c70f5a 100644 --- a/Assets/Resources/Sprites/Icons/Tech/technical thinking.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/technical thinking.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/tools3.png.meta b/Assets/Resources/Sprites/Icons/Tech/tools3.png.meta index 70b83a4ba..129036c29 100644 --- a/Assets/Resources/Sprites/Icons/Tech/tools3.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/tools3.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/Tech/wing1.png.meta b/Assets/Resources/Sprites/Icons/Tech/wing1.png.meta index d8c0d0d91..27011e1de 100644 --- a/Assets/Resources/Sprites/Icons/Tech/wing1.png.meta +++ b/Assets/Resources/Sprites/Icons/Tech/wing1.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -63,7 +65,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,7 +77,7 @@ TextureImporter: forceMaximumCompressionQuality_BC6H_BC7: 0 - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 32 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Icons/shift.png b/Assets/Resources/Sprites/Icons/shift.png new file mode 100644 index 000000000..ae7be0d3c --- /dev/null +++ b/Assets/Resources/Sprites/Icons/shift.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cff2ffe6001d402ea7cdb7b8b1eac216bb38a6034e3487c9a2825d05c1c99d2d +size 13270 diff --git a/Assets/Resources/Sprites/Icons/shift.png.meta b/Assets/Resources/Sprites/Icons/shift.png.meta new file mode 100644 index 000000000..25dd2a25b --- /dev/null +++ b/Assets/Resources/Sprites/Icons/shift.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 6a42d073009184c4f9bd47c2d4e8d1f7 +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: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 64 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 64 + 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: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/white.png b/Assets/Resources/Sprites/white.png new file mode 100644 index 000000000..f90e7946b --- /dev/null +++ b/Assets/Resources/Sprites/white.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63cb99ad2b5ddbd6044f1df437cdb5be8eed70e85358b540750937f31cc01f87 +size 81 diff --git a/Assets/Resources/Sprites/white.png.meta b/Assets/Resources/Sprites/white.png.meta new file mode 100644 index 000000000..36577b4fb --- /dev/null +++ b/Assets/Resources/Sprites/white.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: f0c4d03b3421b2e41bb247df6a85c88e +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: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + 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: Standalone + 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: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/ARPG.unity b/Assets/Scenes/ARPG.unity index c5001857d..c79ceede9 100644 --- a/Assets/Scenes/ARPG.unity +++ b/Assets/Scenes/ARPG.unity @@ -1087,43 +1087,6 @@ RectTransform: m_AnchoredPosition: {x: -0.000015258789, y: -40} m_SizeDelta: {x: 0, y: 12} m_Pivot: {x: 0.5, y: 1} ---- !u!1 &111335746 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 111335747} - m_Layer: 5 - m_Name: Group 1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &111335747 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 111335746} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1454158446} - - {fileID: 2011788089} - m_Father: {fileID: 1564656281} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 0.00010681152, y: 0} - m_SizeDelta: {x: 14, y: 0} - m_Pivot: {x: 0, y: 0.5} --- !u!1 &121030072 GameObject: m_ObjectHideFlags: 0 @@ -1505,102 +1468,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 126433269} m_CullTransparentMesh: 0 ---- !u!1 &133322211 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 133322212} - - component: {fileID: 133322215} - - component: {fileID: 133322214} - - component: {fileID: 133322213} - m_Layer: 5 - m_Name: Background - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &133322212 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 133322211} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1399423350} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -1.5, y: 0} - m_SizeDelta: {x: 3, y: 10} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &133322213 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 133322211} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 1 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: -1 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!114 &133322214 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 133322211} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 2100000, guid: 0f1ddbd2b64ea724c81430875def275d, type: 2} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 4f0cb39a28e35cb439bcc9df886c3623, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 4 ---- !u!222 &133322215 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 133322211} - m_CullTransparentMesh: 0 --- !u!1 &134113270 GameObject: m_ObjectHideFlags: 0 @@ -2581,276 +2448,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 205462982} m_CullTransparentMesh: 0 ---- !u!1 &206010631 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 206010632} - - component: {fileID: 206010634} - - component: {fileID: 206010633} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &206010632 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 206010631} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 840997852} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &206010633 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 206010631} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 0 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: '4 - -' - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 3fb7d873bb5a7944bb9a7c73c430c44b, type: 2} - m_sharedMaterial: {fileID: 2100000, guid: b9d2f6c9804cec1489502dcc1c19ec54, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 10 - m_fontSizeBase: 10 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 1 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &206010634 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 206010631} - m_CullTransparentMesh: 0 ---- !u!1 &206030074 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 206030075} - - component: {fileID: 206030077} - - component: {fileID: 206030076} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &206030075 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 206030074} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 594274406} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &206030076 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 206030074} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 0 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: 2 - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 3fb7d873bb5a7944bb9a7c73c430c44b, type: 2} - m_sharedMaterial: {fileID: 2100000, guid: b9d2f6c9804cec1489502dcc1c19ec54, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 10 - m_fontSizeBase: 10 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 1 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &206030077 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 206030074} - m_CullTransparentMesh: 0 --- !u!1 &212527382 GameObject: m_ObjectHideFlags: 0 @@ -5206,6 +4803,68 @@ Transform: m_Father: {fileID: 1511875452} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &393961847 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 393961848} + - component: {fileID: 393961849} + m_Layer: 5 + m_Name: Action Bar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &393961848 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 393961847} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 761574181} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: 16} + m_SizeDelta: {x: 1000, y: 64} + m_Pivot: {x: 0.5, y: 0} +--- !u!114 &393961849 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 393961847} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 4 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &394213709 GameObject: m_ObjectHideFlags: 0 @@ -5691,7 +5350,7 @@ MonoBehaviour: m_EditorClassIdentifier: Settings: {fileID: 11400000, guid: cd2344e2001a37544aab0960c164d4ff, type: 2} ListElementPrototype: {fileID: 1462704895} - TriggerGroupPrototype: {fileID: 1564656282} + TriggerGroupPrototype: {fileID: 0} HeaderElementEnabledColor: {r: 0, g: 0, b: 0, a: 0} HeaderElementDisabledColor: {r: 0, g: 0, b: 0, a: 0} OverrideIcon: {fileID: 0} @@ -5699,7 +5358,6 @@ MonoBehaviour: ShieldIcon: {fileID: 0} HeatsinkBackground: {fileID: 0} AetherDriveUi: {fileID: 0} - AetherDriveUiSpacer: {fileID: 0} EnergyLabel: {fileID: 0} CockpitTemperatureLabel: {fileID: 0} RadiatorTemperatureLabel: {fileID: 0} @@ -5720,10 +5378,6 @@ MonoBehaviour: ForwardRPMFill: {fileID: 0} StrafeRPMFill: {fileID: 0} TurnRPMFill: {fileID: 0} - TriggerGroups: {fileID: 1399423353} - TriggerGroupsFadeDuration: 0.5 - TriggerGroupsPersistDuration: 5 - TriggerGroupColor: {r: 0.75, g: 0.75, b: 1, a: 0.050980393} --- !u!114 &410701130 MonoBehaviour: m_ObjectHideFlags: 0 @@ -9618,43 +9272,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 3d7c7b928d043a3449b93bce9de03d1c, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1 &594274405 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 594274406} - m_Layer: 5 - m_Name: Group 2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &594274406 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 594274405} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1821203004} - - {fileID: 206030075} - m_Father: {fileID: 1564656281} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 16, y: 0} - m_SizeDelta: {x: 14, y: 0} - m_Pivot: {x: 0, y: 0.5} --- !u!1 &608624598 GameObject: m_ObjectHideFlags: 0 @@ -10728,140 +10345,6 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &677710706 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 677710707} - - component: {fileID: 677710709} - - component: {fileID: 677710708} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &677710707 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 677710706} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 690981292} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &677710708 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 677710706} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 0 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: 5 - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 3fb7d873bb5a7944bb9a7c73c430c44b, type: 2} - m_sharedMaterial: {fileID: 2100000, guid: b9d2f6c9804cec1489502dcc1c19ec54, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 10 - m_fontSizeBase: 10 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 1 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &677710709 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 677710706} - m_CullTransparentMesh: 0 --- !u!1 &677960091 GameObject: m_ObjectHideFlags: 0 @@ -10943,43 +10426,6 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 677960091} m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &690981291 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 690981292} - m_Layer: 5 - m_Name: Group 5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &690981292 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 690981291} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2060887866} - - {fileID: 677710707} - m_Father: {fileID: 1564656281} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 64, y: 0} - m_SizeDelta: {x: 14, y: 0} - m_Pivot: {x: 0, y: 0.5} --- !u!1 &691045496 GameObject: m_ObjectHideFlags: 0 @@ -11575,7 +11021,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: 29.5, y: -0} + m_AnchoredPosition: {x: 29.5, y: 0} m_SizeDelta: {x: 59, y: 14} m_Pivot: {x: 0.5, y: 1} --- !u!114 &723697982 @@ -11718,81 +11164,6 @@ Transform: m_Father: {fileID: 415301831} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &737569921 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 737569922} - - component: {fileID: 737569924} - - component: {fileID: 737569923} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &737569922 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 737569921} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2139956860} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &737569923 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 737569921} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.7529412, g: 0.7529412, b: 1, a: 0.101960786} - m_RaycastTarget: 0 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 0 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 2 ---- !u!222 &737569924 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 737569921} - m_CullTransparentMesh: 0 --- !u!1 &738229275 GameObject: m_ObjectHideFlags: 0 @@ -12342,6 +11713,7 @@ RectTransform: - {fileID: 178733680} - {fileID: 472507698} - {fileID: 1723136546} + - {fileID: 393961848} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -12499,71 +11871,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 776416423} m_CullTransparentMesh: 1 ---- !u!1 &779460299 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 779460300} - - component: {fileID: 779460301} - m_Layer: 5 - m_Name: Weapon Groups Container - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &779460300 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 779460299} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 964827173} - - {fileID: 1376734759} - - {fileID: 1399423350} - m_Father: {fileID: 1558520822} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 129, y: 0} - m_Pivot: {x: 1, y: 1} ---- !u!114 &779460301 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 779460299} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 0 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 0 - m_ChildControlWidth: 1 - m_ChildControlHeight: 1 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 --- !u!1 &783543864 GameObject: m_ObjectHideFlags: 0 @@ -13485,43 +12792,6 @@ MonoBehaviour: blendDistance: 0 weight: 0 priority: 2 ---- !u!1 &840997851 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 840997852} - m_Layer: 5 - m_Name: Group 4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &840997852 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 840997851} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2030710204} - - {fileID: 206010632} - m_Father: {fileID: 1564656281} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 48, y: 0} - m_SizeDelta: {x: 14, y: 0} - m_Pivot: {x: 0, y: 0.5} --- !u!114 &843760693 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 3501282941175030939, guid: 2758dfa2744d7ad4d8877545189d116e, @@ -15431,62 +14701,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1 &964827172 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 964827173} - - component: {fileID: 964827174} - m_Layer: 5 - m_Name: Spacer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &964827173 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 964827172} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 779460300} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 64.5, y: -28} - m_SizeDelta: {x: 129, y: 56} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &964827174 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 964827172} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: -1 - m_PreferredHeight: 56 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 --- !u!1 &970624069 GameObject: m_ObjectHideFlags: 0 @@ -16172,6 +15386,12 @@ MonoBehaviour: HypothermiaPP: {fileID: 1800086610} SevereHeatstrokePP: {fileID: 837424435} SevereHypothermiaPP: {fileID: 694183021} + ShiftIcon: {fileID: 21300000, guid: 6a42d073009184c4f9bd47c2d4e8d1f7, type: 3} + MouseLeftIcon: {fileID: 21300000, guid: a308a6cbccf9c9b4fa444a974e7968df, type: 3} + MouseMiddleIcon: {fileID: 21300000, guid: 188698480e3264043842e31a1d7b26ab, type: 3} + ActionBar: {fileID: 393961848} + ActionBarSlot: {fileID: 8334150340270499366, guid: bfce34a0acbaa454e97a700e1875357e, + type: 3} EffectManagerParent: {fileID: 134113271} TradeMenu: {fileID: 522642869} HostileTargetIndicator: {fileID: 1787772783} @@ -16201,8 +15421,8 @@ MonoBehaviour: ShipPanel: {fileID: 7628189704109037582} TargetShipPanel: {fileID: 410701133} Dialog: {fileID: 620555924} - Context: {fileID: 0} - Dropdown: {fileID: 0} + Context: {fileID: 1157981993} + Dropdown: {fileID: 178733681} IntroDuration: 10 --- !u!4 &1009503730 Transform: @@ -20359,196 +19579,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1367229140} m_CullTransparentMesh: 0 ---- !u!1 &1376734758 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1376734759} - - component: {fileID: 1376734760} - m_Layer: 5 - m_Name: RPM Spacer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1376734759 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1376734758} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 779460300} - 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: 64.5, y: -64} - m_SizeDelta: {x: 129, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1376734760 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1376734758} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: -1 - m_PreferredHeight: 16 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &1378019500 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1378019501} - - component: {fileID: 1378019503} - - component: {fileID: 1378019502} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1378019501 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1378019500} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2141248069} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1378019502 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1378019500} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 0 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: 6 - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 3fb7d873bb5a7944bb9a7c73c430c44b, type: 2} - m_sharedMaterial: {fileID: 2100000, guid: b9d2f6c9804cec1489502dcc1c19ec54, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 10 - m_fontSizeBase: 10 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 1 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &1378019503 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1378019500} - m_CullTransparentMesh: 0 --- !u!1 &1390575962 GameObject: m_ObjectHideFlags: 0 @@ -21053,83 +20083,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1399108417} m_CullTransparentMesh: 0 ---- !u!1 &1399423349 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1399423350} - - component: {fileID: 1399423352} - - component: {fileID: 1399423353} - m_Layer: 5 - m_Name: Weapon Groups - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1399423350 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1399423349} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 133322212} - - {fileID: 1564656281} - m_Father: {fileID: 779460300} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 0, y: -72} - m_SizeDelta: {x: 129, y: 18} - m_Pivot: {x: 0, y: 1} ---- !u!114 &1399423352 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1399423349} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 1 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 2 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 0 - m_ChildControlWidth: 1 - m_ChildControlHeight: 1 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!225 &1399423353 -CanvasGroup: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1399423349} - m_Enabled: 1 - m_Alpha: 1 - m_Interactable: 1 - m_BlocksRaycasts: 1 - m_IgnoreParentGroups: 0 --- !u!1 &1404901904 GameObject: m_ObjectHideFlags: 0 @@ -21541,81 +20494,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1440873101} m_CullTransparentMesh: 0 ---- !u!1 &1454158445 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1454158446} - - component: {fileID: 1454158448} - - component: {fileID: 1454158447} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1454158446 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1454158445} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 111335747} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1454158447 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1454158445} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.7529412, g: 0.7529412, b: 1, a: 0.2} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 2 ---- !u!222 &1454158448 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1454158445} - m_CullTransparentMesh: 0 --- !u!1 &1459626059 GameObject: m_ObjectHideFlags: 0 @@ -22645,140 +21523,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1281fe44325f9b548aa42dc331b17266, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1 &1523113324 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1523113325} - - component: {fileID: 1523113327} - - component: {fileID: 1523113326} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1523113325 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1523113324} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2139956860} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1523113326 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1523113324} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 0 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: 3 - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 3fb7d873bb5a7944bb9a7c73c430c44b, type: 2} - m_sharedMaterial: {fileID: 2100000, guid: b9d2f6c9804cec1489502dcc1c19ec54, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 10 - m_fontSizeBase: 10 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 1 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &1523113327 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1523113324} - m_CullTransparentMesh: 0 --- !u!1 &1529341206 GameObject: m_ObjectHideFlags: 0 @@ -22875,81 +21619,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1529341206} m_CullTransparentMesh: 0 ---- !u!1 &1536999404 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1536999405} - - component: {fileID: 1536999407} - - component: {fileID: 1536999406} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1536999405 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1536999404} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2141248069} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1536999406 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1536999404} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.7529412, g: 0.7529412, b: 1, a: 0.101960786} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 2 ---- !u!222 &1536999407 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1536999404} - m_CullTransparentMesh: 0 --- !u!1 &1537342001 GameObject: m_ObjectHideFlags: 0 @@ -23274,7 +21943,7 @@ PrefabInstance: - target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 55.675 objectReference: {fileID: 0} - target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e, type: 3} @@ -23851,7 +22520,6 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - - {fileID: 779460300} - {fileID: 7628189704109037581} m_Father: {fileID: 346000247} m_RootOrder: 2 @@ -24026,108 +22694,6 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_ShowMaskGraphic: 0 ---- !u!1 &1564656280 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1564656281} - - component: {fileID: 1564656284} - - component: {fileID: 1564656282} - - component: {fileID: 1564656283} - m_Layer: 5 - m_Name: Groups - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1564656281 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1564656280} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 111335747} - - {fileID: 594274406} - - {fileID: 2139956860} - - {fileID: 840997852} - - {fileID: 690981292} - - {fileID: 2141248069} - m_Father: {fileID: 1399423350} - 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: 64, y: -9} - m_SizeDelta: {x: 128, y: 18} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1564656282 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1564656280} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1281fe44325f9b548aa42dc331b17266, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &1564656283 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1564656280} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8f090c2738224f698bdfa545978f4d5a, type: 3} - m_Name: - m_EditorClassIdentifier: - GroupLabel: - - {fileID: 2011788090} - - {fileID: 206030076} - - {fileID: 1523113326} - - {fileID: 206010633} - - {fileID: 677710708} - - {fileID: 1378019502} - GroupBackgrounds: - - {fileID: 1454158447} - - {fileID: 1821203005} - - {fileID: 737569923} - - {fileID: 2030710205} - - {fileID: 2060887867} - - {fileID: 1536999406} ---- !u!114 &1564656284 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1564656280} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: -1 - m_PreferredHeight: 18 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 --- !u!1 &1566772336 GameObject: m_ObjectHideFlags: 0 @@ -24577,7 +23143,7 @@ PrefabInstance: - target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 60.98 objectReference: {fileID: 0} - target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e, type: 3} @@ -27243,81 +25809,6 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: -20} m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &1821203003 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1821203004} - - component: {fileID: 1821203006} - - component: {fileID: 1821203005} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1821203004 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1821203003} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 594274406} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1821203005 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1821203003} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.7529412, g: 0.7529412, b: 1, a: 0.101960786} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 2 ---- !u!222 &1821203006 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1821203003} - m_CullTransparentMesh: 0 --- !u!1 &1827661516 GameObject: m_ObjectHideFlags: 0 @@ -29100,215 +27591,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1998350928} m_CullTransparentMesh: 1 ---- !u!1 &2011788088 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2011788089} - - component: {fileID: 2011788091} - - component: {fileID: 2011788090} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2011788089 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2011788088} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 111335747} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &2011788090 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2011788088} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 0 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: 1 - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 3fb7d873bb5a7944bb9a7c73c430c44b, type: 2} - m_sharedMaterial: {fileID: 2100000, guid: b9d2f6c9804cec1489502dcc1c19ec54, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 10 - m_fontSizeBase: 10 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 1 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &2011788091 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2011788088} - m_CullTransparentMesh: 0 ---- !u!1 &2030710203 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2030710204} - - component: {fileID: 2030710206} - - component: {fileID: 2030710205} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2030710204 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2030710203} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 840997852} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &2030710205 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2030710203} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.7529412, g: 0.7529412, b: 1, a: 0.101960786} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 2 ---- !u!222 &2030710206 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2030710203} - m_CullTransparentMesh: 0 --- !u!1 &2038175534 GameObject: m_ObjectHideFlags: 0 @@ -29687,81 +27969,6 @@ MonoBehaviour: m_FlexibleWidth: -1 m_FlexibleHeight: -1 m_LayoutPriority: 1 ---- !u!1 &2060887865 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2060887866} - - component: {fileID: 2060887868} - - component: {fileID: 2060887867} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2060887866 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2060887865} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 690981292} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &2060887867 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2060887865} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.7529412, g: 0.7529412, b: 1, a: 0.101960786} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 2 ---- !u!222 &2060887868 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2060887865} - m_CullTransparentMesh: 0 --- !u!1 &2065828644 GameObject: m_ObjectHideFlags: 0 @@ -31012,80 +29219,6 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2139956859 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2139956860} - m_Layer: 5 - m_Name: Group 3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2139956860 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2139956859} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 737569922} - - {fileID: 1523113325} - m_Father: {fileID: 1564656281} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 32, y: 0} - m_SizeDelta: {x: 14, y: 0} - m_Pivot: {x: 0, y: 0.5} ---- !u!1 &2141248068 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2141248069} - m_Layer: 5 - m_Name: Group 6 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2141248069 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2141248068} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1536999405} - - {fileID: 1378019501} - m_Father: {fileID: 1564656281} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 80, y: 0} - m_SizeDelta: {x: 14, y: 0} - m_Pivot: {x: 0, y: 0.5} --- !u!114 &114477922027825946 MonoBehaviour: m_ObjectHideFlags: 0 @@ -36030,7 +34163,7 @@ RectTransform: - {fileID: 1187424824} - {fileID: 416399495} m_Father: {fileID: 1558520822} - m_RootOrder: 1 + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -36882,7 +35015,7 @@ MonoBehaviour: m_EditorClassIdentifier: Settings: {fileID: 11400000, guid: cd2344e2001a37544aab0960c164d4ff, type: 2} ListElementPrototype: {fileID: 232470599} - TriggerGroupPrototype: {fileID: 1564656282} + TriggerGroupPrototype: {fileID: 0} HeaderElementEnabledColor: {r: 1, g: 1, b: 1, a: 0.078431375} HeaderElementDisabledColor: {r: 1, g: 1, b: 1, a: 0.011764706} OverrideIcon: {fileID: 1576705656} @@ -36890,7 +35023,6 @@ MonoBehaviour: ShieldIcon: {fileID: 19222411} HeatsinkBackground: {fileID: 661332569} AetherDriveUi: {fileID: 1735948311} - AetherDriveUiSpacer: {fileID: 1376734758} EnergyLabel: {fileID: 804489113} CockpitTemperatureLabel: {fileID: 212527384} RadiatorTemperatureLabel: {fileID: 1752418078} @@ -36911,10 +35043,6 @@ MonoBehaviour: ForwardRPMFill: {fileID: 1946192591} StrafeRPMFill: {fileID: 1542388328} TurnRPMFill: {fileID: 1013676408} - TriggerGroups: {fileID: 1399423353} - TriggerGroupsFadeDuration: 0.5 - TriggerGroupsPersistDuration: 5 - TriggerGroupColor: {r: 0.75, g: 0.75, b: 1, a: 0.050980393} --- !u!224 &7628189704657849088 RectTransform: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/Main Menu.unity b/Assets/Scenes/Main Menu.unity index e535a0f59..d908871f0 100644 --- a/Assets/Scenes/Main Menu.unity +++ b/Assets/Scenes/Main Menu.unity @@ -802,8 +802,8 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 741153267} - m_LocalRotation: {x: 0.01550689, y: 0.9502416, z: -0.3074131, w: 0.047933202} - m_LocalPosition: {x: -117.51997, y: -77.08743, z: 149.09024} + m_LocalRotation: {x: 0.0155069195, y: 0.9502416, z: -0.30741316, w: 0.047933277} + m_LocalPosition: {x: -117.52002, y: -77.087425, z: 149.09026} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 412917866} @@ -1234,8 +1234,8 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 965376321} - m_LocalRotation: {x: 0.01550689, y: 0.9502416, z: -0.3074131, w: 0.047933202} - m_LocalPosition: {x: -117.51997, y: -77.08743, z: 149.09024} + m_LocalRotation: {x: 0.0155069195, y: 0.9502416, z: -0.30741316, w: 0.047933277} + m_LocalPosition: {x: -117.52002, y: -77.087425, z: 149.09026} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} diff --git a/Assets/Scripts/AetheriaInput.cs b/Assets/Scripts/AetheriaInput.cs index 91261f1e4..adfe150c5 100644 --- a/Assets/Scripts/AetheriaInput.cs +++ b/Assets/Scripts/AetheriaInput.cs @@ -34,54 +34,6 @@ public class @AetheriaInput : IInputActionCollection, IDisposable ""processors"": """", ""interactions"": """" }, - { - ""name"": ""Fire Group 1"", - ""type"": ""Button"", - ""id"": ""575943b0-4866-4be0-a289-3253973523b1"", - ""expectedControlType"": ""Button"", - ""processors"": """", - ""interactions"": """" - }, - { - ""name"": ""Fire Group 2"", - ""type"": ""Button"", - ""id"": ""b9bdfa1f-db61-4ec3-883a-fc3f9e88c5f5"", - ""expectedControlType"": ""Button"", - ""processors"": """", - ""interactions"": """" - }, - { - ""name"": ""Fire Group 3"", - ""type"": ""Button"", - ""id"": ""d79871a2-8565-4cf3-809f-9c979adfcd81"", - ""expectedControlType"": ""Button"", - ""processors"": """", - ""interactions"": """" - }, - { - ""name"": ""Fire Group 4"", - ""type"": ""Button"", - ""id"": ""59902e9e-1dfb-4624-9599-72ff763ef327"", - ""expectedControlType"": ""Button"", - ""processors"": """", - ""interactions"": """" - }, - { - ""name"": ""Fire Group 5"", - ""type"": ""Button"", - ""id"": ""80b549c1-7378-48c5-8da2-ce95b9c92913"", - ""expectedControlType"": ""Button"", - ""processors"": """", - ""interactions"": """" - }, - { - ""name"": ""Fire Group 6"", - ""type"": ""Button"", - ""id"": ""4ba5091e-051a-41df-9985-6c0e082b20a5"", - ""expectedControlType"": ""Button"", - ""processors"": """", - ""interactions"": """" - }, { ""name"": ""Minimap Zoom"", ""type"": ""Button"", @@ -90,46 +42,6 @@ public class @AetheriaInput : IInputActionCollection, IDisposable ""processors"": """", ""interactions"": """" }, - { - ""name"": ""Next Weapon Group"", - ""type"": ""Button"", - ""id"": ""8ed69fe0-d934-44ea-94c0-d5d69cc33b32"", - ""expectedControlType"": ""Button"", - ""processors"": """", - ""interactions"": """" - }, - { - ""name"": ""Previous Weapon Group"", - ""type"": ""Button"", - ""id"": ""93f19768-6c19-4bab-8b53-4e3e5ba764fc"", - ""expectedControlType"": ""Button"", - ""processors"": """", - ""interactions"": """" - }, - { - ""name"": ""Next Weapon"", - ""type"": ""Button"", - ""id"": ""09a5e315-6290-4ab5-9e7c-55b7523562b7"", - ""expectedControlType"": ""Button"", - ""processors"": """", - ""interactions"": """" - }, - { - ""name"": ""Previous Weapon"", - ""type"": ""Button"", - ""id"": ""ed923265-545f-4475-ba7c-885371612325"", - ""expectedControlType"": ""Button"", - ""processors"": """", - ""interactions"": """" - }, - { - ""name"": ""Toggle Weapon Group"", - ""type"": ""Button"", - ""id"": ""c61da4ef-e0bc-4d17-aab0-8e2979c3de3c"", - ""expectedControlType"": ""Button"", - ""processors"": """", - ""interactions"": """" - }, { ""name"": ""Target Reticle"", ""type"": ""Button"", @@ -374,50 +286,6 @@ public class @AetheriaInput : IInputActionCollection, IDisposable ""isComposite"": false, ""isPartOfComposite"": false }, - { - ""name"": """", - ""id"": ""143bb1cd-cc10-4eca-a2f0-a3664166fe91"", - ""path"": ""/rightTrigger"", - ""interactions"": """", - ""processors"": """", - ""groups"": "";Gamepad"", - ""action"": ""Fire Group 1"", - ""isComposite"": false, - ""isPartOfComposite"": false - }, - { - ""name"": """", - ""id"": ""05f6913d-c316-48b2-a6bb-e225f14c7960"", - ""path"": ""/leftButton"", - ""interactions"": """", - ""processors"": """", - ""groups"": "";Keyboard&Mouse"", - ""action"": ""Fire Group 1"", - ""isComposite"": false, - ""isPartOfComposite"": false - }, - { - ""name"": """", - ""id"": ""ee3d0cd2-254e-47a7-a8cb-bc94d9658c54"", - ""path"": ""/trigger"", - ""interactions"": """", - ""processors"": """", - ""groups"": ""Joystick"", - ""action"": ""Fire Group 1"", - ""isComposite"": false, - ""isPartOfComposite"": false - }, - { - ""name"": """", - ""id"": ""8c676533-8c53-4b6a-9368-d194b8a997f8"", - ""path"": ""/1"", - ""interactions"": """", - ""processors"": """", - ""groups"": ""Keyboard&Mouse"", - ""action"": ""Fire Group 1"", - ""isComposite"": false, - ""isPartOfComposite"": false - }, { ""name"": """", ""id"": ""495c3ec6-3188-4309-9072-f958e89c87ec"", @@ -429,138 +297,6 @@ public class @AetheriaInput : IInputActionCollection, IDisposable ""isComposite"": false, ""isPartOfComposite"": false }, - { - ""name"": """", - ""id"": ""444b4049-a11e-4bef-8a57-345c3d1a7545"", - ""path"": ""/rightArrow"", - ""interactions"": """", - ""processors"": """", - ""groups"": ""Keyboard&Mouse"", - ""action"": ""Next Weapon Group"", - ""isComposite"": false, - ""isPartOfComposite"": false - }, - { - ""name"": """", - ""id"": ""fb6c0d4c-dae6-406b-b35a-c35b5d25022c"", - ""path"": ""/leftArrow"", - ""interactions"": """", - ""processors"": """", - ""groups"": ""Keyboard&Mouse"", - ""action"": ""Previous Weapon Group"", - ""isComposite"": false, - ""isPartOfComposite"": false - }, - { - ""name"": """", - ""id"": ""bac8c902-3cad-4a7f-8773-35800a2ee3b9"", - ""path"": ""/downArrow"", - ""interactions"": """", - ""processors"": """", - ""groups"": ""Keyboard&Mouse"", - ""action"": ""Next Weapon"", - ""isComposite"": false, - ""isPartOfComposite"": false - }, - { - ""name"": """", - ""id"": ""969aff21-097a-4c35-9c46-2239e5f321f5"", - ""path"": ""/upArrow"", - ""interactions"": """", - ""processors"": """", - ""groups"": ""Keyboard&Mouse"", - ""action"": ""Previous Weapon"", - ""isComposite"": false, - ""isPartOfComposite"": false - }, - { - ""name"": """", - ""id"": ""a2bcbfda-f091-433f-8ac9-112396507408"", - ""path"": ""/rightCtrl"", - ""interactions"": """", - ""processors"": """", - ""groups"": ""Keyboard&Mouse"", - ""action"": ""Toggle Weapon Group"", - ""isComposite"": false, - ""isPartOfComposite"": false - }, - { - ""name"": """", - ""id"": ""48b8b6ee-8435-439a-96a1-c968254ff605"", - ""path"": ""/rightButton"", - ""interactions"": """", - ""processors"": """", - ""groups"": "";Keyboard&Mouse"", - ""action"": ""Fire Group 2"", - ""isComposite"": false, - ""isPartOfComposite"": false - }, - { - ""name"": """", - ""id"": ""8ae75721-10ab-4d83-8322-82cbb3fdcc44"", - ""path"": ""/2"", - ""interactions"": """", - ""processors"": """", - ""groups"": ""Keyboard&Mouse"", - ""action"": ""Fire Group 2"", - ""isComposite"": false, - ""isPartOfComposite"": false - }, - { - ""name"": """", - ""id"": ""7f89c9af-795b-4b1e-ad43-dac3350cfbe3"", - ""path"": ""/middleButton"", - ""interactions"": """", - ""processors"": """", - ""groups"": "";Keyboard&Mouse"", - ""action"": ""Fire Group 3"", - ""isComposite"": false, - ""isPartOfComposite"": false - }, - { - ""name"": """", - ""id"": ""c249f018-c10a-4c2c-a4ba-9fba54ed33e9"", - ""path"": ""/3"", - ""interactions"": """", - ""processors"": """", - ""groups"": ""Keyboard&Mouse"", - ""action"": ""Fire Group 3"", - ""isComposite"": false, - ""isPartOfComposite"": false - }, - { - ""name"": """", - ""id"": ""421e49a0-897e-4ea3-af8d-af96989d2957"", - ""path"": ""/4"", - ""interactions"": """", - ""processors"": """", - ""groups"": "";Keyboard&Mouse"", - ""action"": ""Fire Group 4"", - ""isComposite"": false, - ""isPartOfComposite"": false - }, - { - ""name"": """", - ""id"": ""1c8a43b7-4200-43b9-925c-c1634554083c"", - ""path"": ""/5"", - ""interactions"": """", - ""processors"": """", - ""groups"": "";Keyboard&Mouse"", - ""action"": ""Fire Group 5"", - ""isComposite"": false, - ""isPartOfComposite"": false - }, - { - ""name"": """", - ""id"": ""0680216e-b462-45a3-8050-2b89dcb615aa"", - ""path"": ""/6"", - ""interactions"": """", - ""processors"": """", - ""groups"": "";Keyboard&Mouse"", - ""action"": ""Fire Group 6"", - ""isComposite"": false, - ""isPartOfComposite"": false - }, { ""name"": """", ""id"": ""5211a58c-428b-4ee6-820d-2f67789806d6"", @@ -1287,18 +1023,7 @@ public class @AetheriaInput : IInputActionCollection, IDisposable m_Player = asset.FindActionMap("Player", throwIfNotFound: true); m_Player_Move = m_Player.FindAction("Move", throwIfNotFound: true); m_Player_Look = m_Player.FindAction("Look", throwIfNotFound: true); - m_Player_FireGroup1 = m_Player.FindAction("Fire Group 1", throwIfNotFound: true); - m_Player_FireGroup2 = m_Player.FindAction("Fire Group 2", throwIfNotFound: true); - m_Player_FireGroup3 = m_Player.FindAction("Fire Group 3", throwIfNotFound: true); - m_Player_FireGroup4 = m_Player.FindAction("Fire Group 4", throwIfNotFound: true); - m_Player_FireGroup5 = m_Player.FindAction("Fire Group 5", throwIfNotFound: true); - m_Player_FireGroup6 = m_Player.FindAction("Fire Group 6", throwIfNotFound: true); m_Player_MinimapZoom = m_Player.FindAction("Minimap Zoom", throwIfNotFound: true); - m_Player_NextWeaponGroup = m_Player.FindAction("Next Weapon Group", throwIfNotFound: true); - m_Player_PreviousWeaponGroup = m_Player.FindAction("Previous Weapon Group", throwIfNotFound: true); - m_Player_NextWeapon = m_Player.FindAction("Next Weapon", throwIfNotFound: true); - m_Player_PreviousWeapon = m_Player.FindAction("Previous Weapon", throwIfNotFound: true); - m_Player_ToggleWeaponGroup = m_Player.FindAction("Toggle Weapon Group", throwIfNotFound: true); m_Player_TargetReticle = m_Player.FindAction("Target Reticle", throwIfNotFound: true); m_Player_TargetPrevious = m_Player.FindAction("Target Previous", throwIfNotFound: true); m_Player_TargetNext = m_Player.FindAction("Target Next", throwIfNotFound: true); @@ -1379,18 +1104,7 @@ public class @AetheriaInput : IInputActionCollection, IDisposable private IPlayerActions m_PlayerActionsCallbackInterface; private readonly InputAction m_Player_Move; private readonly InputAction m_Player_Look; - private readonly InputAction m_Player_FireGroup1; - private readonly InputAction m_Player_FireGroup2; - private readonly InputAction m_Player_FireGroup3; - private readonly InputAction m_Player_FireGroup4; - private readonly InputAction m_Player_FireGroup5; - private readonly InputAction m_Player_FireGroup6; private readonly InputAction m_Player_MinimapZoom; - private readonly InputAction m_Player_NextWeaponGroup; - private readonly InputAction m_Player_PreviousWeaponGroup; - private readonly InputAction m_Player_NextWeapon; - private readonly InputAction m_Player_PreviousWeapon; - private readonly InputAction m_Player_ToggleWeaponGroup; private readonly InputAction m_Player_TargetReticle; private readonly InputAction m_Player_TargetPrevious; private readonly InputAction m_Player_TargetNext; @@ -1408,18 +1122,7 @@ public class @AetheriaInput : IInputActionCollection, IDisposable public PlayerActions(@AetheriaInput wrapper) { m_Wrapper = wrapper; } public InputAction @Move => m_Wrapper.m_Player_Move; public InputAction @Look => m_Wrapper.m_Player_Look; - public InputAction @FireGroup1 => m_Wrapper.m_Player_FireGroup1; - public InputAction @FireGroup2 => m_Wrapper.m_Player_FireGroup2; - public InputAction @FireGroup3 => m_Wrapper.m_Player_FireGroup3; - public InputAction @FireGroup4 => m_Wrapper.m_Player_FireGroup4; - public InputAction @FireGroup5 => m_Wrapper.m_Player_FireGroup5; - public InputAction @FireGroup6 => m_Wrapper.m_Player_FireGroup6; public InputAction @MinimapZoom => m_Wrapper.m_Player_MinimapZoom; - public InputAction @NextWeaponGroup => m_Wrapper.m_Player_NextWeaponGroup; - public InputAction @PreviousWeaponGroup => m_Wrapper.m_Player_PreviousWeaponGroup; - public InputAction @NextWeapon => m_Wrapper.m_Player_NextWeapon; - public InputAction @PreviousWeapon => m_Wrapper.m_Player_PreviousWeapon; - public InputAction @ToggleWeaponGroup => m_Wrapper.m_Player_ToggleWeaponGroup; public InputAction @TargetReticle => m_Wrapper.m_Player_TargetReticle; public InputAction @TargetPrevious => m_Wrapper.m_Player_TargetPrevious; public InputAction @TargetNext => m_Wrapper.m_Player_TargetNext; @@ -1446,42 +1149,9 @@ public class @AetheriaInput : IInputActionCollection, IDisposable @Look.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnLook; @Look.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnLook; @Look.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnLook; - @FireGroup1.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup1; - @FireGroup1.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup1; - @FireGroup1.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup1; - @FireGroup2.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup2; - @FireGroup2.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup2; - @FireGroup2.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup2; - @FireGroup3.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup3; - @FireGroup3.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup3; - @FireGroup3.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup3; - @FireGroup4.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup4; - @FireGroup4.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup4; - @FireGroup4.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup4; - @FireGroup5.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup5; - @FireGroup5.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup5; - @FireGroup5.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup5; - @FireGroup6.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup6; - @FireGroup6.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup6; - @FireGroup6.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup6; @MinimapZoom.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnMinimapZoom; @MinimapZoom.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnMinimapZoom; @MinimapZoom.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnMinimapZoom; - @NextWeaponGroup.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnNextWeaponGroup; - @NextWeaponGroup.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnNextWeaponGroup; - @NextWeaponGroup.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnNextWeaponGroup; - @PreviousWeaponGroup.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnPreviousWeaponGroup; - @PreviousWeaponGroup.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnPreviousWeaponGroup; - @PreviousWeaponGroup.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnPreviousWeaponGroup; - @NextWeapon.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnNextWeapon; - @NextWeapon.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnNextWeapon; - @NextWeapon.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnNextWeapon; - @PreviousWeapon.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnPreviousWeapon; - @PreviousWeapon.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnPreviousWeapon; - @PreviousWeapon.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnPreviousWeapon; - @ToggleWeaponGroup.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnToggleWeaponGroup; - @ToggleWeaponGroup.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnToggleWeaponGroup; - @ToggleWeaponGroup.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnToggleWeaponGroup; @TargetReticle.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTargetReticle; @TargetReticle.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTargetReticle; @TargetReticle.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTargetReticle; @@ -1525,42 +1195,9 @@ public class @AetheriaInput : IInputActionCollection, IDisposable @Look.started += instance.OnLook; @Look.performed += instance.OnLook; @Look.canceled += instance.OnLook; - @FireGroup1.started += instance.OnFireGroup1; - @FireGroup1.performed += instance.OnFireGroup1; - @FireGroup1.canceled += instance.OnFireGroup1; - @FireGroup2.started += instance.OnFireGroup2; - @FireGroup2.performed += instance.OnFireGroup2; - @FireGroup2.canceled += instance.OnFireGroup2; - @FireGroup3.started += instance.OnFireGroup3; - @FireGroup3.performed += instance.OnFireGroup3; - @FireGroup3.canceled += instance.OnFireGroup3; - @FireGroup4.started += instance.OnFireGroup4; - @FireGroup4.performed += instance.OnFireGroup4; - @FireGroup4.canceled += instance.OnFireGroup4; - @FireGroup5.started += instance.OnFireGroup5; - @FireGroup5.performed += instance.OnFireGroup5; - @FireGroup5.canceled += instance.OnFireGroup5; - @FireGroup6.started += instance.OnFireGroup6; - @FireGroup6.performed += instance.OnFireGroup6; - @FireGroup6.canceled += instance.OnFireGroup6; @MinimapZoom.started += instance.OnMinimapZoom; @MinimapZoom.performed += instance.OnMinimapZoom; @MinimapZoom.canceled += instance.OnMinimapZoom; - @NextWeaponGroup.started += instance.OnNextWeaponGroup; - @NextWeaponGroup.performed += instance.OnNextWeaponGroup; - @NextWeaponGroup.canceled += instance.OnNextWeaponGroup; - @PreviousWeaponGroup.started += instance.OnPreviousWeaponGroup; - @PreviousWeaponGroup.performed += instance.OnPreviousWeaponGroup; - @PreviousWeaponGroup.canceled += instance.OnPreviousWeaponGroup; - @NextWeapon.started += instance.OnNextWeapon; - @NextWeapon.performed += instance.OnNextWeapon; - @NextWeapon.canceled += instance.OnNextWeapon; - @PreviousWeapon.started += instance.OnPreviousWeapon; - @PreviousWeapon.performed += instance.OnPreviousWeapon; - @PreviousWeapon.canceled += instance.OnPreviousWeapon; - @ToggleWeaponGroup.started += instance.OnToggleWeaponGroup; - @ToggleWeaponGroup.performed += instance.OnToggleWeaponGroup; - @ToggleWeaponGroup.canceled += instance.OnToggleWeaponGroup; @TargetReticle.started += instance.OnTargetReticle; @TargetReticle.performed += instance.OnTargetReticle; @TargetReticle.canceled += instance.OnTargetReticle; @@ -1597,7 +1234,7 @@ public class @AetheriaInput : IInputActionCollection, IDisposable } } } - public PlayerActions @Player => new PlayerActions(this); + public PlayerActions Player => new PlayerActions(this); // UI private readonly InputActionMap m_UI; @@ -1791,18 +1428,7 @@ public class @AetheriaInput : IInputActionCollection, IDisposable { void OnMove(InputAction.CallbackContext context); void OnLook(InputAction.CallbackContext context); - void OnFireGroup1(InputAction.CallbackContext context); - void OnFireGroup2(InputAction.CallbackContext context); - void OnFireGroup3(InputAction.CallbackContext context); - void OnFireGroup4(InputAction.CallbackContext context); - void OnFireGroup5(InputAction.CallbackContext context); - void OnFireGroup6(InputAction.CallbackContext context); void OnMinimapZoom(InputAction.CallbackContext context); - void OnNextWeaponGroup(InputAction.CallbackContext context); - void OnPreviousWeaponGroup(InputAction.CallbackContext context); - void OnNextWeapon(InputAction.CallbackContext context); - void OnPreviousWeapon(InputAction.CallbackContext context); - void OnToggleWeaponGroup(InputAction.CallbackContext context); void OnTargetReticle(InputAction.CallbackContext context); void OnTargetPrevious(InputAction.CallbackContext context); void OnTargetNext(InputAction.CallbackContext context); diff --git a/Assets/Scripts/Gameplay/ActionBarSlot.cs b/Assets/Scripts/Gameplay/ActionBarSlot.cs new file mode 100644 index 000000000..a50405f77 --- /dev/null +++ b/Assets/Scripts/Gameplay/ActionBarSlot.cs @@ -0,0 +1,206 @@ +using System; +using System.Linq; +using JsonKnownTypes; +using MessagePack; +using Newtonsoft.Json; +using TMPro; +using UnityEngine; +using UnityEngine.UI; + +public class ActionBarSlot : MonoBehaviour +{ + public TextMeshProUGUI Label; + public RawImage Icon; + public TextMeshProUGUI InputLabel; + public Image InputIcon; + public TextMeshProUGUI QuantityRemaining; + public Image Fill; + private ActionBarBinding binding; + + public Entity Entity { get; set; } + + public ActionBarBinding Binding + { + get => binding; + set + { + binding = value; + if (binding == null) + { + QuantityRemaining.gameObject.SetActive(false); + Icon.gameObject.SetActive(false); + } + } + } + + private void Update() + { + Binding?.Update(); + } + + public SavedActionBarBinding Save() + { + return Binding switch + { + ActionBarConsumableBinding actionBarConsumableBinding => new SavedActionBarConsumableBinding + { + Target = new DatabaseLink{LinkID = actionBarConsumableBinding.Target.ID} + }, + ActionBarGearBinding actionBarGearBinding => new SavedActionBarGearBinding + { + EquipmentIndex = Entity.Equipment.IndexOf(actionBarGearBinding.Item), + BehaviorIndex = Array.IndexOf(actionBarGearBinding.Item.Behaviors, actionBarGearBinding.Behavior) + }, + ActionBarWeaponGroupBinding actionBarWeaponGroupBinding => new SavedActionBarWeaponGroupBinding + { + Group = actionBarWeaponGroupBinding.Group + }, + _ => null + }; + } + + public void Restore(SavedActionBarBinding binding) + { + Binding = binding switch + { + SavedActionBarConsumableBinding savedActionBarConsumableBinding => + new ActionBarConsumableBinding( + Entity, + this, + savedActionBarConsumableBinding.Target.Value), + SavedActionBarGearBinding savedActionBarGearBinding => + new ActionBarGearBinding( + Entity, + this, + Entity.Equipment[savedActionBarGearBinding.EquipmentIndex], + Entity.Equipment[savedActionBarGearBinding.EquipmentIndex] + .Behaviors[savedActionBarGearBinding.BehaviorIndex] as IActivatedBehavior), + SavedActionBarWeaponGroupBinding savedActionBarWeaponGroupBinding => + new ActionBarWeaponGroupBinding(Entity, this, savedActionBarWeaponGroupBinding.Group), + _ => null + }; + } +} + +public abstract class ActionBarBinding +{ + protected Entity Entity { get; } + protected ActionBarSlot Slot { get; } + public abstract void Activate(); + public abstract void Deactivate(); + public abstract void Update(); + public ActionBarBinding(Entity entity, ActionBarSlot slot) + { + Entity = entity; + Slot = slot; + } +} + +public class ActionBarConsumableBinding : ActionBarBinding +{ + public ConsumableItemData Target; + + public ActionBarConsumableBinding(Entity entity, ActionBarSlot slot, ConsumableItemData target) : base(entity, slot) + { + Target = target; + Slot.QuantityRemaining.gameObject.SetActive(true); + var data = Target; + if(!string.IsNullOrEmpty(data.Icon)) + { + Slot.Label.gameObject.SetActive(false); + Slot.Icon.gameObject.SetActive(true); + Slot.Icon.texture = Resources.Load(data.Icon.Substring("Assets/Resources/".Length).Split('.').First()); + } + else Slot.Icon.gameObject.SetActive(false); + } + + public override void Activate() + { + Entity.TryActivateConsumable(Target); + } + + public override void Deactivate() + { + } + + public override void Update() + { + Slot.QuantityRemaining.text = $"{Entity.CountItemsInCargo(Target.ID)}"; + var instance = Entity.FindActiveConsumable(Target); + if (instance == null) Slot.Fill.fillAmount = 0; + else Slot.Fill.fillAmount = instance.RemainingDuration / instance.Data.Duration; + } +} + +public class ActionBarGearBinding : ActionBarBinding +{ + public EquippedItem Item { get; } + public IActivatedBehavior Behavior { get; } + + public bool Active; + + public ActionBarGearBinding(Entity entity, ActionBarSlot slot, EquippedItem item, IActivatedBehavior behavior) : base(entity, slot) + { + Item = item; + Behavior = behavior; + Slot.QuantityRemaining.gameObject.SetActive(false); + if(!string.IsNullOrEmpty(Item.Data.ActionBarIcon)) + { + Slot.Label.gameObject.SetActive(false); + Slot.Icon.gameObject.SetActive(true); + Slot.Icon.texture = Resources.Load(Item.Data.ActionBarIcon.Substring("Assets/Resources/".Length).Split('.').First()); + } + else Slot.Icon.gameObject.SetActive(false); + } + + public override void Activate() + { + Active = true; + Behavior.Activate(); + } + + public override void Deactivate() + { + Active = false; + Behavior.Deactivate(); + } + + public override void Update() + { + Slot.Fill.fillAmount = Active ? 1 : 0; + } +} + +[MessagePackObject] +public class ActionBarWeaponGroupBinding : ActionBarBinding +{ + [Key(0)] public int Group; + + public ActionBarWeaponGroupBinding(Entity entity, ActionBarSlot slot, int group) : base(entity, slot) + { + Group = group; + slot.Label.text = $"G{Group}"; + Slot.Icon.gameObject.SetActive(false); + } + + public override void Activate() + { + foreach (var weapon in Entity.TriggerGroups[Group].weapons) + { + weapon.Activate(); + } + } + + public override void Deactivate() + { + foreach (var weapon in Entity.TriggerGroups[Group].weapons) + { + weapon.Deactivate(); + } + } + + public override void Update() + { + + } +} \ No newline at end of file diff --git a/Assets/Scripts/Gameplay/ActionBarSlot.cs.meta b/Assets/Scripts/Gameplay/ActionBarSlot.cs.meta new file mode 100644 index 000000000..2b8e0a6c9 --- /dev/null +++ b/Assets/Scripts/Gameplay/ActionBarSlot.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f285e0b05ca24b83bd6cd48419cbad6e +timeCreated: 1618532311 \ No newline at end of file diff --git a/Assets/Scripts/Gameplay/ActionGameManager.cs b/Assets/Scripts/Gameplay/ActionGameManager.cs index aa2244b48..c73efca2a 100644 --- a/Assets/Scripts/Gameplay/ActionGameManager.cs +++ b/Assets/Scripts/Gameplay/ActionGameManager.cs @@ -62,9 +62,7 @@ public class ActionGameManager : MonoBehaviour } public static Sector CurrentSector; - - - + public GameSettings Settings; //public string StarterShipTemplate = "Longinus"; public float2 Sensitivity; @@ -80,7 +78,14 @@ public class ActionGameManager : MonoBehaviour public PostProcessVolume SevereHeatstrokePP; public PostProcessVolume SevereHypothermiaPP; + [Header("Input Icons")] + public Sprite ShiftIcon; + public Sprite MouseLeftIcon; + public Sprite MouseMiddleIcon; + [Header("Scene Links")] + public Transform ActionBar; + public ActionBarSlot ActionBarSlot; public Transform EffectManagerParent; public TradeMenu TradeMenu; public Prototype HostileTargetIndicator; @@ -132,6 +137,8 @@ public class ActionGameManager : MonoBehaviour private float _severeHeatstrokePhase; private bool _uiHidden; private bool _menuShown; + private List _actionBarSlots = new List(); + private List _actionBarActions = new List(); public AetheriaInput Input { get; private set; } public EquippedDockingBay DockingBay { get; private set; } @@ -197,7 +204,6 @@ public class ActionGameManager : MonoBehaviour Input = new AetheriaInput(); Input.Global.Enable(); - Input.UI.Enable(); _zoomLevelIndex = Settings.DefaultMinimapZoom; Input.Player.MinimapZoom.performed += context => @@ -232,44 +238,7 @@ public class ActionGameManager : MonoBehaviour else Undock(); }; - Input.Global.MainMenu.performed += context => - { - if (EventSystem.current.currentSelectedGameObject?.GetComponent() != null) return; - if (CurrentEntity == null) return; - if (MainMenu.gameObject.activeSelf) - { - _paused = false; - VolumeRenderer.EnableDepth = true; - MainMenu.gameObject.SetActive(false); - if (_menuShown) - { - Menu.gameObject.SetActive(true); - } - else - { - GameplayUI.gameObject.SetActive(true); - Cursor.lockState = CursorLockMode.Locked; - Input.Player.Enable(); - } - } - else - { - _paused = true; - VolumeRenderer.EnableDepth = false; - MainMenu.gameObject.SetActive(true); - _menuShown = Menu.gameObject.activeSelf; - if (_menuShown) - { - Menu.gameObject.SetActive(false); - } - else - { - GameplayUI.gameObject.SetActive(false); - Cursor.lockState = CursorLockMode.None; - Input.Player.Disable(); - } - } - }; + Input.Global.MainMenu.performed += context => ToggleMainMenu(); Input.Player.EnterWormhole.performed += context => { @@ -349,123 +318,42 @@ public class ActionGameManager : MonoBehaviour #endregion - #region Trigger Groups + #region Action Bar - Input.Player.PreviousWeaponGroup.performed += context => + ActionBarSlot createBinding(string controlPath) { - if (CurrentEntity.Parent != null) return; - SchematicDisplay.SelectedGroupIndex--; - }; + var action = new InputAction(binding: controlPath); + _actionBarActions.Add(action); + var slot = Instantiate(ActionBarSlot, ActionBar); + _actionBarSlots.Add(slot); + action.started += context => slot.Binding?.Activate(); + action.canceled += context => slot.Binding?.Deactivate(); + return slot; + } - Input.Player.NextWeaponGroup.performed += context => - { - if (CurrentEntity.Parent != null) return; - SchematicDisplay.SelectedGroupIndex++; - }; - - Input.Player.PreviousWeapon.performed += context => - { - if (CurrentEntity.Parent != null) return; - SchematicDisplay.SelectedItemIndex--; - }; - - Input.Player.NextWeapon.performed += context => - { - if (CurrentEntity.Parent != null) return; - SchematicDisplay.SelectedItemIndex++; - }; - - Input.Player.ToggleWeaponGroup.performed += context => - { - if (CurrentEntity.Parent != null) return; - var item = SchematicDisplay.SchematicItems[SchematicDisplay.SelectedItemIndex]; - if (CurrentEntity.TriggerGroups[SchematicDisplay.SelectedGroupIndex].items.Contains(item.Item)) - CurrentEntity.TriggerGroups[SchematicDisplay.SelectedGroupIndex].items.Remove(item.Item); - else CurrentEntity.TriggerGroups[SchematicDisplay.SelectedGroupIndex].items.Add(item.Item); - foreach (var group in item.Item.BehaviorGroups.Values) - { - var weapon = group.GetBehavior(); - if(weapon != null) - { - if (CurrentEntity.TriggerGroups[SchematicDisplay.SelectedGroupIndex].weapons.Contains(weapon)) - CurrentEntity.TriggerGroups[SchematicDisplay.SelectedGroupIndex].weapons.Remove(weapon); - else CurrentEntity.TriggerGroups[SchematicDisplay.SelectedGroupIndex].weapons.Add(weapon); - } - } - SchematicDisplay.UpdateTriggerGroups(); - }; + var shift = createBinding("/leftShift"); + shift.InputIcon.sprite = ShiftIcon; + shift.InputLabel.gameObject.SetActive(false); - Input.Player.FireGroup1.started += context => - { - if (CurrentEntity.Parent != null) return; - foreach (var s in CurrentEntity.TriggerGroups[0].weapons) s.Activate(); - }; + var left = createBinding("/leftButton"); + left.InputIcon.sprite = MouseLeftIcon; + left.InputLabel.gameObject.SetActive(false); + + var right = createBinding("/rightButton"); + right.InputIcon.sprite = MouseLeftIcon; + right.InputIcon.transform.localScale = new Vector3(-1, 1, 1); + right.InputLabel.gameObject.SetActive(false); + + var middle = createBinding("/middleButton"); + middle.InputIcon.sprite = MouseMiddleIcon; + middle.InputLabel.gameObject.SetActive(false); - Input.Player.FireGroup1.canceled += context => + for (int i = 1; i < 6; i++) { - if (CurrentEntity.Parent != null) return; - foreach (var s in CurrentEntity.TriggerGroups[0].weapons) s.Deactivate(); - }; - - Input.Player.FireGroup2.started += context => - { - if (CurrentEntity.Parent != null) return; - foreach (var s in CurrentEntity.TriggerGroups[1].weapons) s.Activate(); - }; - - Input.Player.FireGroup2.canceled += context => - { - if (CurrentEntity.Parent != null) return; - foreach (var s in CurrentEntity.TriggerGroups[1].weapons) s.Deactivate(); - }; - - Input.Player.FireGroup3.started += context => - { - if (CurrentEntity.Parent != null) return; - foreach (var s in CurrentEntity.TriggerGroups[2].weapons) s.Activate(); - }; - - Input.Player.FireGroup3.canceled += context => - { - if (CurrentEntity.Parent != null) return; - foreach (var s in CurrentEntity.TriggerGroups[2].weapons) s.Deactivate(); - }; - - Input.Player.FireGroup4.started += context => - { - if (CurrentEntity.Parent != null) return; - foreach (var s in CurrentEntity.TriggerGroups[3].weapons) s.Activate(); - }; - - Input.Player.FireGroup4.canceled += context => - { - if (CurrentEntity.Parent != null) return; - foreach (var s in CurrentEntity.TriggerGroups[3].weapons) s.Deactivate(); - }; - - Input.Player.FireGroup5.started += context => - { - if (CurrentEntity.Parent != null) return; - foreach (var s in CurrentEntity.TriggerGroups[4].weapons) s.Activate(); - }; - - Input.Player.FireGroup5.canceled += context => - { - if (CurrentEntity.Parent != null) return; - foreach (var s in CurrentEntity.TriggerGroups[4].weapons) s.Deactivate(); - }; - - Input.Player.FireGroup6.started += context => - { - if (CurrentEntity.Parent != null) return; - foreach (var s in CurrentEntity.TriggerGroups[5].weapons) s.Activate(); - }; - - Input.Player.FireGroup6.canceled += context => - { - if (CurrentEntity.Parent != null) return; - foreach (var s in CurrentEntity.TriggerGroups[5].weapons) s.Deactivate(); - }; + var num = createBinding($"/{i}"); + num.InputIcon.gameObject.SetActive(false); + num.InputLabel.text = i.ToString(); + } #endregion @@ -579,6 +467,18 @@ public class ActionGameManager : MonoBehaviour }); } + public void EnablePlayerInput() + { + Input.Player.Enable(); + foreach (var a in _actionBarActions) a.Enable(); + } + + public void DisablePlayerInput() + { + Input.Player.Disable(); + foreach (var a in _actionBarActions) a.Disable(); + } + private void EnterWormhole(Wormhole wormhole) { if (!(CurrentEntity is Ship ship)) return; @@ -639,6 +539,45 @@ public class ActionGameManager : MonoBehaviour } } + private void ToggleMainMenu() + { + if (EventSystem.current.currentSelectedGameObject?.GetComponent() != null) return; + if (CurrentEntity == null) return; + if (MainMenu.gameObject.activeSelf) + { + _paused = false; + VolumeRenderer.EnableDepth = true; + MainMenu.gameObject.SetActive(false); + if (_menuShown) + { + Menu.gameObject.SetActive(true); + } + else + { + GameplayUI.gameObject.SetActive(true); + EnablePlayerInput(); + Cursor.lockState = CursorLockMode.Locked; + } + } + else + { + _paused = true; + VolumeRenderer.EnableDepth = false; + MainMenu.gameObject.SetActive(true); + _menuShown = Menu.gameObject.activeSelf; + if (_menuShown) + { + Menu.gameObject.SetActive(false); + } + else + { + GameplayUI.gameObject.SetActive(false); + Cursor.lockState = CursorLockMode.None; + DisablePlayerInput(); + } + } + } + private void ToggleMenuTab(MenuTab tab) { if (EventSystem.current.currentSelectedGameObject?.GetComponent() != null) return; @@ -649,7 +588,7 @@ public class ActionGameManager : MonoBehaviour Menu.gameObject.SetActive(false); if (CurrentEntity != null && CurrentEntity.Parent == null) { - Input.Player.Enable(); + EnablePlayerInput(); GameplayUI.gameObject.SetActive(true); SchematicDisplay.ShowShip(CurrentEntity); @@ -659,7 +598,7 @@ public class ActionGameManager : MonoBehaviour } Cursor.lockState = CursorLockMode.None; - Input.Player.Disable(); + DisablePlayerInput(); Menu.ShowTab(tab); GameplayUI.gameObject.SetActive(false); } @@ -832,7 +771,7 @@ public class ActionGameManager : MonoBehaviour _visibleHostileIndicators.Clear(); if(_lockingIndicators!=null) foreach(var (_, indicator, _) in _lockingIndicators) indicator.GetComponent().ReturnToPool(); - Input.Player.Disable(); + DisablePlayerInput(); Cursor.lockState = CursorLockMode.None; GameplayUI.gameObject.SetActive(false); @@ -862,7 +801,7 @@ public class ActionGameManager : MonoBehaviour _viewDirection = float3(CurrentEntity.Direction.x,0,CurrentEntity.Direction.y); Cursor.lockState = CursorLockMode.Locked; - Input.Player.Enable(); + EnablePlayerInput(); GameplayUI.gameObject.SetActive(true); ShipPanel.Display(CurrentEntity, true); SchematicDisplay.ShowShip(CurrentEntity); diff --git a/Assets/Scripts/Gameplay/ItemPickup.cs b/Assets/Scripts/Gameplay/ItemPickup.cs index 4355cde7d..22448e337 100644 --- a/Assets/Scripts/Gameplay/ItemPickup.cs +++ b/Assets/Scripts/Gameplay/ItemPickup.cs @@ -1,6 +1,41 @@ +using System; +using TMPro; +using Unity.Mathematics; using UnityEngine; +using static Unity.Mathematics.math; public class ItemPickup : MonoBehaviour { + public float LabelFadeDuration = .5f; + public float LabelPersistDuration = 3; + public float LabelDisplayAngle = 15; + public float LabelDisplayMaxDistance = 500; + public Transform ScanLabelContainer; + public TextMeshPro ScanLabel; + public ItemInstance Item { get; set; } + public ZoneRenderer ZoneRenderer { get; set; } + public float3 ViewOrigin { get; set; } + public float3 ViewDirection { get; set; } + + private float _displayTime; + + private void Update() + { + var diff = (float3) transform.position - ViewOrigin; + var toThis = normalize(diff); + var viewAngle = acos(Vector3.Dot(toThis, ViewDirection)) * Mathf.Rad2Deg; + if (length(diff) < LabelDisplayMaxDistance && viewAngle < LabelDisplayAngle) + _displayTime = Time.time; + var targetAlpha = Time.time - _displayTime < LabelPersistDuration ? 1 : 0; + var c = ScanLabel.color; + c.a = c.a + sign(targetAlpha - c.a) * (Time.deltaTime / LabelFadeDuration); + ScanLabel.color = c; + ScanLabelContainer.rotation = Quaternion.LookRotation(-toThis); + } + + private void OnDestroy() + { + ZoneRenderer.DestroyLoot(this); + } } \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/AetheriaMath.cs b/Assets/Scripts/ServerShared/AetheriaMath.cs index 0056ade65..11119e829 100644 --- a/Assets/Scripts/ServerShared/AetheriaMath.cs +++ b/Assets/Scripts/ServerShared/AetheriaMath.cs @@ -28,6 +28,16 @@ public static class AetheriaMath return lerp(a, b, 1 - exp(-lambda * dt)); } + public static float2 Damp(float2 a, float2 b, float lambda, float dt) + { + return lerp(a, b, 1 - exp(-lambda * dt)); + } + + public static float3 Damp(float3 a, float3 b, float lambda, float dt) + { + return lerp(a, b, 1 - exp(-lambda * dt)); + } + //first-order intercept using absolute target position public static float3 FirstOrderIntercept ( diff --git a/Assets/Scripts/ServerShared/Agents/Minion.cs b/Assets/Scripts/ServerShared/Agents/Minion.cs index 24f235dec..3237b3f0a 100644 --- a/Assets/Scripts/ServerShared/Agents/Minion.cs +++ b/Assets/Scripts/ServerShared/Agents/Minion.cs @@ -14,7 +14,7 @@ public class Minion : Agent Ship.VisibleHostiles.ObserveAdd().Where(_ => Ship.Target.Value == null).Subscribe(add => Ship.Target.Value = add.Value); var combatState = new CombatState(this); - _rootState.AddTransition(combatState, + _rootState.AddTransition(combatState, () => Ship.Target.Value != null, null, true, _rootState); combatState.AddTransition(_rootState, diff --git a/Assets/Scripts/ServerShared/Behaviors/AetherDrive.cs b/Assets/Scripts/ServerShared/Behaviors/AetherDrive.cs index 130f3868c..834d7e37b 100644 --- a/Assets/Scripts/ServerShared/Behaviors/AetherDrive.cs +++ b/Assets/Scripts/ServerShared/Behaviors/AetherDrive.cs @@ -37,23 +37,26 @@ public class AetherDriveData : BehaviorData [Inspectable, JsonProperty("passiveCoupling"), Key(9), RuntimeInspectable] public PerformanceStat PassiveCoupling; - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new AetherDrive(this, item); + } + + public override Behavior CreateInstance(ConsumableItemEffect item) { return new AetherDrive(this, item); } } -public class AetherDrive : IBehavior +public class AetherDrive : Behavior { private AetherDriveData _data; private float3 _axis; - public EquippedItem Item { get; } public float3 Thrust { get; private set; } public float3 Rpm { get; private set; } public float MaximumRpm { get; private set; } - public BehaviorData Data => _data; public AetherDriveData DriveData => _data; public float3 Axis @@ -62,54 +65,58 @@ public class AetherDrive : IBehavior set => _axis = clamp(value, -1, 1); } - public AetherDrive(AetherDriveData data, EquippedItem item) + public AetherDrive(AetherDriveData data, EquippedItem item) : base(data, item) { _data = data; - Item = item; } - public bool Execute(float dt) + public AetherDrive(AetherDriveData data, ConsumableItemEffect item) : base(data, item) + { + _data = data; + } + + public override bool Execute(float dt) { var rotorSpeed = Rpm * _data.RotorDiameter / 100; - var forward = normalize(Item.Entity.Direction); + var forward = normalize(Entity.Direction); var right = forward.Rotate(ItemRotation.Clockwise); - var speed = float2(dot(Item.Entity.Velocity, forward), dot(Item.Entity.Velocity, right)); - var couplingEfficiency = Item.Evaluate(_data.CouplingEfficiency); + var speed = float2(dot(Entity.Velocity, forward), dot(Entity.Velocity, right)); + var couplingEfficiency = Evaluate(_data.CouplingEfficiency); var efficiency = float3(saturate(1 - speed / max(rotorSpeed.xy, 1) * sign(_axis.xy)) * couplingEfficiency, 1); Thrust = (Rpm - AetheriaMath.Decay(Rpm, _data.CouplingLambda, dt)) * _data.RotorMass * efficiency; - var couplingLambda = _data.CouplingLambda * max(abs(_axis), Item.Evaluate(_data.PassiveCoupling)); + var couplingLambda = _data.CouplingLambda * max(abs(_axis), Evaluate(_data.PassiveCoupling)); var previousRpm = Rpm; Rpm = AetheriaMath.Decay(Rpm, couplingLambda, dt); var rpmLoss = previousRpm - Rpm; var force = rpmLoss * _data.RotorMass * efficiency; var heat = rpmLoss * _data.RotorMass * (1 - couplingEfficiency); - Item.AddHeat((heat.x + heat.y + heat.z)*Item.ItemManager.GameplaySettings.AetherHeatMultiplier); + AddHeat((heat.x + heat.y + heat.z)*ItemManager.GameplaySettings.AetherHeatMultiplier); - Item.Entity.Velocity += forward * (_axis.x * force.x / Item.Entity.Mass); - Item.Entity.Velocity += right * (_axis.y * force.y / Item.Entity.Mass); - Item.Entity.Direction = mul(Item.Entity.Direction, - Unity.Mathematics.float2x2.Rotate(force.z * _axis.z * Item.ItemManager.GameplaySettings.AetherTorqueMultiplier / Item.Entity.Mass)); + Entity.Velocity += forward * (_axis.x * force.x / Entity.Mass); + Entity.Velocity += right * (_axis.y * force.y / Entity.Mass); + Entity.Direction = mul(Entity.Direction, + Unity.Mathematics.float2x2.Rotate(force.z * _axis.z * ItemManager.GameplaySettings.AetherTorqueMultiplier / Entity.Mass)); - if(float.IsNaN(Item.Entity.Velocity.x)) - Item.ItemManager.Log("FUCK FUCK FUCK FUCK"); + if(float.IsNaN(Entity.Velocity.x)) + ItemManager.Log("FUCK FUCK FUCK FUCK"); - MaximumRpm = Item.Evaluate(_data.MaximumRpm); + MaximumRpm = Evaluate(_data.MaximumRpm); var torqueProfile = float3( _data.TorqueProfile.Evaluate(Rpm.x / MaximumRpm), _data.TorqueProfile.Evaluate(Rpm.y / MaximumRpm), _data.TorqueProfile.Evaluate(Rpm.z / MaximumRpm)); - var potentialTorque = Item.Evaluate(_data.Torque) * torqueProfile; + var potentialTorque = Evaluate(_data.Torque) * torqueProfile; var potentialRpmDelta = potentialTorque / length(_data.RotorMass) * dt; var actualRpmDelta = min(MaximumRpm - Rpm, potentialRpmDelta); var torqueRatio = actualRpmDelta / potentialRpmDelta; - var draw = torqueRatio * Item.Evaluate(_data.EnergyDraw) / 3; + var draw = torqueRatio * Evaluate(_data.EnergyDraw) / 3; - if (Item.Entity.TryConsumeEnergy((draw.x + draw.y + draw.z)*dt)) + if (Entity.TryConsumeEnergy((draw.x + draw.y + draw.z)*dt)) { Rpm += actualRpmDelta; return true; diff --git a/Assets/Scripts/ServerShared/Behaviors/AutoWeapon.cs b/Assets/Scripts/ServerShared/Behaviors/AutoWeapon.cs index f1edb9c78..0d97804ef 100644 --- a/Assets/Scripts/ServerShared/Behaviors/AutoWeapon.cs +++ b/Assets/Scripts/ServerShared/Behaviors/AutoWeapon.cs @@ -9,7 +9,7 @@ using static Unity.Mathematics.math; [Inspectable, MessagePackObject, JsonObject(MemberSerialization.OptIn), RuntimeInspectable] public class AutoWeaponData : InstantWeaponData { - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) { return new AutoWeapon(this, item); } @@ -18,9 +18,8 @@ public class AutoWeaponData : InstantWeaponData public class AutoWeapon : InstantWeapon { - public AutoWeapon(InstantWeaponData data, EquippedItem item) : base(data, item) - { - } + public AutoWeapon(InstantWeaponData data, EquippedItem item) : base(data, item) { } + public AutoWeapon(InstantWeaponData data, ConsumableItemEffect item) : base(data, item) { } public override bool Execute(float dt) { diff --git a/Assets/Scripts/ServerShared/Behaviors/Behaviors.cs b/Assets/Scripts/ServerShared/Behaviors/Behaviors.cs index aef3e82ab..3a59401eb 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Behaviors.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Behaviors.cs @@ -13,28 +13,94 @@ using Unity.Mathematics; using static Unity.Mathematics.math; using static Unity.Mathematics.noise; -public interface IBehavior +public abstract class Behavior { - bool Execute(float dt); - BehaviorData Data { get; } + public BehaviorData Data { get; } + public EquippedItem Item { get; } + private ConsumableItemEffect Consumable { get; } + protected ItemManager ItemManager { get; } + + protected Entity Entity => Item?.Entity ?? Consumable.Entity; + public float Temperature => Item?.Temperature ?? Consumable.Entity.MaxTemp; + + public float3 Direction + { + get + { + if(Item != null) + { + var hardpoint = Entity.Hardpoints[Item.Position.x, Item.Position.y]; + if (hardpoint != null && Entity.HardpointTransforms.ContainsKey(hardpoint)) + { + return normalize(Entity.HardpointTransforms[hardpoint].direction); + } + else + { + var itemDirection = Entity.Direction.Rotate(Item.EquippableItem.Rotation); + return float3(itemDirection.x, 0, itemDirection.y); + } + } + + return float3(Entity.Direction.x, 0, Entity.Direction.y); + } + } + + protected Behavior(BehaviorData data, EquippedItem item) + { + Data = data; + Item = item; + ItemManager = Item.ItemManager; + } + + protected Behavior(BehaviorData data, ConsumableItemEffect consumable) + { + Data = data; + Consumable = consumable; + ItemManager = consumable.Entity.ItemManager; + } + + public float Evaluate(PerformanceStat stat) => Item?.Evaluate(stat) ?? Consumable.Evaluate(stat); + protected void AddHeat(float heat) => Item?.AddHeat(heat); // TODO: Heat for Consumables + + protected void CauseDamage(float damage) + { + if (Item != null) + { + Item.EquippableItem.Durability -= damage; + Entity.ItemDamage.OnNext((Item, damage)); + } + else + { + Consumable.Entity.Hull.Durability -= damage; + Consumable.Entity.HullDamage.OnNext(damage); + } + } + + protected void CauseWearDamage(float multiplier) + { + if (Item != null) + { + CauseDamage(Item.Wear * multiplier); + } + } + + public virtual bool Execute(float dt) + { + return true; + } } -public interface IActivatedBehavior : IBehavior +public interface IActivatedBehavior { void Activate(); void Deactivate(); } -public interface IAnalogBehavior : IBehavior +public interface IAnalogBehavior { float Axis { get; set; } } -public interface IDisposableBehavior -{ - void Dispose(); -} - public interface IEventBehavior { void ResetEvents(); @@ -128,12 +194,11 @@ public abstract class BehaviorData [Inspectable, JsonProperty("group"), Key(0)] public int Group; - public abstract IBehavior CreateInstance(EquippedItem item); + public abstract Behavior CreateInstance(EquippedItem item); + public abstract Behavior CreateInstance(ConsumableItemEffect consumable); public override string ToString() { - var className = base.ToString(); - var dataIndex = className.IndexOf("data", StringComparison.InvariantCultureIgnoreCase); - return dataIndex>0 ? className.Substring(0,dataIndex).SplitCamelCase() : className; + return base.ToString().FormatTypeName(); } } \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/Behaviors/Capacitor.cs b/Assets/Scripts/ServerShared/Behaviors/Capacitor.cs index e6eade882..f25c489b6 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Capacitor.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Capacitor.cs @@ -17,20 +17,21 @@ public class CapacitorData : BehaviorData [Inspectable, JsonProperty("efficiency"), Key(2), RuntimeInspectable] public PerformanceStat Efficiency = new PerformanceStat(); - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new Capacitor(this, item); + } + + public override Behavior CreateInstance(ConsumableItemEffect item) { return new Capacitor(this, item); } } -public class Capacitor : IBehavior +public class Capacitor : Behavior { private CapacitorData _data; - public EquippedItem Item { get; } - - public BehaviorData Data => _data; - public float Charge { get; private set; } public float Capacity { get; private set; } public float Efficiency { get; private set; } = 1; @@ -38,19 +39,23 @@ public class Capacitor : IBehavior public void AddCharge(float charge) { Charge = clamp(Charge + charge, 0, Capacity); - Item.AddHeat(abs(charge) * (1-Efficiency)); + AddHeat(abs(charge) * (1-Efficiency)); } - public Capacitor(CapacitorData data, EquippedItem item) + public Capacitor(CapacitorData data, EquippedItem item) : base(data, item) { _data = data; - Item = item; } - public bool Execute(float dt) + public Capacitor(CapacitorData data, ConsumableItemEffect item) : base(data, item) { - Capacity = Item.Evaluate(_data.Capacity); - Efficiency = Item.Evaluate(_data.Efficiency); + _data = data; + } + + public override bool Execute(float dt) + { + Capacity = Evaluate(_data.Capacity); + Efficiency = Evaluate(_data.Efficiency); return true; } } \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/Behaviors/ChargedWeapon.cs b/Assets/Scripts/ServerShared/Behaviors/ChargedWeapon.cs index ca0c909f4..0071d9681 100644 --- a/Assets/Scripts/ServerShared/Behaviors/ChargedWeapon.cs +++ b/Assets/Scripts/ServerShared/Behaviors/ChargedWeapon.cs @@ -45,13 +45,18 @@ public class ChargedWeaponData : InstantWeaponData [Inspectable, JsonProperty("chargeHeatMul"), Key(32)] public float ChargeFiringHeatMultiplier = 1; - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new ChargedWeapon(this, item); + } + + public override Behavior CreateInstance(ConsumableItemEffect item) { return new ChargedWeapon(this, item); } } -public class ChargedWeapon : InstantWeapon, IEventBehavior +public class ChargedWeapon : InstantWeapon { private ChargedWeaponData _data; private bool _charging; @@ -97,13 +102,18 @@ public class ChargedWeapon : InstantWeapon, IEventBehavior { _data = data; } + + public ChargedWeapon(ChargedWeaponData data, ConsumableItemEffect item) : base(data, item) + { + _data = data; + } protected override void UpdateStats() { base.UpdateStats(); - ChargeTime = Item.Evaluate(_data.ChargeTime); - ChargeEnergy = Item.Evaluate(_data.ChargeEnergy); - ChargeHeat = Item.Evaluate(_data.ChargeHeat); + ChargeTime = Evaluate(_data.ChargeTime); + ChargeEnergy = Evaluate(_data.ChargeEnergy); + ChargeHeat = Evaluate(_data.ChargeHeat); Damage *= lerp(1, _data.ChargeFiringDamageMultiplier, saturate(_charge)); Heat *= lerp(1, _data.ChargeFiringHeatMultiplier, saturate(_charge)); Spread *= lerp(1, _data.ChargeFiringSpreadMultiplier, saturate(_charge)); @@ -119,7 +129,7 @@ public class ChargedWeapon : InstantWeapon, IEventBehavior _charge += dt / ChargeTime; if (!_charged) { - Item.AddHeat(ChargeHeat * (dt / ChargeTime)); + AddHeat(ChargeHeat * (dt / ChargeTime)); if(_charge > 1) { _charged = true; @@ -133,7 +143,7 @@ public class ChargedWeapon : InstantWeapon, IEventBehavior _coolingDown = true; _charge = 0; OnFailed?.Invoke(); - Item.EquippableItem.Durability -= _data.FailureDamage; + CauseDamage(_data.FailureDamage); } } return base.Execute(dt); diff --git a/Assets/Scripts/ServerShared/Behaviors/Cockpit.cs b/Assets/Scripts/ServerShared/Behaviors/Cockpit.cs index 372d11d32..a09a65905 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Cockpit.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Cockpit.cs @@ -11,29 +11,27 @@ using static Unity.Mathematics.math; [Inspectable, MessagePackObject, JsonObject(MemberSerialization.OptIn), RuntimeInspectable] public class CockpitData : BehaviorData { - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new Cockpit(this, item); + } + public override Behavior CreateInstance(ConsumableItemEffect item) { return new Cockpit(this, item); } } -public class Cockpit : IBehavior +public class Cockpit : Behavior { private CockpitData _data; - - public EquippedItem Item { get; } - - public BehaviorData Data => _data; - - public Cockpit(CockpitData data, EquippedItem item) + public Cockpit(CockpitData data, EquippedItem item) : base(data, item) { _data = data; - Item = item; } - - public bool Execute(float dt) + + public Cockpit(CockpitData data, ConsumableItemEffect item) : base(data, item) { - return true; + _data = data; } } \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/Behaviors/ConstantWeapon.cs b/Assets/Scripts/ServerShared/Behaviors/ConstantWeapon.cs index 473ed5eba..e7f9a98b2 100644 --- a/Assets/Scripts/ServerShared/Behaviors/ConstantWeapon.cs +++ b/Assets/Scripts/ServerShared/Behaviors/ConstantWeapon.cs @@ -14,7 +14,12 @@ public class ConstantWeaponData : WeaponData [InspectablePrefab, JsonProperty("ammoInterval"), Key(17)] public float AmmoInterval = 1; - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new ConstantWeapon(this, item); + } + + public override Behavior CreateInstance(ConsumableItemEffect item) { return new ConstantWeapon(this, item); } @@ -62,12 +67,17 @@ public class ConstantWeapon : Weapon, IProgressBehavior, IEventBehavior _data = data; } + public ConstantWeapon(ConstantWeaponData data, ConsumableItemEffect item) : base(data, item) + { + _data = data; + } + public override bool Execute(float dt) { base.Execute(dt); if (_firing) { - if (!Item.Entity.TryConsumeEnergy(Item.Evaluate(_data.Energy) * dt)) + if (!Entity.TryConsumeEnergy(Evaluate(_data.Energy) * dt)) { _firing = false; OnStopFiring?.Invoke(); @@ -93,7 +103,7 @@ public class ConstantWeapon : Weapon, IProgressBehavior, IEventBehavior if (_data.MagazineSize > 1 && _ammo > 0) _ammo--; else { - var cargo = Item.Entity.FindItemInCargo(_data.AmmoType); + var cargo = Entity.FindItemInCargo(_data.AmmoType); if (cargo != null) { var item = cargo.ItemsOfType[_data.AmmoType][0]; @@ -115,11 +125,9 @@ public class ConstantWeapon : Weapon, IProgressBehavior, IEventBehavior } } - var dmg = Item.Wear * dt; - Item.EquippableItem.Durability -= dmg; - Item.Entity.ItemDamage.OnNext((Item, dmg)); - Item.AddHeat(Item.Evaluate(_data.Heat) * dt); - Item.Entity.VisibilitySources[this] = Item.Evaluate(_data.Visibility); + CauseWearDamage(dt); + AddHeat(Evaluate(_data.Heat) * dt); + Entity.VisibilitySources[this] = Evaluate(_data.Visibility); } return true; } diff --git a/Assets/Scripts/ServerShared/Behaviors/Cooldown.cs b/Assets/Scripts/ServerShared/Behaviors/Cooldown.cs index 47f6da01f..b397dd50e 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Cooldown.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Cooldown.cs @@ -15,30 +15,36 @@ public class CooldownData : BehaviorData [Inspectable, JsonProperty("cooldown"), Key(1), RuntimeInspectable] public PerformanceStat Cooldown = new PerformanceStat(); - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new Cooldown(this, item); + } + + public override Behavior CreateInstance(ConsumableItemEffect item) { return new Cooldown(this, item); } } -public class Cooldown : IBehavior, IAlwaysUpdatedBehavior, IProgressBehavior +public class Cooldown : Behavior, IAlwaysUpdatedBehavior, IProgressBehavior { private CooldownData _data; - public BehaviorData Data => _data; - - private EquippedItem Item { get; } private float _cooldown; // Normalized public float Progress => saturate(_cooldown); - public Cooldown(CooldownData data, EquippedItem item) + public Cooldown(CooldownData data, EquippedItem item) : base(data, item) { _data = data; - Item = item; } - public bool Execute(float dt) + public Cooldown(CooldownData data, ConsumableItemEffect item) : base(data, item) + { + _data = data; + } + + public override bool Execute(float dt) { if (_cooldown < 0) { @@ -47,11 +53,10 @@ public class Cooldown : IBehavior, IAlwaysUpdatedBehavior, IProgressBehavior } return false; - } public void Update(float delta) { - _cooldown -= delta / Item.Evaluate(_data.Cooldown); + _cooldown -= delta / Evaluate(_data.Cooldown); } } \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/Behaviors/EnergyDraw.cs b/Assets/Scripts/ServerShared/Behaviors/EnergyDraw.cs index 382139155..faf8ae709 100644 --- a/Assets/Scripts/ServerShared/Behaviors/EnergyDraw.cs +++ b/Assets/Scripts/ServerShared/Behaviors/EnergyDraw.cs @@ -16,28 +16,33 @@ public class EnergyDrawData : BehaviorData [Inspectable, JsonProperty("perSecond"), Key(2)] public bool PerSecond; - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new EnergyDraw(this, item); + } + + public override Behavior CreateInstance(ConsumableItemEffect item) { return new EnergyDraw(this, item); } } -public class EnergyDraw : IBehavior +public class EnergyDraw : Behavior { private EnergyDrawData _data; - private EquippedItem Item { get; } - - public BehaviorData Data => _data; - - public EnergyDraw(EnergyDrawData data, EquippedItem item) + public EnergyDraw(EnergyDrawData data, EquippedItem item) : base(data, item) { _data = data; - Item = item; } - public bool Execute(float dt) + public EnergyDraw(EnergyDrawData data, ConsumableItemEffect item) : base(data, item) { - return Item.Entity.TryConsumeEnergy(Item.Evaluate(_data.EnergyDraw) * (_data.PerSecond ? dt : 1)); + _data = data; + } + + public override bool Execute(float dt) + { + return Entity.TryConsumeEnergy(Evaluate(_data.EnergyDraw) * (_data.PerSecond ? dt : 1)); } } \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/Behaviors/Heat.cs b/Assets/Scripts/ServerShared/Behaviors/Heat.cs index 49c0082fb..e507d2b28 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Heat.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Heat.cs @@ -16,29 +16,33 @@ public class HeatData : BehaviorData [Inspectable, JsonProperty("perSecond"), Key(2)] public bool PerSecond; - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new Heat(this, item); + } + + public override Behavior CreateInstance(ConsumableItemEffect item) { return new Heat(this, item); } } -public class Heat : IBehavior +public class Heat : Behavior { private HeatData _data; - private EquippedItem Item { get; } - - public BehaviorData Data => _data; - - public Heat(HeatData data, EquippedItem item) + public Heat(HeatData data, EquippedItem item) : base(data, item) + { + _data = data; + } + public Heat(HeatData data, ConsumableItemEffect item) : base(data, item) { _data = data; - Item = item; } - public bool Execute(float dt) + public override bool Execute(float dt) { - Item.AddHeat(Item.Evaluate(_data.Heat) * (_data.PerSecond ? dt : 1)); + AddHeat(Evaluate(_data.Heat) * (_data.PerSecond ? dt : 1)); return true; } diff --git a/Assets/Scripts/ServerShared/Behaviors/HeatStorage.cs b/Assets/Scripts/ServerShared/Behaviors/HeatStorage.cs index 956a65adf..02edcb121 100644 --- a/Assets/Scripts/ServerShared/Behaviors/HeatStorage.cs +++ b/Assets/Scripts/ServerShared/Behaviors/HeatStorage.cs @@ -11,28 +11,27 @@ using static Unity.Mathematics.math; [Inspectable, MessagePackObject, JsonObject(MemberSerialization.OptIn), RuntimeInspectable] public class HeatStorageData : BehaviorData { - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new HeatStorage(this, item); + } + public override Behavior CreateInstance(ConsumableItemEffect item) { return new HeatStorage(this, item); } } -public class HeatStorage : IBehavior +public class HeatStorage : Behavior { private HeatStorageData _data; - public EquippedItem Item { get; } - - public BehaviorData Data => _data; - - public HeatStorage(HeatStorageData data, EquippedItem item) + public HeatStorage(HeatStorageData data, EquippedItem item) : base(data, item) { _data = data; - Item = item; } - public bool Execute(float dt) + public HeatStorage(HeatStorageData data, ConsumableItemEffect item) : base(data, item) { - return true; + _data = data; } } \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/Behaviors/InstantWeapon.cs b/Assets/Scripts/ServerShared/Behaviors/InstantWeapon.cs index e8a5637fa..50ea6ae53 100644 --- a/Assets/Scripts/ServerShared/Behaviors/InstantWeapon.cs +++ b/Assets/Scripts/ServerShared/Behaviors/InstantWeapon.cs @@ -21,7 +21,12 @@ public class InstantWeaponData : WeaponData [InspectablePrefab, JsonProperty("ammoInterval"), Key(20)] public bool SingleAmmoBurst; - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new InstantWeapon(this, item); + } + + public override Behavior CreateInstance(ConsumableItemEffect item) { return new InstantWeapon(this, item); } @@ -77,11 +82,17 @@ public class InstantWeapon : Weapon, IProgressBehavior, IEventBehavior _ammo = data.MagazineSize; } + public InstantWeapon(InstantWeaponData data, ConsumableItemEffect item) : base(data, item) + { + _data = data; + _ammo = data.MagazineSize; + } + protected void Trigger() { // If 1 ammo is consumed per burst, perform ammo and energy consumption here // UseAmmo returns false when triggering reload; cancel firing if that is the case - if(_data.SingleAmmoBurst && (!Item.Entity.TryConsumeEnergy(Energy) || !UseAmmo())) return; + if(_data.SingleAmmoBurst && (!Entity.TryConsumeEnergy(Energy) || !UseAmmo())) return; _burstRemaining = (int) BurstCount; _burstInterval = BurstTime / _burstRemaining; @@ -93,9 +104,9 @@ public class InstantWeapon : Weapon, IProgressBehavior, IEventBehavior protected override void UpdateStats() { base.UpdateStats(); - BurstCount = Item.Evaluate(_data.Count); - BurstTime = Item.Evaluate(_data.BurstTime); - Cooldown = Item.Evaluate(_data.Cooldown); + BurstCount = Evaluate(_data.Count); + BurstTime = Evaluate(_data.BurstTime); + Cooldown = Evaluate(_data.Cooldown); Damage /= (int) BurstCount; Heat /= (int) BurstCount; @@ -115,7 +126,7 @@ public class InstantWeapon : Weapon, IProgressBehavior, IEventBehavior var hasAmmo = true; if (_data.AmmoType != Guid.Empty) { - var cargo = Item.Entity.FindItemInCargo(_data.AmmoType); + var cargo = Entity.FindItemInCargo(_data.AmmoType); if (cargo != null) { var item = cargo.ItemsOfType[_data.AmmoType][0]; @@ -160,7 +171,7 @@ public class InstantWeapon : Weapon, IProgressBehavior, IEventBehavior { // If multiple ammo is consumed per burst, perform ammo and energy consumption here // UseAmmo returns false when triggering reload; cancel firing if that is the case - if (!_data.SingleAmmoBurst && (!Item.Entity.TryConsumeEnergy(Energy) || !UseAmmo())) + if (!_data.SingleAmmoBurst && (!Entity.TryConsumeEnergy(Energy) || !UseAmmo())) { _burstRemaining = 0; return false; @@ -169,10 +180,9 @@ public class InstantWeapon : Weapon, IProgressBehavior, IEventBehavior _burstRemaining--; _burstTimer -= _burstInterval; OnFire?.Invoke(); - Item.EquippableItem.Durability -= Item.Wear; - Item.Entity.ItemDamage.OnNext((Item, Item.Wear)); - Item.AddHeat(Heat); - Item.Entity.VisibilitySources[this] = Visibility; + CauseWearDamage(1); + AddHeat(Heat); + Entity.VisibilitySources[this] = Visibility; } return true; } diff --git a/Assets/Scripts/ServerShared/Behaviors/ItemUsage.cs b/Assets/Scripts/ServerShared/Behaviors/ItemUsage.cs index 52b05af7e..f5dda8a5f 100644 --- a/Assets/Scripts/ServerShared/Behaviors/ItemUsage.cs +++ b/Assets/Scripts/ServerShared/Behaviors/ItemUsage.cs @@ -13,29 +13,34 @@ public class ItemUsageData : BehaviorData [InspectableDatabaseLink(typeof(SimpleCommodityData)), JsonProperty("item"), Key(1), RuntimeInspectable] public Guid Item; - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new ItemUsage(this, item); + } + + public override Behavior CreateInstance(ConsumableItemEffect item) { return new ItemUsage(this, item); } } -public class ItemUsage : IBehavior +public class ItemUsage : Behavior { private ItemUsageData _data; - private EquippedItem Item { get; } - - public BehaviorData Data => _data; - - public ItemUsage(ItemUsageData data, EquippedItem item) + public ItemUsage(ItemUsageData data, EquippedItem item) : base(data, item) { _data = data; - Item = item; } - public bool Execute(float dt) + public ItemUsage(ItemUsageData data, ConsumableItemEffect item) : base(data, item) { - var cargo = Item.Entity.FindItemInCargo(_data.Item); + _data = data; + } + + public override bool Execute(float dt) + { + var cargo = Entity.FindItemInCargo(_data.Item); if (cargo == null) return false; var item = cargo.ItemsOfType[_data.Item][0]; diff --git a/Assets/Scripts/ServerShared/Behaviors/Launcher.cs b/Assets/Scripts/ServerShared/Behaviors/Launcher.cs index f5aca298e..5e6ea44c0 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Launcher.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Launcher.cs @@ -27,7 +27,7 @@ public class LauncherData : LockWeaponData [Inspectable, JsonProperty("missileSpeed"), Key(31), RuntimeInspectable] public PerformanceStat MissileVelocity = new PerformanceStat(); - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) { return new LockWeapon(this, item); } @@ -54,7 +54,7 @@ public class GuidedWeaponData : InstantWeaponData [Inspectable, JsonProperty("missileSpeed"), Key(26), RuntimeInspectable] public PerformanceStat MissileVelocity = new PerformanceStat(); - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) { return new InstantWeapon(this, item); } diff --git a/Assets/Scripts/ServerShared/Behaviors/LockWeapon.cs b/Assets/Scripts/ServerShared/Behaviors/LockWeapon.cs index fca86aebd..dc6fd230a 100644 --- a/Assets/Scripts/ServerShared/Behaviors/LockWeapon.cs +++ b/Assets/Scripts/ServerShared/Behaviors/LockWeapon.cs @@ -24,7 +24,11 @@ public class LockWeaponData : InstantWeaponData [Inspectable, JsonProperty("decay"), Key(25)] public PerformanceStat Decay = new PerformanceStat(); - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new LockWeapon(this, item); + } + public override Behavior CreateInstance(ConsumableItemEffect item) { return new LockWeapon(this, item); } @@ -49,7 +53,7 @@ public class LockWeapon : InstantWeapon public override float Progress => saturate(_cooldown > 0 ? _cooldown : _lock); - public override bool CanFire => base.CanFire && _lock > .99f && Item.Entity.TargetRange > MinRange && Item.Entity.TargetRange < Range; + public override bool CanFire => base.CanFire && _lock > .99f && Entity.TargetRange > MinRange && Entity.TargetRange < Range; public float Lock { @@ -60,28 +64,32 @@ public class LockWeapon : InstantWeapon { _data = data; } + public LockWeapon(LockWeaponData data, ConsumableItemEffect item) : base(data, item) + { + _data = data; + } public override bool Execute(float dt) { - if (_target != Item.Entity.Target.Value) + if (_target != Entity.Target.Value) { _lock = 0; - _target = Item.Entity.Target.Value; + _target = Entity.Target.Value; } - if (Item.Entity.Target.Value != null && Item.Entity.Target.Value.IsHostileTo(Item.Entity)) + if (Entity.Target.Value != null && Entity.Target.Value.IsHostileTo(Entity)) { - LockSpeed = Item.Evaluate(_data.LockSpeed); - SensorImpact = Item.Evaluate(_data.SensorImpact); - LockAngle = Item.Evaluate(_data.LockAngle); - DirectionImpact = Item.Evaluate(_data.DirectionImpact); - Decay = Item.Evaluate(_data.Decay); + LockSpeed = Evaluate(_data.LockSpeed); + SensorImpact = Evaluate(_data.SensorImpact); + LockAngle = Evaluate(_data.LockAngle); + DirectionImpact = Evaluate(_data.DirectionImpact); + Decay = Evaluate(_data.Decay); - var degrees = acos(dot(normalize(Item.Entity.Target.Value.Position - Item.Entity.Position), normalize(Item.Entity.LookDirection))) * 57.2958f; + var degrees = acos(dot(normalize(Entity.Target.Value.Position - Entity.Position), normalize(Entity.LookDirection))) * 57.2958f; if (degrees < LockAngle) { var lerp = 1 - unlerp(0, 90, degrees); - _lock = saturate(_lock + pow(lerp, DirectionImpact) * dt * LockSpeed * pow(Item.Entity.EntityInfoGathered[Item.Entity.Target.Value], SensorImpact)); + _lock = saturate(_lock + pow(lerp, DirectionImpact) * dt * LockSpeed * pow(Entity.EntityInfoGathered[Entity.Target.Value], SensorImpact)); } else _lock = saturate(_lock - dt * Decay); } diff --git a/Assets/Scripts/ServerShared/Behaviors/MiningTool.cs b/Assets/Scripts/ServerShared/Behaviors/MiningTool.cs index 40426583a..0596060dd 100644 --- a/Assets/Scripts/ServerShared/Behaviors/MiningTool.cs +++ b/Assets/Scripts/ServerShared/Behaviors/MiningTool.cs @@ -24,45 +24,49 @@ public class MiningToolData : BehaviorData [Inspectable, JsonProperty("range"), Key(4)] public PerformanceStat Range = new PerformanceStat(); - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new MiningTool(this, item); + } + public override Behavior CreateInstance(ConsumableItemEffect item) { return new MiningTool(this, item); } } -public class MiningTool : IBehavior +public class MiningTool : Behavior { public Guid AsteroidBelt; public int Asteroid; private MiningToolData _data; - - private EquippedItem Item { get; } - - public BehaviorData Data => _data; public float Range { get; private set; } - public MiningTool(MiningToolData data, EquippedItem item) + public MiningTool(MiningToolData data, EquippedItem item) : base(data, item) { _data = data; - Item = item; } - public bool Execute(float dt) + public MiningTool(MiningToolData data, ConsumableItemEffect item) : base(data, item) { - Range = Item.Evaluate(_data.Range); - var belt = Item.Entity.Zone.AsteroidBelts[AsteroidBelt]; + _data = data; + } + + public override bool Execute(float dt) + { + Range = Evaluate(_data.Range); + var belt = Entity.Zone.AsteroidBelts[AsteroidBelt]; if (AsteroidBelt != Guid.Empty && - Item.Entity.Zone.AsteroidExists(AsteroidBelt, Asteroid) && - length(Item.Entity.Position.xz - belt.Positions[Asteroid].xz) - belt.Scales[Asteroid] < Range) + Entity.Zone.AsteroidExists(AsteroidBelt, Asteroid) && + length(Entity.Position.xz - belt.Positions[Asteroid].xz) - belt.Scales[Asteroid] < Range) { - Item.Entity.Zone.MineAsteroid( - Item.Entity, + Entity.Zone.MineAsteroid( + Entity, AsteroidBelt, Asteroid, - Item.Evaluate(_data.DamagePerSecond) * dt, - Item.Evaluate(_data.Efficiency), - Item.Evaluate(_data.Penetration)); + Evaluate(_data.DamagePerSecond) * dt, + Evaluate(_data.Efficiency), + Evaluate(_data.Penetration)); return true; } diff --git a/Assets/Scripts/ServerShared/Behaviors/Radiator.cs b/Assets/Scripts/ServerShared/Behaviors/Radiator.cs index e5a9065e5..1549a8d40 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Radiator.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Radiator.cs @@ -25,19 +25,24 @@ public class RadiatorData : BehaviorData [Inspectable, JsonProperty("energyUsage"), Key(5), RuntimeInspectable] public PerformanceStat EnergyUsage = new PerformanceStat(); - public override IBehavior CreateInstance(EquippedItem item) + [Inspectable, JsonProperty("thermalMass"), Key(6), RuntimeInspectable] + public PerformanceStat ThermalMass = new PerformanceStat(); + + public override Behavior CreateInstance(EquippedItem item) + { + return new Radiator(this, item); + } + + public override Behavior CreateInstance(ConsumableItemEffect item) { return new Radiator(this, item); } } -public class Radiator : IBehavior, IAlwaysUpdatedBehavior, IInitializableBehavior +public class Radiator : Behavior, IAlwaysUpdatedBehavior, IInitializableBehavior { - public EquippedItem Item { get; } - public float Temperature { get; private set; } - - public BehaviorData Data => _data; - + public float RadiatorTemperature { get; private set; } + public float Emissivity { get; private set; } public float PumpedHeat { get; private set; } public float WasteHeat { get; private set; } @@ -45,25 +50,28 @@ public class Radiator : IBehavior, IAlwaysUpdatedBehavior, IInitializableBehavio private RadiatorData _data; - public Radiator(RadiatorData data, EquippedItem item) + public Radiator(RadiatorData data, EquippedItem item) : base(data, item) + { + _data = data; + } + public Radiator(RadiatorData data, ConsumableItemEffect item) : base(data, item) { _data = data; - Item = item; } - public bool Execute(float dt) + public override bool Execute(float dt) { - PumpedHeat = Item.Evaluate(_data.PumpedHeat); - WasteHeat = Item.Evaluate(_data.WasteHeat); - EnergyUsage = Item.Evaluate(_data.EnergyUsage); + PumpedHeat = Evaluate(_data.PumpedHeat); + WasteHeat = Evaluate(_data.WasteHeat); + EnergyUsage = Evaluate(_data.EnergyUsage); - var itemTemperature = Item.Temperature; - var tempRatio = max(Temperature / itemTemperature, 1); + var itemTemperature = Temperature; + var tempRatio = max(RadiatorTemperature / itemTemperature, 1); // Temperature ratio would cause more waste heat than pump capacity, stop executing if (tempRatio > PumpedHeat / WasteHeat) return true; - if (!Item.Entity.TryConsumeEnergy(EnergyUsage * tempRatio * dt)) return false; + if (!Entity.TryConsumeEnergy(EnergyUsage * tempRatio * dt)) return false; var pumpedHeat = PumpedHeat * max(itemTemperature - _data.TemperatureFloor, 0); @@ -72,22 +80,22 @@ public class Radiator : IBehavior, IAlwaysUpdatedBehavior, IInitializableBehavio var wasteHeat = WasteHeat * tempRatio; - Item.AddHeat((wasteHeat - pumpedHeat) * dt); - Temperature += pumpedHeat / Item.ItemManager.GetThermalMass(Item.EquippableItem) * dt; + AddHeat((wasteHeat - pumpedHeat) * dt); + RadiatorTemperature += pumpedHeat / Evaluate(_data.ThermalMass) * dt; return true; } public void Update(float delta) { - Emissivity = Item.Evaluate(_data.Emissivity); - var rad = pow(Temperature, Item.ItemManager.GameplaySettings.HeatRadiationExponent) * Item.ItemManager.GameplaySettings.HeatRadiationMultiplier * Emissivity; - Temperature -= rad * delta; - Item.Entity.VisibilitySources[this] = rad; + Emissivity = Evaluate(_data.Emissivity); + var rad = pow(RadiatorTemperature, ItemManager.GameplaySettings.HeatRadiationExponent) * ItemManager.GameplaySettings.HeatRadiationMultiplier * Emissivity; + RadiatorTemperature -= rad * delta; + Entity.VisibilitySources[this] = rad; } public void Initialize() { - Temperature = Item.Temperature; + RadiatorTemperature = Temperature; } } \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/Behaviors/Reactor.cs b/Assets/Scripts/ServerShared/Behaviors/Reactor.cs index 20df3c4a7..642444acc 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Reactor.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Reactor.cs @@ -2,6 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ +using System; using System.Collections.Generic; using System.Linq; using MessagePack; @@ -25,45 +26,55 @@ public class ReactorData : BehaviorData [Inspectable, JsonProperty("underload"), Key(4), RuntimeInspectable] public PerformanceStat ThrottlingFactor = new PerformanceStat(); - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new Reactor(this, item); + } + + public override Behavior CreateInstance(ConsumableItemEffect item) { return new Reactor(this, item); } } -public class Reactor : IBehavior, IOrderedBehavior +public class Reactor : Behavior, IOrderedBehavior, IDisposable { private ReactorData _data; - public Entity Entity { get; } - public EquippedItem Item { get; } - public ItemManager Context { get; } - public float Draw { get; private set; } public float CurrentLoadRatio { get; private set; } public int Order => 100; - public BehaviorData Data => _data; - private List _capacitors; - public Reactor(ReactorData data, EquippedItem item) + private List _subscriptions = new List(); + + public Reactor(ReactorData data, EquippedItem item) : base(data, item) { _data = data; - Item = item; - _capacitors = Item.Entity.GetBehaviors().ToList(); - Item.Entity.Equipment.ObserveAdd().Subscribe(onAdd => + FindCapacitors(); + } + public Reactor(ReactorData data, ConsumableItemEffect item) : base(data, item) + { + _data = data; + FindCapacitors(); + } + + private void FindCapacitors() + { + _capacitors = Entity.GetBehaviors().ToList(); + _subscriptions.Add(Entity.Equipment.ObserveAdd().Subscribe(onAdd => { var capacitor = onAdd.Value.GetBehavior(); if (capacitor != null) _capacitors.Add(capacitor); - }); - Item.Entity.Equipment.ObserveRemove().Subscribe(onRemove => + })); + _subscriptions.Add(Entity.Equipment.ObserveRemove().Subscribe(onRemove => { var capacitor = onRemove.Value.GetBehavior(); if (capacitor != null) _capacitors.Remove(capacitor); - }); + })); } public void ConsumeEnergy(float energy) @@ -71,10 +82,10 @@ public class Reactor : IBehavior, IOrderedBehavior Draw += energy; } - public bool Execute(float dt) + public override bool Execute(float dt) { - var charge = Item.Evaluate(_data.Charge) * dt; - var efficiency = Item.Evaluate(_data.Efficiency); + var charge = Evaluate(_data.Charge) * dt; + var efficiency = Evaluate(_data.Efficiency); // This behavior executes last, so any components drawing power have already done so @@ -88,7 +99,7 @@ public class Reactor : IBehavior, IOrderedBehavior if (Draw > .01f) { CurrentLoadRatio = (Draw + charge) / max(charge, .01f); - var overloadEfficiency = Item.Evaluate(_data.OverloadEfficiency); + var overloadEfficiency = Evaluate(_data.OverloadEfficiency); // Generate heat using overload efficiency, usually much less efficient! heat += Draw / overloadEfficiency; @@ -121,7 +132,7 @@ public class Reactor : IBehavior, IOrderedBehavior if (Draw < -.01f) { CurrentLoadRatio = (Draw + charge) / max(charge, .01f); - heat -= Draw / efficiency * (1 - 1 / Item.Evaluate(_data.ThrottlingFactor)); + heat -= Draw / efficiency * (1 - 1 / Evaluate(_data.ThrottlingFactor)); Draw = 0; } else @@ -129,7 +140,13 @@ public class Reactor : IBehavior, IOrderedBehavior CurrentLoadRatio = 1; } - Item.AddHeat(heat); + AddHeat(heat); return true; } + + public void Dispose() + { + foreach(var sub in _subscriptions) + sub.Dispose(); + } } \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/Behaviors/Reflector.cs b/Assets/Scripts/ServerShared/Behaviors/Reflector.cs index eea92e1be..cb23004b0 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Reflector.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Reflector.cs @@ -16,29 +16,34 @@ public class ReflectorData : BehaviorData // [InspectableAnimationCurve, JsonProperty("visibility"), Key(1)] // public float4[] VisibilityCurve; - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new Reflector(this, item); + } + + public override Behavior CreateInstance(ConsumableItemEffect item) { return new Reflector(this, item); } } -public class Reflector : IBehavior +public class Reflector : Behavior { - public EquippedItem Item { get; } - - public BehaviorData Data => _data; - private ReflectorData _data; - public Reflector(ReflectorData data, EquippedItem item) + public Reflector(ReflectorData data, EquippedItem item) : base(data, item) { _data = data; - Item = item; } - public bool Execute(float dt) + public Reflector(ReflectorData data, ConsumableItemEffect item) : base(data, item) { - Item.Entity.VisibilitySources[this] = Item.Evaluate(_data.CrossSection) * Item.Entity.Zone.GetLight(Item.Entity.Position.xz); + _data = data; + } + + public override bool Execute(float dt) + { + Entity.VisibilitySources[this] = Evaluate(_data.CrossSection) * Entity.Zone.GetLight(Entity.Position.xz); return true; } diff --git a/Assets/Scripts/ServerShared/Behaviors/ResourceScanner.cs b/Assets/Scripts/ServerShared/Behaviors/ResourceScanner.cs index 452885047..b71f56fde 100644 --- a/Assets/Scripts/ServerShared/Behaviors/ResourceScanner.cs +++ b/Assets/Scripts/ServerShared/Behaviors/ResourceScanner.cs @@ -21,13 +21,18 @@ public class ResourceScannerData : BehaviorData [Inspectable, JsonProperty("scanDuration"), Key(3), RuntimeInspectable] public PerformanceStat ScanDuration = new PerformanceStat(); - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new ResourceScanner(this, item); + } + + public override Behavior CreateInstance(ConsumableItemEffect item) { return new ResourceScanner(this, item); } } -public class ResourceScanner : IBehavior, IAlwaysUpdatedBehavior +public class ResourceScanner : Behavior, IAlwaysUpdatedBehavior { public int Asteroid = -1; @@ -35,9 +40,6 @@ public class ResourceScanner : IBehavior, IAlwaysUpdatedBehavior private float _scanTime; private Guid _scanTarget; - private EquippedItem Item { get; } - - public BehaviorData Data => _data; public float Range { get; private set; } public float MinimumDensity { get; private set; } public float ScanDuration { get; private set; } @@ -55,22 +57,26 @@ public class ResourceScanner : IBehavior, IAlwaysUpdatedBehavior } } - public ResourceScanner(ResourceScannerData data, EquippedItem item) + public ResourceScanner(ResourceScannerData data, EquippedItem item) : base(data, item) { _data = data; - Item = item; } - public bool Execute(float dt) + public ResourceScanner(ResourceScannerData data, ConsumableItemEffect item) : base(data, item) { - var planetData = Item.Entity.Zone.Planets[ScanTarget]; + _data = data; + } + + public override bool Execute(float dt) + { + var planetData = Entity.Zone.Planets[ScanTarget]; if (planetData != null) { if (planetData is AsteroidBeltData beltData) { if(Asteroid > -1 && Asteroid < beltData.Asteroids.Length && - length(Item.Entity.Position.xz - Item.Entity.Zone.AsteroidBelts[ScanTarget].Positions[Asteroid].xz) < Range) + length(Entity.Position.xz - Entity.Zone.AsteroidBelts[ScanTarget].Positions[Asteroid].xz) < Range) { _scanTime += dt; if (_scanTime > ScanDuration) @@ -84,7 +90,7 @@ public class ResourceScanner : IBehavior, IAlwaysUpdatedBehavior } else { - if(length(Item.Entity.Position.xz - Item.Entity.Zone.GetOrbitPosition(planetData.Orbit)) < Range) + if(length(Entity.Position.xz - Entity.Zone.GetOrbitPosition(planetData.Orbit)) < Range) { _scanTime += dt; if (_scanTime > ScanDuration) @@ -101,8 +107,8 @@ public class ResourceScanner : IBehavior, IAlwaysUpdatedBehavior public void Update(float delta) { - Range = Item.Evaluate(_data.Range); - MinimumDensity = Item.Evaluate(_data.MinimumDensity); - ScanDuration = Item.Evaluate(_data.ScanDuration); + Range = Evaluate(_data.Range); + MinimumDensity = Evaluate(_data.MinimumDensity); + ScanDuration = Evaluate(_data.ScanDuration); } } \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/Behaviors/Sensor.cs b/Assets/Scripts/ServerShared/Behaviors/Sensor.cs index c1456302e..d967ea8a3 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Sensor.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Sensor.cs @@ -39,13 +39,18 @@ public class SensorData : BehaviorData [Inspectable, JsonProperty("pingRadiusExponent"), Key(11)] public float PingRadiusExponent = .5f; - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new Sensor(this, item); + } + + public override Behavior CreateInstance(ConsumableItemEffect item) { return new Sensor(this, item); } } -public class Sensor : IBehavior, IEventBehavior +public class Sensor : Behavior, IEventBehavior { private SensorData _data; private float _pingCooldown; @@ -54,10 +59,6 @@ public class Sensor : IBehavior, IEventBehavior private float _pingRadius; private HashSet _pingedEntities = new HashSet(); - private EquippedItem Item { get; } - - public BehaviorData Data => _data; - public float Cooldown { get => saturate(_pingCooldown); @@ -81,9 +82,9 @@ public class Sensor : IBehavior, IEventBehavior public void Ping() { - if(_pingCooldown < 0 && Item.Entity.TryConsumeEnergy(Item.Evaluate(_data.PingEnergy))) + if(_pingCooldown < 0 && Entity.TryConsumeEnergy(Evaluate(_data.PingEnergy))) { - Item.Entity.VisibilitySources[this] = Item.Evaluate(_data.PingVisibility); + Entity.VisibilitySources[this] = Evaluate(_data.PingVisibility); _pinging = true; _pingCooldown = 1; _pingLerp = 0; @@ -93,18 +94,22 @@ public class Sensor : IBehavior, IEventBehavior } } - public Sensor(SensorData data, EquippedItem item) + public Sensor(SensorData data, EquippedItem item) : base(data, item) { _data = data; - Item = item; } - public bool Execute(float dt) + public Sensor(SensorData data, ConsumableItemEffect item) : base(data, item) + { + _data = data; + } + + public override bool Execute(float dt) { if (_pinging) { _pingLerp += dt / _data.PingDuration; - _pingRadius = lerp(0, Item.Evaluate(_data.PingRange), pow(_pingLerp, _data.PingRadiusExponent)); + _pingRadius = lerp(0, Evaluate(_data.PingRange), pow(_pingLerp, _data.PingRadiusExponent)); if (_pingLerp > 1) { _pinging = false; @@ -112,30 +117,27 @@ public class Sensor : IBehavior, IEventBehavior } } - _pingCooldown -= dt / Item.Evaluate(_data.PingCooldown); + _pingCooldown -= dt / Evaluate(_data.PingCooldown); // TODO: Handle Active Detection / Visibility From Reflected Radiance - var hardpoint = Item.Entity.Hardpoints[Item.Position.x, Item.Position.y]; - var forward = hardpoint != null && Item.Entity.HardpointTransforms.ContainsKey(hardpoint) ? - normalize(Item.Entity.HardpointTransforms[hardpoint].direction.xz) : - Item.Entity.Direction; - foreach (var entity in Item.Entity.Zone.Entities) + var forward = Direction.xz; + foreach (var entity in Entity.Zone.Entities) { - if (entity == Item.Entity) continue; + if (entity == Entity) continue; - var diff = entity.Position.xz - Item.Entity.Position.xz; + var diff = entity.Position.xz - Entity.Position.xz; var angle = acos(dot(forward, normalize(diff))); var dist = length(diff); float previous, next; - Item.Entity.EntityInfoGathered.TryGetValue(entity, out previous); + Entity.EntityInfoGathered.TryGetValue(entity, out previous); if (!_pingedEntities.Contains(entity) && dist < _pingRadius) { _pingedEntities.Add(entity); next = saturate( previous + entity.Visibility * - Item.Evaluate(_data.Sensitivity) * - Item.Evaluate(_data.PingBoost) * + Evaluate(_data.Sensitivity) * + Evaluate(_data.PingBoost) * dist); } else @@ -143,13 +145,13 @@ public class Sensor : IBehavior, IEventBehavior next = saturate( previous + entity.Visibility * - Item.Evaluate(_data.Sensitivity) * + Evaluate(_data.Sensitivity) * _data.SensitivityCurve.Evaluate(angle / PI) * dt / dist); } - next *= 1 - Item.ItemManager.GameplaySettings.TargetInfoDecay * dt; + next *= 1 - ItemManager.GameplaySettings.TargetInfoDecay * dt; //Context.Log($"{entity.Name} visibility {(int)(previous * 100)}% -> {(int)(next * 100)}%"); - Item.Entity.EntityInfoGathered[entity] = next; + Entity.EntityInfoGathered[entity] = next; } return true; } diff --git a/Assets/Scripts/ServerShared/Behaviors/Shield.cs b/Assets/Scripts/ServerShared/Behaviors/Shield.cs index a1dc6069e..b3e0b60ee 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Shield.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Shield.cs @@ -16,44 +16,48 @@ public class ShieldData : BehaviorData [Inspectable, JsonProperty("energy"), Key(2), RuntimeInspectable] public PerformanceStat EnergyUsage = new PerformanceStat(); - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new Shield(this, item); + } + public override Behavior CreateInstance(ConsumableItemEffect item) { return new Shield(this, item); } } -public class Shield : IBehavior +public class Shield : Behavior { - public EquippedItem Item { get; } - public float Efficiency { get; private set; } public float EnergyUsage { get; private set; } - public BehaviorData Data => _data; private ShieldData _data; - public Shield(ShieldData data, EquippedItem item) + public Shield(ShieldData data, EquippedItem item) : base(data, item) + { + _data = data; + } + public Shield(ShieldData data, ConsumableItemEffect item) : base(data, item) { _data = data; - Item = item; } - public bool Execute(float dt) + public override bool Execute(float dt) { - Efficiency = Item.Evaluate(_data.Efficiency); - EnergyUsage = Item.Evaluate(_data.EnergyUsage); + Efficiency = Evaluate(_data.Efficiency); + EnergyUsage = Evaluate(_data.EnergyUsage); return true; } public bool CanTakeHit(DamageType type, float damage) { - return Item.Entity.CanConsumeEnergy(damage * EnergyUsage); + return Entity.CanConsumeEnergy(damage * EnergyUsage); } public void TakeHit(DamageType type, float damage) { - Item.Entity.TryConsumeEnergy(damage * EnergyUsage); - Item.AddHeat(damage / Efficiency); + Entity.TryConsumeEnergy(damage * EnergyUsage); + AddHeat(damage / Efficiency); } } \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/Behaviors/StatModifier.cs b/Assets/Scripts/ServerShared/Behaviors/StatModifier.cs index f065f96ca..353de0850 100644 --- a/Assets/Scripts/ServerShared/Behaviors/StatModifier.cs +++ b/Assets/Scripts/ServerShared/Behaviors/StatModifier.cs @@ -22,19 +22,21 @@ public class StatModifierData : BehaviorData [InspectableType(typeof(BehaviorData)), JsonProperty("requireBehavior"), Key(4)] public Type RequireBehavior; - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) { return new StatModifier(this, item); } + + public override Behavior CreateInstance(ConsumableItemEffect consumable) + { + return new StatModifier(this, consumable); + } } [Order(-4)] -public class StatModifier : IBehavior, IInitializableBehavior, IDisposableBehavior +public class StatModifier : Behavior, IInitializableBehavior, IDisposable { private StatModifierData _data; - private EquippedItem Item { get; } - - public BehaviorData Data => _data; private PerformanceStat[] _stats; @@ -43,10 +45,14 @@ public class StatModifier : IBehavior, IInitializableBehavior, IDisposableBehavi private static Type[] StatObjects => _statObjects = _statObjects ?? typeof(BehaviorData).GetAllChildClasses() .Concat(typeof(EquippableItemData).GetAllChildClasses()).ToArray(); - public StatModifier(StatModifierData data, EquippedItem item) + public StatModifier(StatModifierData data, EquippedItem item) : base(data, item) + { + _data = data; + } + + public StatModifier(StatModifierData data, ConsumableItemEffect item) : base(data, item) { _data = data; - Item = item; } public void Initialize() @@ -59,17 +65,17 @@ public class StatModifier : IBehavior, IInitializableBehavior, IDisposableBehavi if (statField != null) { if (typeof(EquippableItemData).IsAssignableFrom(targetType)) - _stats = Item.Entity.Equipment + _stats = Entity.Equipment .Select(hp => hp.EquippableItem) - .Where(gear => _data.RequireBehavior == null || Item.ItemManager.GetData(gear).Behaviors.Any(behavior => behavior.GetType() == _data.RequireBehavior)) - .Where(gear => Item.ItemManager.GetData(gear).GetType() == targetType) - .Select(gear => statField.GetValue(Item.ItemManager.GetData(gear)) as PerformanceStat) + .Where(gear => _data.RequireBehavior == null || ItemManager.GetData(gear).Behaviors.Any(behavior => behavior.GetType() == _data.RequireBehavior)) + .Where(gear => ItemManager.GetData(gear).GetType() == targetType) + .Select(gear => statField.GetValue(ItemManager.GetData(gear)) as PerformanceStat) .ToArray(); else - _stats = Item.Entity.Equipment + _stats = Entity.Equipment .Select(hp => hp.EquippableItem) - .Where(gear => _data.RequireBehavior == null || Item.ItemManager.GetData(gear).Behaviors.Any(behavior => behavior.GetType() == _data.RequireBehavior)) - .SelectMany(gear => Item.ItemManager.GetData(gear).Behaviors) + .Where(gear => _data.RequireBehavior == null || ItemManager.GetData(gear).Behaviors.Any(behavior => behavior.GetType() == _data.RequireBehavior)) + .SelectMany(gear => ItemManager.GetData(gear).Behaviors) .Where(behaviorData => behaviorData.GetType() == targetType) .Select(behaviorData => statField.GetValue(behaviorData) as PerformanceStat) .ToArray(); @@ -77,19 +83,19 @@ public class StatModifier : IBehavior, IInitializableBehavior, IDisposableBehavi } } - public bool Execute(float dt) + public override bool Execute(float dt) { foreach (var stat in _stats) (_data.Type == StatModifierType.Constant - ? stat.GetConstantModifiers(Item.Entity) - : stat.GetScaleModifiers(Item.Entity))[this] = Item.Evaluate(_data.Modifier); + ? stat.GetConstantModifiers(Entity) + : stat.GetScaleModifiers(Entity))[this] = Evaluate(_data.Modifier); return true; } public void Dispose() { foreach (var stat in _stats) - (_data.Type == StatModifierType.Constant ? stat.GetConstantModifiers(Item.Entity) : stat.GetScaleModifiers(Item.Entity)).Remove(this); + (_data.Type == StatModifierType.Constant ? stat.GetConstantModifiers(Entity) : stat.GetScaleModifiers(Entity)).Remove(this); } } diff --git a/Assets/Scripts/ServerShared/Behaviors/Switch.cs b/Assets/Scripts/ServerShared/Behaviors/Switch.cs index 41d6d019a..d76ce8a9c 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Switch.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Switch.cs @@ -10,29 +10,32 @@ using Newtonsoft.Json; [Inspectable, MessagePackObject, JsonObject(MemberSerialization.OptIn), Order(-25)] public class SwitchData : BehaviorData { - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new Switch(this, item); + } + public override Behavior CreateInstance(ConsumableItemEffect item) { return new Switch(this, item); } } -public class Switch : IBehavior +public class Switch : Behavior { private SwitchData _data; - private EquippedItem Item { get; } - - public BehaviorData Data => _data; - public bool Activated { get; set; } - public Switch(SwitchData data, EquippedItem item) + public Switch(SwitchData data, EquippedItem item) : base(data, item) + { + _data = data; + } + public Switch(SwitchData data, ConsumableItemEffect item) : base(data, item) { _data = data; - Item = item; } - public bool Execute(float dt) + public override bool Execute(float dt) { return Activated; } diff --git a/Assets/Scripts/ServerShared/Behaviors/Thermotoggle.cs b/Assets/Scripts/ServerShared/Behaviors/Thermotoggle.cs index cdb1d7e49..009a04c9e 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Thermotoggle.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Thermotoggle.cs @@ -19,31 +19,36 @@ public class ThermotoggleData : BehaviorData [Inspectable, JsonProperty("adjustable"), Key(3)] public bool Adjustable; - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new Thermotoggle(this, item); + } + public override Behavior CreateInstance(ConsumableItemEffect item) { return new Thermotoggle(this, item); } } -public class Thermotoggle : IBehavior +public class Thermotoggle : Behavior { public float TargetTemperature; private ThermotoggleData _data; - private EquippedItem Item { get; } - - public BehaviorData Data => _data; public ThermotoggleData ThermotoggleData => _data; - public Thermotoggle(ThermotoggleData data, EquippedItem item) + public Thermotoggle(ThermotoggleData data, EquippedItem item) : base(data, item) + { + _data = data; + TargetTemperature = data.TargetTemperature; + } + public Thermotoggle(ThermotoggleData data, ConsumableItemEffect item) : base(data, item) { _data = data; - Item = item; TargetTemperature = data.TargetTemperature; } - public bool Execute(float dt) + public override bool Execute(float dt) { - return Item.Temperature < TargetTemperature ^ _data.HighPass; + return Temperature < TargetTemperature ^ _data.HighPass; } } \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/Behaviors/Thruster.cs b/Assets/Scripts/ServerShared/Behaviors/Thruster.cs index 601d3be99..8be3aff58 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Thruster.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Thruster.cs @@ -25,16 +25,19 @@ public class ThrusterData : BehaviorData [InspectablePrefab, JsonProperty("Particles"), Key(5)] public string ParticlesPrefab; - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new Thruster(this, item); + } + + public override Behavior CreateInstance(ConsumableItemEffect item) { return new Thruster(this, item); } } -public class Thruster : IAnalogBehavior +public class Thruster : Behavior, IAnalogBehavior { - public EquippedItem Item { get; } - public float Thrust { get; private set; } public float Torque { get; } @@ -44,37 +47,41 @@ public class Thruster : IAnalogBehavior set => _input = saturate(value); } - public BehaviorData Data => _data; - private ThrusterData _data; private float _input; - public Thruster(ThrusterData data, EquippedItem item) + public Thruster(ThrusterData data, EquippedItem item) : base(data, item) { _data = data; - Item = item; - var hullData = Item.ItemManager.GetData(Item.Entity.Hull) as HullData; + var hullData = ItemManager.GetData(Entity.Hull) as HullData; var hullCenter = hullData.Shape.CenterOfMass; - var itemData = Item.ItemManager.GetData(item.EquippableItem); + var itemData = ItemManager.GetData(item.EquippableItem); var itemCenter = hullData.Shape.Inset(itemData.Shape, item.Position, item.EquippableItem.Rotation).CenterOfMass; var toCenter = hullCenter - itemCenter; Torque = -dot(normalize(toCenter), float2(1, 0).Rotate(item.EquippableItem.Rotation)); - Thrust = Item.Evaluate(_data.Thrust); + Thrust = Evaluate(_data.Thrust); } - public bool Execute(float dt) + public Thruster(ThrusterData data, ConsumableItemEffect item) : base(data, item) { - if(_input > .01f && Item.Entity.TryConsumeEnergy(_input * Item.Evaluate(_data.EnergyUsage))) + _data = data; + Torque = 0; + Thrust = Evaluate(_data.Thrust); + } + + public override bool Execute(float dt) + { + if(_input > .01f && Entity.TryConsumeEnergy(_input * Evaluate(_data.EnergyUsage))) { - Thrust = Item.Evaluate(_data.Thrust); - Item.Entity.Velocity -= Item.Entity.Direction.Rotate(Item.EquippableItem.Rotation) * _input * Thrust / Item.Entity.Mass * dt; - Item.Entity.Direction = mul(Item.Entity.Direction, - Unity.Mathematics.float2x2.Rotate(_input * Torque * Thrust * Item.ItemManager.GameplaySettings.TorqueMultiplier / Item.Entity.Mass * dt)); - Item.AddHeat(_input * Item.Evaluate(_data.Heat) * dt); - var vis = _input * Item.Evaluate(_data.Visibility); - if (!Item.Entity.VisibilitySources.ContainsKey(this) || vis > Item.Entity.VisibilitySources[this]) - Item.Entity.VisibilitySources[this] = vis; + Thrust = Evaluate(_data.Thrust); + Entity.Velocity -= Direction.xz * _input * Thrust / Entity.Mass * dt; + Entity.Direction = mul(Entity.Direction, + Unity.Mathematics.float2x2.Rotate(_input * Torque * Thrust * ItemManager.GameplaySettings.TorqueMultiplier / Entity.Mass * dt)); + AddHeat(_input * Evaluate(_data.Heat) * dt); + var vis = _input * Evaluate(_data.Visibility); + if (!Entity.VisibilitySources.ContainsKey(this) || vis > Entity.VisibilitySources[this]) + Entity.VisibilitySources[this] = vis; return true; } return false; diff --git a/Assets/Scripts/ServerShared/Behaviors/Trigger.cs b/Assets/Scripts/ServerShared/Behaviors/Trigger.cs index d70111c97..26262d8a7 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Trigger.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Trigger.cs @@ -10,29 +10,24 @@ using Newtonsoft.Json; [Inspectable, MessagePackObject, JsonObject(MemberSerialization.OptIn), Order(-20)] public class TriggerData : BehaviorData { - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new Trigger(this, item); + } + public override Behavior CreateInstance(ConsumableItemEffect item) { return new Trigger(this, item); } } -public class Trigger : IBehavior, IActivatedBehavior +public class Trigger : Behavior, IActivatedBehavior { - private TriggerData _data; - - public EquippedItem Item { get; } - - public BehaviorData Data => _data; - public bool _pulled; - public Trigger(TriggerData data, EquippedItem item) - { - _data = data; - Item = item; - } + public Trigger(TriggerData data, EquippedItem item) : base(data, item) { } + public Trigger(TriggerData data, ConsumableItemEffect item) : base(data, item) { } - public bool Execute(float dt) + public override bool Execute(float dt) { if (_pulled) { diff --git a/Assets/Scripts/ServerShared/Behaviors/TurretController.cs b/Assets/Scripts/ServerShared/Behaviors/TurretController.cs index a7d9b0801..a1d7f6ea6 100644 --- a/Assets/Scripts/ServerShared/Behaviors/TurretController.cs +++ b/Assets/Scripts/ServerShared/Behaviors/TurretController.cs @@ -14,84 +14,74 @@ using float3 = Unity.Mathematics.float3; [MessagePackObject, JsonObject(MemberSerialization.OptIn), RuntimeInspectable] public class TurretControllerData : BehaviorData { - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new TurretController(this, item); + } + public override Behavior CreateInstance(ConsumableItemEffect item) { return new TurretController(this, item); } } -public class TurretController : IBehavior +public class TurretController : Behavior, IInitializableBehavior { private TurretControllerData _data; private List _weapons = new List(); private float _shotSpeed; private bool _predictShots; - public EquippedItem Item { get; } - - public BehaviorData Data => _data; - - public TurretController(TurretControllerData data, EquippedItem item) + public TurretController(TurretControllerData data, EquippedItem item) : base(data, item) { _data = data; - Item = item; - var weapons = Item.Entity.Equipment.Where(e => e.Behaviors.Any(b => b.Data is WeaponData)); - foreach (var weapon in weapons) - { - CheckWeapon(weapon); - } - - Item.Entity.Equipment.ObserveAdd().Subscribe(add => CheckWeapon(add.Value)); - Item.Entity.Equipment.ObserveRemove().Subscribe(remove => - { - foreach (var b in remove.Value.Behaviors) - if (b is Weapon weapon) - _weapons.Remove(weapon); - }); } - private void CheckWeapon(EquippedItem item) + public TurretController(TurretControllerData data, ConsumableItemEffect item) : base(data, item) { - foreach (var b in item.Behaviors) - if (b is Weapon weapon) + _data = data; + } + + public void Initialize() + { + foreach (var weapon in Entity.GetBehaviors()) + { + _weapons.Add(weapon); + var vel = weapon.Evaluate(weapon.WeaponData.Velocity); + if (vel > .1f) { - _weapons.Add(weapon); - var vel = weapon.Item.Evaluate(weapon.WeaponData.Velocity); - if (vel > .1f) - { - _predictShots = true; - _shotSpeed = vel; - } + _predictShots = true; + _shotSpeed = vel; } + } } - public bool Execute(float dt) + public override bool Execute(float dt) { - if (Item.Entity.Target.Value != null) + if (Entity.Target.Value != null) { - var diff = Item.Entity.Target.Value.Position - Item.Entity.Position; + var diff = Entity.Target.Value.Position - Entity.Position; if (_predictShots) { - var targetHullData = Item.Entity.ItemManager.GetData(Item.Entity.Target.Value.Hull) as HullData; - var targetVelocity = float3(Item.Entity.Target.Value.Velocity.x, 0, Item.Entity.Target.Value.Velocity.y); + var targetHullData = Entity.ItemManager.GetData(Entity.Target.Value.Hull) as HullData; + var targetVelocity = float3(Entity.Target.Value.Velocity.x, 0, Entity.Target.Value.Velocity.y); var predictedPosition = AetheriaMath.FirstOrderIntercept( - Item.Entity.Position, float3.zero, _shotSpeed, - Item.Entity.Target.Value.Position, targetVelocity + Entity.Position, float3.zero, _shotSpeed, + Entity.Target.Value.Position, targetVelocity ); - predictedPosition.y = Item.Entity.Zone.GetHeight(predictedPosition.xz) + targetHullData.GridOffset; - Item.Entity.LookDirection = normalize(predictedPosition - Item.Entity.Position); + predictedPosition.y = Entity.Zone.GetHeight(predictedPosition.xz) + targetHullData.GridOffset; + Entity.LookDirection = normalize(predictedPosition - Entity.Position); } else - Item.Entity.LookDirection = normalize(diff); + Entity.LookDirection = normalize(diff); var dist = length(diff); foreach (var x in _weapons) { var data = x.Data as WeaponData; var fire = dot( - Item.Entity.HardpointTransforms[Item.Entity.Hardpoints[x.Item.Position.x, x.Item.Position.y]].direction, - Item.Entity.LookDirection) > .99f; - if (x.Item.Evaluate(data.Range) > dist && fire) + x.Direction, + Entity.LookDirection) > .99f; + if (x.Evaluate(data.Range) > dist && fire) { x.Activate(); } @@ -106,7 +96,7 @@ public class TurretController : IBehavior if (x.Firing) x.Deactivate(); } - Item.Entity.Target.Value = Item.Entity.VisibleHostiles.FirstOrDefault(e => e is Ship); + Entity.Target.Value = Entity.VisibleHostiles.FirstOrDefault(e => e is Ship); } return true; } diff --git a/Assets/Scripts/ServerShared/Behaviors/VelocityConversion.cs b/Assets/Scripts/ServerShared/Behaviors/VelocityConversion.cs index 2e6d61c15..35a89bfed 100644 --- a/Assets/Scripts/ServerShared/Behaviors/VelocityConversion.cs +++ b/Assets/Scripts/ServerShared/Behaviors/VelocityConversion.cs @@ -10,31 +10,35 @@ using static Unity.Mathematics.math; [MessagePackObject, JsonObject(MemberSerialization.OptIn), RuntimeInspectable] public class VelocityConversionData : BehaviorData { - [Inspectable, JsonProperty("traction"), Key(1), RuntimeInspectable] - public PerformanceStat Traction = new PerformanceStat(); + [Inspectable, JsonProperty("lambda"), Key(1), RuntimeInspectable] + public PerformanceStat Lambda = new PerformanceStat(); - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new VelocityConversion(this, item); + } + public override Behavior CreateInstance(ConsumableItemEffect item) { return new VelocityConversion(this, item); } } -public class VelocityConversion : IBehavior +public class VelocityConversion : Behavior { - public EquippedItem Item { get; } - - public BehaviorData Data => _data; - private VelocityConversionData _data; - public VelocityConversion(VelocityConversionData data, EquippedItem item) + public VelocityConversion(VelocityConversionData data, EquippedItem item) : base(data, item) + { + _data = data; + } + public VelocityConversion(VelocityConversionData data, ConsumableItemEffect item) : base(data, item) { _data = data; - Item = item; } - public bool Execute(float dt) + public override bool Execute(float dt) { + Entity.Velocity = AetheriaMath.Damp(Entity.Velocity, Entity.Direction * length(Entity.Velocity), Evaluate(_data.Lambda), dt); return true; } } \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/Behaviors/VelocityLimit.cs b/Assets/Scripts/ServerShared/Behaviors/VelocityLimit.cs index 78cc75935..2b66d512b 100644 --- a/Assets/Scripts/ServerShared/Behaviors/VelocityLimit.cs +++ b/Assets/Scripts/ServerShared/Behaviors/VelocityLimit.cs @@ -13,35 +13,40 @@ public class VelocityLimitData : BehaviorData [Inspectable, JsonProperty("topSpeed"), Key(1), RuntimeInspectable] public PerformanceStat TopSpeed = new PerformanceStat(); - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new VelocityLimit(this, item); + } + public override Behavior CreateInstance(ConsumableItemEffect item) { return new VelocityLimit(this, item); } } [Order(100)] -public class VelocityLimit : IBehavior +public class VelocityLimit : Behavior { - public EquippedItem Item { get; } - public float Limit { get; private set; } - public BehaviorData Data => _data; - private VelocityLimitData _data; - public VelocityLimit(VelocityLimitData data, EquippedItem item) + public VelocityLimit(VelocityLimitData data, EquippedItem item) : base(data, item) { _data = data; - Item = item; - Limit = Item.Evaluate(_data.TopSpeed); + Limit = Evaluate(_data.TopSpeed); } - public bool Execute(float dt) + public VelocityLimit(VelocityLimitData data, ConsumableItemEffect item) : base(data, item) { - Limit = Item.Evaluate(_data.TopSpeed); - if (length(Item.Entity.Velocity) > Limit) - Item.Entity.Velocity = normalize(Item.Entity.Velocity) * Limit; + _data = data; + Limit = Evaluate(_data.TopSpeed); + } + + public override bool Execute(float dt) + { + Limit = Evaluate(_data.TopSpeed); + if (length(Entity.Velocity) > Limit) + Entity.Velocity = normalize(Entity.Velocity) * Limit; return true; } } \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/Behaviors/Visibility.cs b/Assets/Scripts/ServerShared/Behaviors/Visibility.cs index 57c31ab8d..1311f7cff 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Visibility.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Visibility.cs @@ -16,31 +16,32 @@ public class VisibilityData : BehaviorData [Inspectable, JsonProperty("visibilityDecay"), Key(2)] public PerformanceStat VisibilityDecay = new PerformanceStat(); - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new Visibility(this, item); + } + public override Behavior CreateInstance(ConsumableItemEffect item) { return new Visibility(this, item); } } -public class Visibility : IBehavior +public class Visibility : Behavior { private VisibilityData _data; - private EquippedItem Item { get; } - - public BehaviorData Data => _data; - - private float _cooldown; // Normalized - - public Visibility(VisibilityData data, EquippedItem item) + public Visibility(VisibilityData data, EquippedItem item) : base(data, item) + { + _data = data; + } + public Visibility(VisibilityData data, ConsumableItemEffect item) : base(data, item) { _data = data; - Item = item; } - public bool Execute(float dt) + public override bool Execute(float dt) { - Item.Entity.VisibilitySources[this] = Item.Evaluate(_data.Visibility); + Entity.VisibilitySources[this] = Evaluate(_data.Visibility); return true; } } \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/Behaviors/Weapon.cs b/Assets/Scripts/ServerShared/Behaviors/Weapon.cs index 3a7ebe28e..5af38dd5b 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Weapon.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Weapon.cs @@ -67,17 +67,14 @@ public abstract class WeaponData : BehaviorData public PerformanceStat Velocity = new PerformanceStat(); } -public abstract class Weapon : IActivatedBehavior +public abstract class Weapon : Behavior, IActivatedBehavior { private WeaponData _data; - - public EquippedItem Item { get; } public abstract float DamagePerSecond { get; } public abstract float RangeDamagePerSecond(float range); public abstract int Ammo { get; } public WeaponData WeaponData => _data; - public BehaviorData Data => _data; public float Damage { get; protected set; } public float Penetration { get; protected set; } @@ -96,29 +93,32 @@ public abstract class Weapon : IActivatedBehavior { get => _firing; } - - - public Weapon(WeaponData data, EquippedItem item) + + public Weapon(WeaponData data, EquippedItem item) : base(data, item) + { + _data = data; + } + + public Weapon(WeaponData data, ConsumableItemEffect item) : base(data, item) { - Item = item; _data = data; } protected virtual void UpdateStats() { - Damage = Item.Evaluate(_data.Damage); - Penetration = Item.Evaluate(_data.Penetration); - DamageSpread = Item.Evaluate(_data.DamageSpread); - MinRange = Item.Evaluate(_data.MinRange); - Range = Item.Evaluate(_data.Range); - Energy = Item.Evaluate(_data.Energy); - Heat = Item.Evaluate(_data.Heat); - Visibility = Item.Evaluate(_data.Visibility); - Spread = Item.Evaluate(_data.Spread); - Velocity = Item.Evaluate(_data.Velocity); + Damage = Evaluate(_data.Damage); + Penetration = Evaluate(_data.Penetration); + DamageSpread = Evaluate(_data.DamageSpread); + MinRange = Evaluate(_data.MinRange); + Range = Evaluate(_data.Range); + Energy = Evaluate(_data.Energy); + Heat = Evaluate(_data.Heat); + Visibility = Evaluate(_data.Visibility); + Spread = Evaluate(_data.Spread); + Velocity = Evaluate(_data.Velocity); } - public virtual bool Execute(float dt) + public override bool Execute(float dt) { UpdateStats(); return true; diff --git a/Assets/Scripts/ServerShared/Behaviors/Wear.cs b/Assets/Scripts/ServerShared/Behaviors/Wear.cs index 4e9ccee87..945206bad 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Wear.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Wear.cs @@ -14,39 +14,32 @@ public class WearData : BehaviorData [InspectableTemperature, JsonProperty("perSecond"), Key(1)] public bool PerSecond = true; - public override IBehavior CreateInstance(EquippedItem item) + public override Behavior CreateInstance(EquippedItem item) + { + return new Wear(this, item); + } + public override Behavior CreateInstance(ConsumableItemEffect item) { return new Wear(this, item); } } -public class Wear : IBehavior +public class Wear : Behavior { private WearData _data; - public EquippedItem Item { get; } - - public BehaviorData Data => _data; - - public Wear(WearData data, EquippedItem item) + public Wear(WearData data, EquippedItem item) : base(data, item) + { + _data = data; + } + public Wear(WearData data, ConsumableItemEffect item) : base(data, item) { _data = data; - Item = item; } - public bool Execute(float dt) + public override bool Execute(float dt) { - if (_data.PerSecond) - { - var dmg = Item.Wear * dt; - Item.EquippableItem.Durability -= dmg; - Item.Entity.ItemDamage.OnNext((Item, dmg)); - } - else - { - Item.EquippableItem.Durability -= Item.Wear; - Item.Entity.ItemDamage.OnNext((Item, Item.Wear)); - } + CauseWearDamage(_data.PerSecond ? dt : 1); return true; } } \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/CultCache/ReflectionExtensions.cs b/Assets/Scripts/ServerShared/CultCache/ReflectionExtensions.cs index 58261db30..cdc04824b 100644 --- a/Assets/Scripts/ServerShared/CultCache/ReflectionExtensions.cs +++ b/Assets/Scripts/ServerShared/CultCache/ReflectionExtensions.cs @@ -103,7 +103,7 @@ public static class ReflectionExtensions public static string FormatTypeName(this string typeName) { - return (typeName.EndsWith("Data") + return (typeName.EndsWith("Data", StringComparison.InvariantCultureIgnoreCase) ? typeName.Substring(0, typeName.Length - 4) : typeName).SplitCamelCase(); } diff --git a/Assets/Scripts/ServerShared/Entity.cs b/Assets/Scripts/ServerShared/Entity.cs index 447e99f8c..0777aceea 100644 --- a/Assets/Scripts/ServerShared/Entity.cs +++ b/Assets/Scripts/ServerShared/Entity.cs @@ -15,6 +15,7 @@ public abstract class Entity public Zone Zone; public Faction Faction; public EquippableItem Hull; + public EquippedItem EquippedHull; public float3 Position; public float2 Direction = float2(0,1); @@ -62,6 +63,9 @@ public abstract class Entity private List _capacitors = new List(); private List _reactors = new List(); private List _heatsinks = new List(); + + private List _activeConsumables = new List(); + protected bool _active; private bool _heatsinksEnabled = true; @@ -208,6 +212,34 @@ public abstract class Entity EntityInfoGathered.ObserveRemove().Subscribe(remove => VisibleEntities.Remove(remove.Key)); } + public void ActivateConsumable(ConsumableItem item) + { + _activeConsumables.Add(new ConsumableItemEffect(item, this)); + } + + public ConsumableItemEffect FindActiveConsumable(ConsumableItemData data) + { + return _activeConsumables.FirstOrDefault(ac => ac.Data.ID == data.ID); + } + + public bool CanActivateConsumable(ConsumableItemData data) + { + return data.Stackable || FindActiveConsumable(data) == null; + } + + public bool TryActivateConsumable(ConsumableItemData data) + { + if (!CanActivateConsumable(data)) return false; + + var bay = FindItemInCargo(data.ID); + if (bay == null) return false; + + var item = (ConsumableItem) bay.ItemsOfType[data.ID].First(); + ActivateConsumable(item); + bay.Remove(item); + return true; + } + public bool IsHostileTo(Entity other) { if (Faction == null) @@ -221,7 +253,8 @@ public abstract class Entity private void MapEntity() { var hullData = ItemManager.GetData(Hull) as HullData; - Equipment.Add(new EquippedItem(ItemManager, Hull, int2.zero, this)); + EquippedHull = new EquippedItem(ItemManager, Hull, int2.zero, this); + Equipment.Add(EquippedHull); Mass = hullData.Mass; Temperature = new float[hullData.Shape.Width, hullData.Shape.Height]; NewTemperature = new float[hullData.Shape.Width, hullData.Shape.Height]; @@ -257,7 +290,8 @@ public abstract class Entity public void GenerateTriggerGroups() { foreach (var group in Weapons - .GroupBy(w => w.Item.EquippableItem.Data) + .GroupBy(w => w.Item.EquippableItem.Data.LinkID) + .OrderBy(wg=>wg.Average(w=>w.Range)) .Select((weapons, index) => (weapons, index))) { TriggerGroups[group.index].weapons = group.weapons.ToList(); @@ -695,7 +729,7 @@ public abstract class Entity Parent = null; } - public T GetBehavior() where T : class, IBehavior + public T GetBehavior() where T : Behavior { foreach (var equippedItem in Equipment) if(equippedItem.Behaviors != null) @@ -705,7 +739,7 @@ public abstract class Entity return null; } - public IEnumerable GetBehaviors() where T : class, IBehavior + public IEnumerable GetBehaviors() where T : Behavior { foreach (var equippedItem in Equipment) if(equippedItem.Behaviors != null) @@ -779,12 +813,13 @@ public abstract class Entity { if(Cockpit != null) { - if (Cockpit.Item.Temperature > ItemManager.GameplaySettings.HeatstrokeTemperature) + var cockpitTemp = Cockpit.Temperature; + if (cockpitTemp > ItemManager.GameplaySettings.HeatstrokeTemperature) { var previous = Heatstroke; Heatstroke = saturate( Heatstroke + - pow(Cockpit.Item.Temperature - ItemManager.GameplaySettings.HeatstrokeTemperature, ItemManager.GameplaySettings.HeatstrokeExponent) * + pow(cockpitTemp - ItemManager.GameplaySettings.HeatstrokeTemperature, ItemManager.GameplaySettings.HeatstrokeExponent) * ItemManager.GameplaySettings.HeatstrokeMultiplier * delta); if(previous < ItemManager.GameplaySettings.SevereHeatstrokeRiskThreshold && Heatstroke > ItemManager.GameplaySettings.SevereHeatstrokeRiskThreshold) HeatstrokeRisk.OnNext(Unit.Default); @@ -798,12 +833,13 @@ public abstract class Entity { Heatstroke = saturate(Heatstroke - ItemManager.GameplaySettings.HeatstrokeRecoverySpeed * delta); } - if (Cockpit.Item.Temperature < ItemManager.GameplaySettings.HypothermiaTemperature) + + if (cockpitTemp < ItemManager.GameplaySettings.HypothermiaTemperature) { var previous = Hypothermia; Hypothermia = saturate( Hypothermia + - pow(ItemManager.GameplaySettings.HypothermiaTemperature - Cockpit.Item.Temperature, ItemManager.GameplaySettings.HypothermiaExponent) * + pow(ItemManager.GameplaySettings.HypothermiaTemperature - cockpitTemp, ItemManager.GameplaySettings.HypothermiaExponent) * ItemManager.GameplaySettings.HypothermiaMultiplier * delta); if(previous < ItemManager.GameplaySettings.SevereHeatstrokeRiskThreshold && Heatstroke > ItemManager.GameplaySettings.SevereHeatstrokeRiskThreshold) HypothermiaRisk.OnNext(Unit.Default); @@ -818,7 +854,13 @@ public abstract class Entity Hypothermia = saturate(Hypothermia - ItemManager.GameplaySettings.HypothermiaRecoverySpeed * delta); } } - + + for (var i = 0; i < _activeConsumables.Count; i++) + { + _activeConsumables[i].Update(delta); + if(_activeConsumables[i].RemainingDuration < 0) _activeConsumables.RemoveAt(i--); + } + foreach (var equippedItem in _orderedEquipment) { equippedItem.Update(delta); @@ -935,17 +977,64 @@ public abstract class Entity } } +public class ConsumableItemEffect +{ + public float RemainingDuration { get; private set; } + public Entity Entity { get; } + public ConsumableItem Item { get; } + public ConsumableItemData Data { get; } + public Behavior[] Behaviors { get; } + + public ConsumableItemEffect(ConsumableItem item, Entity entity) + { + Item = item; + Entity = entity; + Data = (ConsumableItemData) item.Data.Value; + RemainingDuration = Data.Duration; + + Behaviors = Data.StatModifiers + .Select(bd => bd.CreateInstance(this)) + .ToArray(); + } + + public void Update(float delta) + { + foreach (var behavior in Behaviors) + if(behavior is IAlwaysUpdatedBehavior alwaysUpdatedBehavior) alwaysUpdatedBehavior.Update(delta); + + foreach (var behavior in Behaviors) + { + if (!behavior.Execute(delta)) + break; + } + + RemainingDuration -= delta; + } + + public float Evaluate(PerformanceStat stat) + { + var effectiveness = Data.Effectiveness.Evaluate((Data.Duration - RemainingDuration) / Data.Duration); + var quality = pow(Item.Quality, stat.QualityExponent); + + var result = lerp(stat.Min, stat.Max, effectiveness * quality); + + if (float.IsNaN(result)) + return stat.Min; + return result; + } +} + public class EquippedItem { public int SortPosition; public EquippableItem EquippableItem; public int2 Position; - public Dictionary BehaviorGroups; private bool _thermalOnline; private bool _durabilityOnline; - public IBehavior[] Behaviors { get; } + public Behavior[] Behaviors { get; } + public Dictionary BehaviorGroups { get; } public float Conductivity { get; } public float ThermalPerformance { get; private set; } public float ThermalExponent { get; } @@ -1077,7 +1166,7 @@ public class EquippedItem } } - public T GetBehavior() where T : class, IBehavior + public T GetBehavior() where T : Behavior { foreach (var behavior in Behaviors) if (behavior is T b) @@ -1125,7 +1214,7 @@ public class EquippedCargoBay : EquippedItem // Check whether the given item will fit when its origin is placed at the given coordinate public bool ItemFits(ItemInstance item, int2 cargoCoord) { - var itemData = ItemManager.GetData(item); + var itemData = item.Data.Value; // Check every cell of the item's shape foreach (var i in itemData.Shape.Coordinates) { @@ -1249,9 +1338,9 @@ public class EquippedCargoBay : EquippedItem } Cargo[item] = cargoCoord; - if(!ItemsOfType.ContainsKey(item.Data)) - ItemsOfType[item.Data] = new List(); - ItemsOfType[item.Data].Add(item); + if(!ItemsOfType.ContainsKey(item.Data.LinkID)) + ItemsOfType[item.Data.LinkID] = new List(); + ItemsOfType[item.Data.LinkID].Add(item); } else if (Occupancy[cargoCoord.x, cargoCoord.y] is SimpleCommodity cargoCommodity && cargoCommodity.Data == item.Data) { @@ -1293,9 +1382,9 @@ public class EquippedCargoBay : EquippedItem } Cargo[item] = cargoCoord; - if(!ItemsOfType.ContainsKey(item.Data)) - ItemsOfType[item.Data] = new List(); - ItemsOfType[item.Data].Add(item); + if(!ItemsOfType.ContainsKey(item.Data.LinkID)) + ItemsOfType[item.Data.LinkID] = new List(); + ItemsOfType[item.Data.LinkID].Add(item); Mass += ItemManager.GetMass(item); ThermalMass += ItemManager.GetThermalMass(item); @@ -1318,9 +1407,9 @@ public class EquippedCargoBay : EquippedItem Occupancy[v.x, v.y] = null; Cargo.Remove(item); - ItemsOfType[item.Data].Remove(item); - if (!ItemsOfType[item.Data].Any()) - ItemsOfType.Remove(item.Data); + ItemsOfType[item.Data.LinkID].Remove(item); + if (!ItemsOfType[item.Data.LinkID].Any()) + ItemsOfType.Remove(item.Data.LinkID); Mass -= ItemManager.GetMass(item); ThermalMass -= ItemManager.GetThermalMass(item); @@ -1347,9 +1436,9 @@ public class EquippedCargoBay : EquippedItem Occupancy[v.x, v.y] = null; Cargo.Remove(item); - ItemsOfType[item.Data].Remove(item); - if (!ItemsOfType[item.Data].Any()) - ItemsOfType.Remove(item.Data); + ItemsOfType[item.Data.LinkID].Remove(item); + if (!ItemsOfType[item.Data.LinkID].Any()) + ItemsOfType.Remove(item.Data.LinkID); Mass -= ItemManager.GetMass(item); ThermalMass -= ItemManager.GetThermalMass(item); @@ -1408,9 +1497,9 @@ public class EquippedDockingBay : EquippedCargoBay public class BehaviorGroup { - public IBehavior[] Behaviors; + public Behavior[] Behaviors; - public T GetBehavior() where T : class, IBehavior + public T GetBehavior() where T : Behavior { foreach (var b in Behaviors) { @@ -1421,7 +1510,7 @@ public class BehaviorGroup return null; } - public T GetExposed() where T : class, IBehavior, IInteractiveBehavior + public T GetExposed() where T : Behavior, IInteractiveBehavior { foreach (var b in Behaviors) { diff --git a/Assets/Scripts/ServerShared/EntitySerializer.cs b/Assets/Scripts/ServerShared/EntitySerializer.cs index 41e6d2454..ff7242016 100644 --- a/Assets/Scripts/ServerShared/EntitySerializer.cs +++ b/Assets/Scripts/ServerShared/EntitySerializer.cs @@ -230,7 +230,7 @@ public abstract class EntityPack { foreach (var (_, item) in t) { - var itemData = itemManager.GetData(item); + var itemData = item.Data.Value; if (item is SimpleCommodity s) _price += itemData.Price * s.Quantity; else @@ -242,7 +242,7 @@ public abstract class EntityPack { foreach (var (_, item) in t) { - var itemData = itemManager.GetData(item); + var itemData = item.Data.Value; if (item is SimpleCommodity s) _price += itemData.Price * s.Quantity; else diff --git a/Assets/Scripts/ServerShared/ItemData.cs b/Assets/Scripts/ServerShared/ItemData.cs index df8d9a81c..f2cffbd28 100644 --- a/Assets/Scripts/ServerShared/ItemData.cs +++ b/Assets/Scripts/ServerShared/ItemData.cs @@ -284,8 +284,8 @@ public class SimpleCommodityData : ItemData [MessagePackObject, JsonObject(MemberSerialization.OptIn), JsonConverter(typeof(JsonKnownTypesConverter))] public abstract class CraftedItemData : ItemData { - [Inspectable, JsonProperty("ingredientQualityWeight"), Key(9)] - public float IngredientQualityWeight = .5f; + // [Inspectable, JsonProperty("ingredientQualityWeight"), Key(9)] + // public float IngredientQualityWeight = .5f; } [RethinkTable("Items"), Inspectable, MessagePackObject] @@ -298,7 +298,26 @@ public class CompoundCommodityData : CraftedItemData public CompoundCommodityCategory Category; } -[JsonObject(MemberSerialization.OptIn), JsonConverter(typeof(JsonKnownTypesConverter))] +[RethinkTable("Items"), Inspectable, MessagePackObject] +public class ConsumableItemData : CraftedItemData +{ + [Inspectable, JsonProperty("behaviors"), Key(10)] + public List StatModifiers = new List(); + + [Inspectable, JsonProperty("stackable"), Key(11)] + public bool Stackable; + + [Inspectable, JsonProperty("duration"), Key(12)] + public float Duration; + + [InspectableTexture, JsonProperty("icon"), Key(13)] + public string Icon; + + [Inspectable, JsonProperty("effectiveness"), Key(14)] + public BezierCurve Effectiveness; +} + +[JsonObject(MemberSerialization.OptIn)] public abstract class EquippableItemData : CraftedItemData { [InspectableTexture, JsonProperty("schematic"), Key(10)] @@ -331,6 +350,9 @@ public abstract class EquippableItemData : CraftedItemData [Inspectable, JsonProperty("sfx"), Key(19)] public string SoundEffectTrigger; + [InspectableTexture, JsonProperty("actionIcon"), Key(20)] + public string ActionBarIcon; + [IgnoreMember] public abstract HardpointType HardpointType { get; } @@ -372,7 +394,7 @@ public abstract class EquippableItemData : CraftedItemData [RethinkTable("Items"), Inspectable, MessagePackObject, JsonObject(MemberSerialization.OptIn)] public class GearData : EquippableItemData { - [Inspectable, JsonProperty("hardpointType"), Key(20)] + [Inspectable, JsonProperty("hardpointType"), Key(21)] public HardpointType Hardpoint; [IgnoreMember] public override HardpointType HardpointType => Hardpoint; @@ -381,7 +403,7 @@ public class GearData : EquippableItemData [RethinkTable("Items"), Inspectable, MessagePackObject, JsonObject(MemberSerialization.OptIn)] public class CargoBayData : EquippableItemData { - [Inspectable, JsonProperty("interiorShape"), Key(20)] + [Inspectable, JsonProperty("interiorShape"), Key(21)] public Shape InteriorShape; [IgnoreMember] public override HardpointType HardpointType => HardpointType.Tool; } @@ -389,48 +411,48 @@ public class CargoBayData : EquippableItemData [RethinkTable("Items"), Inspectable, MessagePackObject, JsonObject(MemberSerialization.OptIn)] public class DockingBayData : CargoBayData { - [Inspectable, JsonProperty("maxSize"), Key(21)] + [Inspectable, JsonProperty("maxSize"), Key(22)] public int2 MaxSize; } [RethinkTable("Items"), MessagePackObject, JsonObject(MemberSerialization.OptIn)] public class WeaponItemData : GearData { - [Inspectable, JsonProperty("range"), Key(21)] + [Inspectable, JsonProperty("range"), Key(22)] public WeaponRange WeaponRange; - [Inspectable, JsonProperty("caliber"), Key(22)] + [Inspectable, JsonProperty("caliber"), Key(23)] public WeaponCaliber WeaponCaliber; - [Inspectable, JsonProperty("weaponType"), Key(23)] + [Inspectable, JsonProperty("weaponType"), Key(24)] public WeaponType WeaponType; - [Inspectable, JsonProperty("fireTypes"), Key(24)] + [Inspectable, JsonProperty("fireTypes"), Key(25)] public WeaponFireType WeaponFireTypes; - [Inspectable, JsonProperty("modifiers"), Key(25)] + [Inspectable, JsonProperty("modifiers"), Key(26)] public WeaponModifiers WeaponModifiers; } [RethinkTable("Items"), Inspectable, MessagePackObject, JsonObject(MemberSerialization.OptIn)] public class HullData : EquippableItemData { - [Inspectable, JsonProperty("hardpoints"), Key(20)] + [Inspectable, JsonProperty("hardpoints"), Key(21)] public List Hardpoints = new List(); - [InspectablePrefab, JsonProperty("prefab"), Key(21)] + [InspectablePrefab, JsonProperty("prefab"), Key(22)] public string Prefab; - [Inspectable, JsonProperty("hullType"), Key(22)] + [Inspectable, JsonProperty("hullType"), Key(23)] public HullType HullType; - [Inspectable, JsonProperty("gridOffset"), Key(23)] + [Inspectable, JsonProperty("gridOffset"), Key(24)] public float GridOffset; - [Inspectable, JsonProperty("armor"), Key(24)] + [Inspectable, JsonProperty("armor"), Key(25)] public float Armor; - [Inspectable, JsonProperty("drag"), Key(25)] + [Inspectable, JsonProperty("drag"), Key(26)] public float Drag; [IgnoreMember] @@ -511,29 +533,29 @@ public class PerformanceStat // [JsonProperty("ingredient"), Key(5)] public Guid? Ingredient; - [IgnoreMember] private Dictionary> _scaleModifiers; - [IgnoreMember] private Dictionary> _constantModifiers; + [IgnoreMember] private Dictionary> _scaleModifiers; + [IgnoreMember] private Dictionary> _constantModifiers; [IgnoreMember] - private Dictionary> ScaleModifiers => - _scaleModifiers = _scaleModifiers ?? new Dictionary>(); + private Dictionary> ScaleModifiers => + _scaleModifiers = _scaleModifiers ?? new Dictionary>(); [IgnoreMember] - private Dictionary> ConstantModifiers => - _constantModifiers = _constantModifiers ?? new Dictionary>(); + private Dictionary> ConstantModifiers => + _constantModifiers = _constantModifiers ?? new Dictionary>(); - public Dictionary GetScaleModifiers(Entity entity) + public Dictionary GetScaleModifiers(Entity entity) { if(!ScaleModifiers.ContainsKey(entity)) - ScaleModifiers[entity] = new Dictionary(); + ScaleModifiers[entity] = new Dictionary(); return ScaleModifiers[entity]; } - public Dictionary GetConstantModifiers(Entity entity) + public Dictionary GetConstantModifiers(Entity entity) { if(!ConstantModifiers.ContainsKey(entity)) - ConstantModifiers[entity] = new Dictionary(); + ConstantModifiers[entity] = new Dictionary(); return ConstantModifiers[entity]; } diff --git a/Assets/Scripts/ServerShared/ItemInstance.cs b/Assets/Scripts/ServerShared/ItemInstance.cs index 80d2e3021..d8c7e3427 100644 --- a/Assets/Scripts/ServerShared/ItemInstance.cs +++ b/Assets/Scripts/ServerShared/ItemInstance.cs @@ -18,16 +18,18 @@ using static Unity.Mathematics.math; [Union(0, typeof(SimpleCommodity)), Union(1, typeof(CompoundCommodity)), Union(2, typeof(EquippableItem)), + Union(3, typeof(ConsumableItem)), JsonObject(MemberSerialization.OptIn), JsonConverter(typeof(JsonKnownTypesConverter))] public abstract class ItemInstance { - [JsonProperty("data"), Key(0)] public Guid Data; + [JsonProperty("data"), Key(0)] public DatabaseLink Data; [JsonProperty("rotation"), Key(1)] public ItemRotation Rotation; } [Union(0, typeof(CompoundCommodity)), Union(1, typeof(EquippableItem)), + Union(2, typeof(ConsumableItem)), JsonObject(MemberSerialization.OptIn), JsonConverter(typeof(JsonKnownTypesConverter))] public abstract class CraftedItemInstance : ItemInstance @@ -57,4 +59,9 @@ public class EquippableItem : CraftedItemInstance { [JsonProperty("durability"), Key(7)] public float Durability; [JsonProperty("override"), Key(8)] public bool OverrideShutdown; +} + +[MessagePackObject, JsonObject(MemberSerialization.OptIn)] +public class ConsumableItem : CraftedItemInstance +{ } \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/ItemManager.cs b/Assets/Scripts/ServerShared/ItemManager.cs index 84d0f4eb7..371a86f02 100644 --- a/Assets/Scripts/ServerShared/ItemManager.cs +++ b/Assets/Scripts/ServerShared/ItemManager.cs @@ -107,52 +107,40 @@ public class ItemManager // return Tier[itemData]; // } - public ItemData GetData(ItemInstance item) - { - return ItemData.Get(item.Data); - } - public SimpleCommodityData GetData(SimpleCommodity item) { - return ItemData.Get(item.Data); + return item.Data.Value as SimpleCommodityData; } public CraftedItemData GetData(CraftedItemInstance item) { - return ItemData.Get(item.Data); + return item.Data.Value as CraftedItemData; } - public EquippableItemData GetData(EquippableItem equippableItem) + public EquippableItemData GetData(EquippableItem item) { - return ItemData.Get(equippableItem.Data); + return item.Data.Value as EquippableItemData; } public float GetMass(ItemInstance item) { - var data = GetData(item); - switch (item) + return item switch { - case CraftedItemInstance _: - return data.Mass; - case SimpleCommodity commodity: - return data.Mass * commodity.Quantity; - } - - return 0; + CraftedItemInstance _ => item.Data.Value.Mass, + SimpleCommodity commodity => item.Data.Value.Mass * commodity.Quantity, + _ => 0 + }; } public float GetThermalMass(ItemInstance item) { - var data = GetData(item); - switch (item) + var data = item.Data.Value; + return item switch { - case CraftedItemInstance _: - return data.Mass * data.SpecificHeat; - case SimpleCommodity commodity: - return data.Mass * data.SpecificHeat * commodity.Quantity; - } - - return 0; + CraftedItemInstance _ => data.Mass * data.SpecificHeat, + SimpleCommodity commodity => data.Mass * data.SpecificHeat * commodity.Quantity, + _ => 0 + }; } // Returns stat when not equipped @@ -184,7 +172,7 @@ public class ItemManager { var newItem = new SimpleCommodity { - Data = item.ID, + Data = new DatabaseLink{LinkID = item.ID}, Quantity = count }; //ItemData.Add(newItem); @@ -197,7 +185,7 @@ public class ItemManager public ItemInstance Instantiate(ItemInstance item) { - var data = GetData(item); + var data = item.Data.Value; if(data is CraftedItemData c) { var i = CreateInstance(c); @@ -217,18 +205,15 @@ public class ItemManager { if (item is EquippableItemData equippableItemData) { - var newGear = new EquippableItem + return new EquippableItem { - Data = item.ID, - Quality = quality + Data = new DatabaseLink {LinkID = item.ID}, Quality = quality, Durability = equippableItemData.Durability }; - newGear.Durability = equippableItemData.Durability; - return newGear; } var newCommodity = new CompoundCommodity { - Data = item.ID, + Data = new DatabaseLink{LinkID = item.ID}, Quality = quality }; return newCommodity; diff --git a/Assets/Scripts/ServerShared/SavedGame.cs b/Assets/Scripts/ServerShared/SavedGame.cs index a311a0754..e0caea6b0 100644 --- a/Assets/Scripts/ServerShared/SavedGame.cs +++ b/Assets/Scripts/ServerShared/SavedGame.cs @@ -37,6 +37,9 @@ public class SavedGame [Key(9)] public int[] DiscoveredZones; + + [Key(10)] + public SavedActionBarBinding[] ActionBarBindings; public SavedGame() { } @@ -91,4 +94,32 @@ public class SavedZone [Key(5)] public ZonePack Contents; +} + +[MessagePackObject, + Union(0, typeof(SavedActionBarConsumableBinding)), + Union(1, typeof(SavedActionBarGearBinding)), + Union(2, typeof(SavedActionBarWeaponGroupBinding)) +] +public abstract class SavedActionBarBinding +{ +} + +[MessagePackObject] +public class SavedActionBarConsumableBinding : SavedActionBarBinding +{ + [Key(0)] public DatabaseLink Target; +} + +[MessagePackObject] +public class SavedActionBarGearBinding : SavedActionBarBinding +{ + [Key(0)] public int EquipmentIndex; + [Key(1)] public int BehaviorIndex; +} + +[MessagePackObject] +public class SavedActionBarWeaponGroupBinding : SavedActionBarBinding +{ + [Key(0)] public int Group; } \ No newline at end of file diff --git a/Assets/Scripts/UI/ConsoleView.cs b/Assets/Scripts/UI/ConsoleView.cs index dd5c438d8..967ea89a0 100644 --- a/Assets/Scripts/UI/ConsoleView.cs +++ b/Assets/Scripts/UI/ConsoleView.cs @@ -21,6 +21,7 @@ public class ConsoleView : MonoBehaviour { private string _inputString = ""; private CursorLockMode _previousCursorLockMode; + private bool _playerInputPreviouslyEnabled; public string InputString { @@ -113,17 +114,19 @@ public class ConsoleView : MonoBehaviour { Visible = visible; if(visible) { + _playerInputPreviouslyEnabled = GameManager.Input.Player.enabled; GameManager.Input.Global.Disable(); - GameManager.Input.Player.Disable(); + GameManager.DisablePlayerInput(); GameManager.Input.UI.Disable(); _previousCursorLockMode = Cursor.lockState; Cursor.lockState = CursorLockMode.None; } else { + if(_playerInputPreviouslyEnabled) + GameManager.EnablePlayerInput(); + else GameManager.Input.UI.Enable(); GameManager.Input.Global.Enable(); - GameManager.Input.Player.Enable(); - GameManager.Input.UI.Enable(); Cursor.lockState = _previousCursorLockMode; } } diff --git a/Assets/Scripts/UI/InventoryMenu.cs b/Assets/Scripts/UI/InventoryMenu.cs index 466285840..2a6c76cf5 100644 --- a/Assets/Scripts/UI/InventoryMenu.cs +++ b/Assets/Scripts/UI/InventoryMenu.cs @@ -87,7 +87,7 @@ public class InventoryMenu : MonoBehaviour var item = cargoEvent.CargoBay.Occupancy[cargoEvent.Position.x, cargoEvent.Position.y]; if (item != null) { - var itemData = GameManager.ItemManager.GetData(item); + var itemData = item.Data.Value; var itemPosition = cargoEvent.CargoBay.Cargo[item]; _originalOccupancy = cargoEvent.CargoBay.Data.InteriorShape.Inset(itemData.Shape, itemPosition, item.Rotation); @@ -244,7 +244,7 @@ public class InventoryMenu : MonoBehaviour if (cargoEvent.CargoBay.ItemFits(_dragItem, _dragTargetPosition)) { foreach (var cell in _dragCells) cell.gameObject.SetActive(false); - var itemData = GameManager.ItemManager.GetData(_dragItem); + var itemData = _dragItem.Data.Value; panel.FakeItem = _dragItem; panel.FakeOccupancy = cargoEvent.CargoBay.Data.InteriorShape.Inset(itemData.Shape, _dragTargetPosition, _dragItem.Rotation); _dragTargetValid = true; @@ -258,7 +258,7 @@ public class InventoryMenu : MonoBehaviour if (eqItem != null && entityEvent.Entity.ItemFits(eqItem, _dragTargetPosition)) { foreach (var cell in _dragCells) cell.gameObject.SetActive(false); - var itemData = GameManager.ItemManager.GetData(_dragItem); + var itemData = _dragItem.Data.Value; panel.FakeEquipment = _originalEquippedItem; panel.FakeOccupancy = hullData.Shape.Inset(itemData.Shape, _dragTargetPosition, _dragItem.Rotation); _dragTargetValid = true; @@ -325,7 +325,7 @@ public class InventoryMenu : MonoBehaviour _selectedPanel = panel; _selectedPosition = cargoEvent.CargoBay.Cargo[item]; _selectedItem = item; - _selectedItemData = GameManager.ItemManager.GetData(item); + _selectedItemData = item.Data.Value; foreach (var v in _selectedItemData.Shape.Coordinates) { var v2 = _selectedItemData.Shape.Rotate(v, _selectedItem.Rotation) + _selectedPosition; diff --git a/Assets/Scripts/UI/InventoryPanel.cs b/Assets/Scripts/UI/InventoryPanel.cs index a9a328a74..2ac8f62bc 100644 --- a/Assets/Scripts/UI/InventoryPanel.cs +++ b/Assets/Scripts/UI/InventoryPanel.cs @@ -661,7 +661,7 @@ public class InventoryPanel : MonoBehaviour, IPointerClickHandler return Color.white * .25f; var c = float3(1); - if (GameManager.ItemManager.GetData(item) is EquippableItemData equippable) + if (item.Data.Value is EquippableItemData equippable) c = HardpointData.GetColor(equippable.HardpointType); if(!highlight) diff --git a/Assets/Scripts/UI/PropertiesPanel.cs b/Assets/Scripts/UI/PropertiesPanel.cs index 9424f40a2..272edbdcc 100644 --- a/Assets/Scripts/UI/PropertiesPanel.cs +++ b/Assets/Scripts/UI/PropertiesPanel.cs @@ -387,7 +387,7 @@ public class PropertiesPanel : MonoBehaviour private void AddItemProperties(ItemInstance item) { - var data = ActionGameManager.CultCache.Get(item.Data); + var data = item.Data.Value; AddProperty(data.Description); @@ -447,7 +447,7 @@ public class PropertiesPanel : MonoBehaviour private string GetTitle(EquippableItem item) { - var data = ActionGameManager.CultCache.Get(item.Data); + var data = item.Data.Value; var (tier, upgrades) = GameManager.ItemManager.GetTier(item); return $"{data.Name} ({tier.Name}{new string('+', upgrades)})"; diff --git a/Assets/Scripts/UI/SchematicDisplay.cs b/Assets/Scripts/UI/SchematicDisplay.cs index b3d345e1d..f31c40058 100644 --- a/Assets/Scripts/UI/SchematicDisplay.cs +++ b/Assets/Scripts/UI/SchematicDisplay.cs @@ -13,7 +13,6 @@ public class SchematicDisplay : MonoBehaviour { public GameSettings Settings; public Prototype ListElementPrototype; - public Prototype TriggerGroupPrototype; public Color HeaderElementEnabledColor; public Color HeaderElementDisabledColor; @@ -24,7 +23,6 @@ public class SchematicDisplay : MonoBehaviour public Image HeatsinkBackground; public GameObject AetherDriveUi; - public GameObject AetherDriveUiSpacer; public TextMeshProUGUI EnergyLabel; public TextMeshProUGUI CockpitTemperatureLabel; @@ -48,12 +46,6 @@ public class SchematicDisplay : MonoBehaviour public RectTransform StrafeRPMFill; public RectTransform TurnRPMFill; - public CanvasGroup TriggerGroups; - public float TriggerGroupsFadeDuration = .5f; - public float TriggerGroupsPersistDuration = 5f; - - public Color TriggerGroupColor; - private Entity _entity; private EquippableItem _hull; private Radiator[] _radiators; @@ -63,14 +55,8 @@ public class SchematicDisplay : MonoBehaviour private HeatStorage[] _heatStorages; private EquippedCargoBay[] _cargoBays; private SchematicDisplayItem[] _schematicItems; - private Graphic[] _groupGraphics; private AetherDrive _aetherDrive; - private int _selectedGroupIndex; - private int _selectedItemIndex; - private bool _triggerGroupsVisible; - private float _triggerGroupsFadeOutTime; - private bool _enemy; private Entity _player; @@ -79,31 +65,10 @@ public class SchematicDisplay : MonoBehaviour get { return _schematicItems; } } - public int SelectedItemIndex - { - get => _selectedItemIndex; - set - { - _selectedItemIndex = (value + _schematicItems.Length) % _schematicItems.Length; - UpdateTriggerGroups(); - } - } - - public int SelectedGroupIndex - { - get => _selectedGroupIndex; - set - { - _selectedGroupIndex = (value + Settings.GameplaySettings.TriggerGroupCount) % Settings.GameplaySettings.TriggerGroupCount; - UpdateTriggerGroups(); - } - } - public class SchematicDisplayItem { public EquippedItem Item; public SchematicListElement ListElement; - public SchematicTriggerGroupElement TriggerGroupElement; public IProgressBehavior Cooldown; // public ItemUsage ItemUsage; public Weapon Weapon; @@ -117,7 +82,6 @@ public class SchematicDisplay : MonoBehaviour foreach (var item in _schematicItems) { item.ListElement.GetComponent().ReturnToPool(); - item.TriggerGroupElement?.GetComponent().ReturnToPool(); } _entity = entity; @@ -128,7 +92,6 @@ public class SchematicDisplay : MonoBehaviour _capacitors = entity.GetBehaviors().ToArray(); _aetherDrive = entity.GetBehavior(); AetherDriveUi.SetActive(_aetherDrive != null); - AetherDriveUiSpacer.SetActive(_aetherDrive != null); _radiators = entity.GetBehaviors().ToArray(); if (_radiators.Length == 0) @@ -149,7 +112,6 @@ public class SchematicDisplay : MonoBehaviour { Item = x, ListElement = ListElementPrototype.Instantiate(), - TriggerGroupElement = _enemy ? null : TriggerGroupPrototype.Instantiate(), Cooldown = _enemy ? null : (IProgressBehavior) x.Behaviors.FirstOrDefault(b=> b is IProgressBehavior), // ItemUsage = _enemy ? null : (ItemUsage) x.Behaviors.FirstOrDefault(b=> b is ItemUsage), Weapon = (Weapon) x.Behaviors.FirstOrDefault(b=>b is Weapon) @@ -164,72 +126,12 @@ public class SchematicDisplay : MonoBehaviour { x.ListElement.InfiniteAmmoIcon.gameObject.SetActive(x.Weapon.WeaponData.AmmoType == Guid.Empty); x.ListElement.AmmoLabel.gameObject.SetActive(x.Weapon.WeaponData.AmmoType != Guid.Empty); - foreach (var group in x.TriggerGroupElement.GroupBackgrounds) - group.color = TriggerGroupColor; - } - } - if (!_enemy) - UpdateTriggerGroups(); - } - - public void UpdateTriggerGroups() - { - if (!_triggerGroupsVisible) - { - StartCoroutine(FadeInTriggerGroups()); - _triggerGroupsVisible = true; - } - _triggerGroupsFadeOutTime = Time.time + TriggerGroupsPersistDuration; - for (var itemIndex = 0; itemIndex < _schematicItems.Length; itemIndex++) - { - var item = _schematicItems[itemIndex]; - for (var groupIndex = 0; groupIndex < item.TriggerGroupElement.GroupBackgrounds.Length; groupIndex++) - { - var backgroundColor = TriggerGroupColor; - if (_selectedGroupIndex == groupIndex) - backgroundColor.a *= 2; - if (_selectedItemIndex == itemIndex) - backgroundColor.a *= 2; - item.TriggerGroupElement.GroupBackgrounds[groupIndex].color = backgroundColor; - item.TriggerGroupElement.GroupLabel[groupIndex].color = - _entity.TriggerGroups[groupIndex].items.Contains(item.Item) ? Color.white : Color.gray; } } } - IEnumerator FadeInTriggerGroups() - { - var startTime = Time.time; - while (Time.time - startTime < TriggerGroupsFadeDuration) - { - var lerp = (Time.time - startTime) / TriggerGroupsFadeDuration; - TriggerGroups.alpha = lerp; - yield return null; - } - - TriggerGroups.alpha = 1; - } - - IEnumerator FadeOutTriggerGroups() - { - var startTime = Time.time; - while (Time.time - startTime < TriggerGroupsFadeDuration) - { - var lerp = (Time.time - startTime) / TriggerGroupsFadeDuration; - TriggerGroups.alpha = 1-lerp; - yield return null; - } - - TriggerGroups.alpha = 0; - } - void Update() { - if (_triggerGroupsVisible && _triggerGroupsFadeOutTime < Time.time) - { - _triggerGroupsVisible = false; - StartCoroutine(FadeOutTriggerGroups()); - } if (_entity != null) { if (!_enemy) @@ -237,11 +139,11 @@ public class SchematicDisplay : MonoBehaviour OverrideIcon.SetActive(_entity.OverrideShutdown && cos(Time.time * OverrideIconBlinkSpeed) > 0); ShieldIcon.SetActive(_entity.Shield!=null && _entity.Shield.Item.Active.Value); if (_radiators.Length == 1) - RadiatorTemperatureLabel.text = $"{((int)(_radiators[0].Temperature - 273.15f)).ToString()}°C"; + RadiatorTemperatureLabel.text = $"{((int)(_radiators[0].RadiatorTemperature - 273.15f)).ToString()}°C"; else if (_radiators.Length > 1) RadiatorTemperatureLabel.text = - $"{((int)(_radiators.Min(r => r.Temperature) - 273.15f)).ToString()}-" + - $"{((int)(_radiators.Max(r => r.Temperature) - 273.15f)).ToString()}°C"; + $"{((int)(_radiators.Min(r => r.RadiatorTemperature) - 273.15f)).ToString()}-" + + $"{((int)(_radiators.Max(r => r.RadiatorTemperature) - 273.15f)).ToString()}°C"; HeatsinkBackground.color = _entity.HeatsinksEnabled ? HeaderElementEnabledColor : HeaderElementDisabledColor; if (_heatStorages.Length == 1) diff --git a/Assets/Scripts/UI/TradeMenu.cs b/Assets/Scripts/UI/TradeMenu.cs index 6d83b0fc4..c38f1116f 100644 --- a/Assets/Scripts/UI/TradeMenu.cs +++ b/Assets/Scripts/UI/TradeMenu.cs @@ -220,7 +220,7 @@ public class TradeMenu : MonoBehaviour data => data.Shape.Width*data.Shape.Height)); var items = Inventory.Cargo.Keys - .Select(ii=>(ii, GameManager.ItemManager.GetData(ii))); + .Select(ii=>(ii, ii.Data.Value)); if (MinimumSizeFilter.gameObject.activeSelf) items = items.Where(i => @@ -287,7 +287,7 @@ public class TradeMenu : MonoBehaviour x => () => { if (x.data is HullData) - return GameManager.DockedEntity.Children.Count(s => s.Hull.Data == x.data.ID && s is Ship {IsPlayerShip: true}).ToString(); + return GameManager.DockedEntity.Children.Count(s => s.Hull.Data.LinkID == x.data.ID && s is Ship {IsPlayerShip: true}).ToString(); if(x.data is SimpleCommodityData) return (_targetCargo.ItemsOfType.ContainsKey(x.data.ID) ? _targetCargo.ItemsOfType[x.data.ID].Cast().Sum(s=>s.Quantity) : 0).ToString(); return (_targetCargo.ItemsOfType.ContainsKey(x.data.ID) ? _targetCargo.ItemsOfType[x.data.ID].Count : 0).ToString(); @@ -295,7 +295,7 @@ public class TradeMenu : MonoBehaviour data => { if (data is HullData) - return GameManager.DockedEntity.Children.Count(s => s.Hull.Data == data.ID && s is Ship {IsPlayerShip: true}); + return GameManager.DockedEntity.Children.Count(s => s.Hull.Data.LinkID == data.ID && s is Ship {IsPlayerShip: true}); if(data is SimpleCommodityData) return _targetCargo.ItemsOfType.ContainsKey(data.ID) ? _targetCargo.ItemsOfType[data.ID].Cast().Sum(s=>s.Quantity) : 0; return _targetCargo.ItemsOfType.ContainsKey(data.ID) ? _targetCargo.ItemsOfType[data.ID].Count : 0; diff --git a/Assets/Scripts/UI/TradeMenuDebug.cs b/Assets/Scripts/UI/TradeMenuDebug.cs index defed04f1..f6d60355d 100644 --- a/Assets/Scripts/UI/TradeMenuDebug.cs +++ b/Assets/Scripts/UI/TradeMenuDebug.cs @@ -272,7 +272,7 @@ public class TradeMenuDebug : MonoBehaviour data => () => { if (data is HullData) - return GameManager.DockedEntity.Children.Count(s => s.Hull.Data == data.ID && s is Ship {IsPlayerShip: true}).ToString(); + return GameManager.DockedEntity.Children.Count(s => s.Hull.Data.LinkID == data.ID && s is Ship {IsPlayerShip: true}).ToString(); if(data is SimpleCommodityData) return (_targetCargo.ItemsOfType.ContainsKey(data.ID) ? _targetCargo.ItemsOfType[data.ID].Cast().Sum(s=>s.Quantity) : 0).ToString(); return (_targetCargo.ItemsOfType.ContainsKey(data.ID) ? _targetCargo.ItemsOfType[data.ID].Count : 0).ToString(); @@ -280,7 +280,7 @@ public class TradeMenuDebug : MonoBehaviour data => { if (data is HullData) - return GameManager.DockedEntity.Children.Count(s => s.Hull.Data == data.ID && s is Ship {IsPlayerShip: true}); + return GameManager.DockedEntity.Children.Count(s => s.Hull.Data.LinkID == data.ID && s is Ship {IsPlayerShip: true}); if(data is SimpleCommodityData) return _targetCargo.ItemsOfType.ContainsKey(data.ID) ? _targetCargo.ItemsOfType[data.ID].Cast().Sum(s=>s.Quantity) : 0; return _targetCargo.ItemsOfType.ContainsKey(data.ID) ? _targetCargo.ItemsOfType[data.ID].Count : 0; diff --git a/Assets/Scripts/Zone Display/ZoneRenderer.cs b/Assets/Scripts/Zone Display/ZoneRenderer.cs index f3287722d..bcbb74a11 100644 --- a/Assets/Scripts/Zone Display/ZoneRenderer.cs +++ b/Assets/Scripts/Zone Display/ZoneRenderer.cs @@ -80,7 +80,7 @@ public class ZoneRenderer : MonoBehaviour private PlanetObject[] _suns; public Dictionary WormholeInstances = new Dictionary(); - private List _gridObjects = new List(); + private List _loot = new List(); public Zone Zone { get; private set; } public ItemManager ItemManager { get; set; } @@ -216,9 +216,9 @@ public class ZoneRenderer : MonoBehaviour subscription.Dispose(); _zoneSubscriptions.Clear(); - foreach(var gridObject in _gridObjects) + foreach(var gridObject in _loot) if(gridObject) Destroy(gridObject.gameObject); - _gridObjects.Clear(); + _loot.Clear(); foreach (var entity in Zone.Entities) { @@ -409,6 +409,12 @@ public class ZoneRenderer : MonoBehaviour void Update() { + foreach (var loot in _loot) + { + loot.ViewOrigin = PerspectiveEntity.Position; + loot.ViewDirection = PerspectiveEntity.LookDirection; + } + if (SlimeRenderer.SpawnPositions.Length != _suns.Length) SlimeRenderer.SpawnPositions = new Vector2[_suns.Length]; for (var i = 0; i < _suns.Length; i++) @@ -474,6 +480,11 @@ public class ZoneRenderer : MonoBehaviour // MinimapTintQuad.transform.position = gravPos - Vector3.up*10; } + public void DestroyLoot(ItemPickup loot) + { + _loot.Remove(loot); + } + public void DropItem(Vector3 position, Vector3 velocity, ItemInstance item) { var gridObject = item switch @@ -488,9 +499,19 @@ public class ZoneRenderer : MonoBehaviour gridObject.Zone = Zone; t.position = position; gridObject.Velocity = velocity; - gridObject.gameObject.AddComponent().Item = item; + var itemPickup = gridObject.gameObject.GetComponent(); + itemPickup.Item = item; + itemPickup.ZoneRenderer = this; + itemPickup.ScanLabel.text = item.Data.Value.Name; + if (item is CraftedItemInstance craftedItemInstance) + { + var c = ItemManager.GetTier(craftedItemInstance).tier.Color.ToColor(); + c.a = 0; + itemPickup.ScanLabel.color = c; + } + else itemPickup.ScanLabel.color = new Color(.75f, .75f, .75f, 0); gridObject.gameObject.AddComponent().Duration = Settings.PickupLifetime; - _gridObjects.Add(gridObject); + _loot.Add(itemPickup); } } diff --git a/Assets/Shaders/Raymarching/VolumeRender.shader b/Assets/Shaders/Raymarching/VolumeRender.shader index 0137be7f6..b2d2f7328 100644 --- a/Assets/Shaders/Raymarching/VolumeRender.shader +++ b/Assets/Shaders/Raymarching/VolumeRender.shader @@ -155,7 +155,8 @@ float4 RayMarch( in float3 origin, in float3 direction, in float zbuf, in float2 screenUV, out float scatterSum ) { - half rand = frac(tex2D(_DitheringTex, screenUV * _DitheringCoords.xy).r + _FrameNumber * 1.61803398875); + float rand = frac(tex2D(_DitheringTex, screenUV * _DitheringCoords.xy).r + _FrameNumber * 1.61803398875); + //half rand = frac(nrand(screenUV) + _FrameNumber * 1.61803398875); //half rand = nrand(screenUV + frac(_Time.x)) * 2; float4 sum = (float4)0.; scatterSum = 0.; diff --git a/Assets/Shaders/TMP_SDF.shader b/Assets/Shaders/TMP_SDF.shader new file mode 100644 index 000000000..88ce13235 --- /dev/null +++ b/Assets/Shaders/TMP_SDF.shader @@ -0,0 +1,323 @@ +Shader "TextMeshPro/Distance Field Stochastic" { + +Properties { + _FaceTex ("Face Texture", 2D) = "white" {} + _FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0 + _FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0 + _FaceColor ("Face Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + _OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineTex ("Outline Texture", 2D) = "white" {} + _OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0 + _OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0 + _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0 + _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 + + _Bevel ("Bevel", Range(0,1)) = 0.5 + _BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0 + _BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0 + _BevelClamp ("Bevel Clamp", Range(0,1)) = 0 + _BevelRoundness ("Bevel Roundness", Range(0,1)) = 0 + + _LightAngle ("Light Angle", Range(0.0, 6.2831853)) = 3.1416 + _SpecularColor ("Specular", Color) = (1,1,1,1) + _SpecularPower ("Specular", Range(0,4)) = 2.0 + _Reflectivity ("Reflectivity", Range(5.0,15.0)) = 10 + _Diffuse ("Diffuse", Range(0,1)) = 0.5 + _Ambient ("Ambient", Range(1,0)) = 0.5 + + _BumpMap ("Normal map", 2D) = "bump" {} + _BumpOutline ("Bump Outline", Range(0,1)) = 0 + _BumpFace ("Bump Face", Range(0,1)) = 0 + + _ReflectFaceColor ("Reflection Color", Color) = (0,0,0,1) + _ReflectOutlineColor("Reflection Color", Color) = (0,0,0,1) + _Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ } + _EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0) + + + _UnderlayColor ("Border Color", Color) = (0,0,0, 0.5) + _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 + _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 + _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 + _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 + + _GlowColor ("Color", Color) = (0, 1, 0, 0.5) + _GlowOffset ("Offset", Range(-1,1)) = 0 + _GlowInner ("Inner", Range(0,1)) = 0.05 + _GlowOuter ("Outer", Range(0,1)) = 0.05 + _GlowPower ("Falloff", Range(1, 0)) = 0.75 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = 0.5 + + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5.0 + _ScaleX ("Scale X", float) = 1.0 + _ScaleY ("Scale Y", float) = 1.0 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + _Sharpness ("Sharpness", Range(-1,1)) = 0 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _MaskCoord ("Mask Coordinates", vector) = (0, 0, 32767, 32767) + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 +} + +SubShader { + + Tags + { + "Queue"="AlphaTest" + "IgnoreProjector"="True" + "RenderType"="TransparentCutout" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + ZWrite On + Lighting Off + Fog { Mode Off } + ZTest [unity_GUIZTestMode] + //Blend One OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + CGPROGRAM + #pragma target 3.0 + #pragma vertex VertShader + #pragma fragment PixShader + #pragma shader_feature __ BEVEL_ON + #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER + #pragma shader_feature __ GLOW_ON + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "Assets/TextMesh Pro/Resources/Shaders/TMPro_Properties.cginc" + #include "Assets/TextMesh Pro/Resources/Shaders/TMPro.cginc" + #include "Dither Functions.cginc" + + struct vertex_t { + UNITY_VERTEX_INPUT_INSTANCE_ID + float4 position : POSITION; + float3 normal : NORMAL; + fixed4 color : COLOR; + float2 texcoord0 : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; + }; + + + struct pixel_t { + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + float4 position : SV_POSITION; + fixed4 color : COLOR; + float2 atlas : TEXCOORD0; // Atlas + float4 param : TEXCOORD1; // alphaClip, scale, bias, weight + float4 mask : TEXCOORD2; // Position in object space(xy), pixel Size(zw) + float3 viewDir : TEXCOORD3; + + #if (UNDERLAY_ON || UNDERLAY_INNER) + float4 texcoord2 : TEXCOORD4; // u,v, scale, bias + fixed4 underlayColor : COLOR1; + #endif + float4 textures : TEXCOORD5; + float4 screenPos : TEXCOORD6; + }; + + // Used by Unity internally to handle Texture Tiling and Offset. + float4 _FaceTex_ST; + float4 _OutlineTex_ST; + + pixel_t VertShader(vertex_t input) + { + pixel_t output; + + UNITY_INITIALIZE_OUTPUT(pixel_t, output); + UNITY_SETUP_INSTANCE_ID(input); + UNITY_TRANSFER_INSTANCE_ID(input,output); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); + + float bold = step(input.texcoord1.y, 0); + + float4 vert = input.position; + vert.x += _VertexOffsetX; + vert.y += _VertexOffsetY; + + float4 vPosition = UnityObjectToClipPos(vert); + + float2 pixelSize = vPosition.w; + pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); + float scale = rsqrt(dot(pixelSize, pixelSize)); + scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1); + if (UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert))))); + + float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; + weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; + + float bias =(.5 - weight) + (.5 / scale); + + float alphaClip = (1.0 - _OutlineWidth * _ScaleRatioA - _OutlineSoftness * _ScaleRatioA); + + #if GLOW_ON + alphaClip = min(alphaClip, 1.0 - _GlowOffset * _ScaleRatioB - _GlowOuter * _ScaleRatioB); + #endif + + alphaClip = alphaClip / 2.0 - ( .5 / scale) - weight; + + #if (UNDERLAY_ON || UNDERLAY_INNER) + float4 underlayColor = _UnderlayColor; + underlayColor.rgb *= underlayColor.a; + + float bScale = scale; + bScale /= 1 + ((_UnderlaySoftness*_ScaleRatioC) * bScale); + float bBias = (0.5 - weight) * bScale - 0.5 - ((_UnderlayDilate * _ScaleRatioC) * 0.5 * bScale); + + float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; + float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; + float2 bOffset = float2(x, y); + #endif + + // Generate UV for the Masking Texture + float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); + float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); + + // Support for texture tiling and offset + float2 textureUV = UnpackUV(input.texcoord1.x); + float2 faceUV = TRANSFORM_TEX(textureUV, _FaceTex); + float2 outlineUV = TRANSFORM_TEX(textureUV, _OutlineTex); + + + output.position = vPosition; + output.color = input.color; + output.atlas = input.texcoord0; + output.param = float4(alphaClip, scale, bias, weight); + output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); + output.viewDir = mul((float3x3)_EnvMatrix, _WorldSpaceCameraPos.xyz - mul(unity_ObjectToWorld, vert).xyz); + #if (UNDERLAY_ON || UNDERLAY_INNER) + output.texcoord2 = float4(input.texcoord0 + bOffset, bScale, bBias); + output.underlayColor = underlayColor; + #endif + output.textures = float4(faceUV, outlineUV); + + output.screenPos = ComputeScreenPos(output.position); + + return output; + } + + + fixed4 PixShader(pixel_t input) : SV_Target + { + UNITY_SETUP_INSTANCE_ID(input); + + float c = tex2D(_MainTex, input.atlas).a; + + #ifndef UNDERLAY_ON + clip(c - input.param.x); + #endif + + float scale = input.param.y; + float bias = input.param.z; + float weight = input.param.w; + float sd = (bias - c) * scale; + + float outline = (_OutlineWidth * _ScaleRatioA) * scale; + float softness = (_OutlineSoftness * _ScaleRatioA) * scale; + + half4 faceColor = _FaceColor; + half4 outlineColor = _OutlineColor; + + faceColor.rgb *= input.color.rgb; + + faceColor *= tex2D(_FaceTex, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y); + outlineColor *= tex2D(_OutlineTex, input.textures.zw + float2(_OutlineUVSpeedX, _OutlineUVSpeedY) * _Time.y); + + faceColor = GetColor(sd, faceColor, outlineColor, outline, softness); + + #if BEVEL_ON + float3 dxy = float3(0.5 / _TextureWidth, 0.5 / _TextureHeight, 0); + float3 n = GetSurfaceNormal(input.atlas, weight, dxy); + + float3 bump = UnpackNormal(tex2D(_BumpMap, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y)).xyz; + bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5)); + n = normalize(n- bump); + + float3 light = normalize(float3(sin(_LightAngle), cos(_LightAngle), -1.0)); + + float3 col = GetSpecular(n, light); + faceColor.rgb += col*faceColor.a; + faceColor.rgb *= 1-(dot(n, light)*_Diffuse); + faceColor.rgb *= lerp(_Ambient, 1, n.z*n.z); + + fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDir, -n)); + faceColor.rgb += reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a; + #endif + + #if UNDERLAY_ON + float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z; + faceColor += input.underlayColor * saturate(d - input.texcoord2.w) * (1 - faceColor.a); + #endif + + #if UNDERLAY_INNER + float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z; + faceColor += input.underlayColor * (1 - saturate(d - input.texcoord2.w)) * saturate(1 - sd) * (1 - faceColor.a); + #endif + + #if GLOW_ON + float4 glowColor = GetGlowColor(sd, scale); + faceColor.rgb += glowColor.rgb * glowColor.a; + #endif + + // Alternative implementation to UnityGet2DClipping with support for softness. + #if UNITY_UI_CLIP_RECT + half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw); + faceColor *= m.x * m.y; + #endif + + float2 screenUV = input.screenPos.xy / input.screenPos.w; + ditherClip(screenUV, faceColor.a * input.color.a); + + #if UNITY_UI_ALPHACLIP + clip(faceColor.a - 0.001); + #endif + + return faceColor * input.color.a; + } + + ENDCG + } +} + +Fallback "TextMeshPro/Mobile/Distance Field" +CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" +} diff --git a/Assets/Shaders/TMP_SDF.shader.meta b/Assets/Shaders/TMP_SDF.shader.meta new file mode 100644 index 000000000..91afb6247 --- /dev/null +++ b/Assets/Shaders/TMP_SDF.shader.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 727e3be2403d4350a005a890aafdf4b4 +timeCreated: 1618519289 \ No newline at end of file diff --git a/GameData/AetherDB.msgpack b/GameData/AetherDB.msgpack index c2455d053..100658701 100644 --- a/GameData/AetherDB.msgpack +++ b/GameData/AetherDB.msgpack @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:21ce7bd21f283b5deb556e09791445df142f9ca3025499205ae4a4d9b0b1afd2 -size 76200 +oid sha256:a607d2435f93eae73a274ae8247c7aa47e1962fadef282db240705970b1d12bc +size 75659 diff --git a/GameData/Narrative/TheIntercept.ink b/GameData/Narrative/TheIntercept.ink deleted file mode 100644 index 7e710b348..000000000 --- a/GameData/Narrative/TheIntercept.ink +++ /dev/null @@ -1,1686 +0,0 @@ -// Character variables. We track just two, using a +/- scale -VAR forceful = 0 -VAR evasive = 0 - - -// Inventory Items -VAR teacup = false -VAR gotcomponent = false - - -// Story states: these can be done using read counts of knots; or functions that collect up more complex logic; or variables -VAR drugged = false -VAR hooper_mentioned = false - -VAR losttemper = false -VAR admitblackmail = false - -// what kind of clue did we pass to Hooper? -CONST NONE = 0 -CONST STRAIGHT = 1 -CONST CHESS = 2 -CONST CROSSWORD = 3 -VAR hooperClueType = NONE - -VAR hooperConfessed = false - -CONST SHOE = 1 -CONST BUCKET = 2 -VAR smashingWindowItem = NONE - -VAR notraitor = false -VAR revealedhooperasculprit = false -VAR smashedglass = false -VAR muddyshoes = false - -VAR framedhooper = false - -// What did you do with the component? -VAR putcomponentintent = false -VAR throwncomponentaway = false -VAR piecereturned = false -VAR longgrasshooperframe = false - - -// DEBUG mode adds a few shortcuts - remember to set to false in release! -VAR DEBUG = false -{DEBUG: - IN DEBUG MODE! - * [Beginning...] -> start - * [Framing Hooper...] -> claim_hooper_took_component - * [In with Hooper...] -> inside_hoopers_hut -- else: - // First diversion: where do we begin? - -> start -} - - /*-------------------------------------------------------------------------------- - Wrap up character movement using functions, in case we want to develop this logic in future ---------------------------------------------------------------------------------*/ - - - === function lower(ref x) - ~ x = x - 1 - - === function raise(ref x) - ~ x = x + 1 - -/*-------------------------------------------------------------------------------- - - Start the story! - ---------------------------------------------------------------------------------*/ - -=== start === - -// Intro - - They are keeping me waiting. - * Hut 14[]. The door was locked after I sat down. - I don't even have a pen to do any work. There's a copy of the morning's intercept in my pocket, but staring at the jumbled letters will only drive me mad. - I am not a machine, whatever they say about me. - - - (opts) - {|I rattle my fingers on the field table.|} - * (think) [Think] - They suspect me to be a traitor. They think I stole the component from the calculating machine. They will be searching my bunk and cases. - When they don't find it, {plan:then} they'll come back and demand I talk. - -> opts - * (plan) [Plan] - {not think:What I am is|I am} a problem—solver. Good with figures, quick with crosswords, excellent at chess. - But in this scenario — in this trap — what is the winning play? - * * (cooperate) [Co—operate] - I must co—operate. My credibility is my main asset. To contradict myself, or another source, would be fatal. - I must simply hope they do not ask the questions I do not want to answer. - ~ lower(forceful) - * * [Dissemble] - Misinformation, then. Just as the war in Europe is one of plans and interceptions, not planes and bombs. - My best hope is a story they prefer to the truth. - ~ raise(forceful) - * * (delay) [Divert] - Avoidance and delay. The military machine never fights on a single front. If I move slowly enough, things will resolve themselves some other way, my reputation intact. - ~ raise(evasive) - * [Wait] - - -> waited - -= waited - - Half an hour goes by before Commander Harris returns. He closes the door behind him quickly, as though afraid a loose word might slip inside. - "Well, then," he begins, awkwardly. This is an unseemly situation. - * "Commander." - He nods. <> - * (tellme) {not start.delay} "Tell me what this is about." - He shakes his head. - "Now, don't let's pretend." - * [Wait] - I say nothing. - - He has brought two cups of tea in metal mugs: he sets them down on the tabletop between us. - * {tellme} [Deny] "I'm not pretending anything." - {cooperate:I'm lying already, despite my good intentions.} - Harris looks disapproving. -> pushes_cup - * (took) [Take one] - ~ teacup = true - I take a mug and warm my hands. It's <> - * (what2) {not tellme} "What's going on?" - "You know already." - -> pushes_cup - * [Wait] - I wait for him to speak. - - - (pushes_cup) He pushes one mug halfway towards me: <> - - a small gesture of friendship. - Enough to give me hope? - * (lift_up_cup) {not teacup} [Take it] - I {took:lift the mug|take the mug,} and blow away the steam. It is too hot to drink. - Harris picks his own up and just holds it. - ~ teacup = true - ~ lower(forceful) - * {not teacup} [Don't take it] - Just a cup of insipid canteen tea. I leave it where it is. - ~ raise(forceful) - - * {teacup} [Drink] - I raise the cup to my mouth but it's too hot to drink. - - * {teacup} [Wait] - I say nothing as -> lift_up_cup - -- "Quite a difficult situation," {lift_up_cup:he|Harris} begins{forceful <= 0:, sternly}. I've seen him adopt this stiff tone of voice before, but only when talking to the brass. "I'm sure you agree." - * [Agree] - "Awkward," I reply - * (disagree) [Disagree] - "I don't see why," I reply - ~ raise(forceful) - ~ raise(evasive) - * [Lie] -> disagree - * [Evade] - "I'm sure you've handled worse," I reply casually - ~ raise(evasive) - - { teacup: - ~ drugged = true - <>, sipping at my tea as though we were old friends - } - <>. - - - - * [Watch him] - His face is telling me nothing. I've seen Harris broad and full of laughter. Today he is tight, as much part of the military machine as the device in Hut 5. - - * [Wait] - I wait to see how he'll respond. - - * {not disagree} [Smile] - I try a weak smile. It is not returned. - ~ lower(forceful) - -// Why you're here - - - "We need that component," he says. - - - //"There's no alternative, of course," he continues. - {not missing_reel: - -> missing_reel -> harris_demands_component - } - - - * [Yes] - "Of course I do," I answer. - * (no) [No] - "No I don't. And I've got work to do..." - "Work that will be rather difficult for you to do, don't you think?" Harris interrupts. - - * [Evade] - -> here_at_bletchley_diversion - * [Lie] - -> no - - -> missing_reel -> harris_demands_component - -=== missing_reel === - * [The stolen component...] - * [Shrug] - I shrug. - ->-> - - The reel went missing from the Bombe this afternoon. The four of us were in the Hut, working on the latest German intercept. The results were garbage. It was Russell who found the gap in the plugboard. - - Any of us could have taken it; and no one else would have known its worth. - - * {forceful <= 0 }[Panic] They will pin it on me. They need a scapegoat so that the work can continue. I'm a likely target. Weaker than the rest. - ~ lower(forceful) - * [Calculate] My odds, then, are one in four. Not bad; although the stakes themselves are higher than I would like. - ~ raise(evasive) - * {evasive >= 0} [Deny] But this is still a mere formality. The work will not stop. A replacement component will be made and we will all be put back to work. We are too valuable to shoot. - ~ raise(forceful) - - ->-> - - -=== here_at_bletchley_diversion - "Here at Bletchley? Of course." - ~ raise(evasive) - ~ lower(forceful) - "Here, now," Harris corrects. "We are not talking to everyone. I can imagine you might feel pretty sore about that. I can imagine you feeling picked on. { forceful < 0:You're a sensitive soul.}" - - * (fine) "I'm fine[."]," I reply. "This is all some misunderstanding and the quicker we have it cleared up the better." - ~ lower(forceful) - "I couldn't agree more." And then he comes right out with it, with an accusation. - - * {forceful < 0} "What do you mean by that?" - - * (sore) { forceful >= 0 } "Damn right[."] I'm sore. Was it one of the others who put you up to this? Was it Hooper? He's always been jealous of me. He's..." - ~ raise(forceful) - ~ hooper_mentioned = true - The Commander moustache bristles as he purses his lips. "Has he now? Of your achievements, do you think?" - It's difficult not to shake the sense that he's { evasive > 1 :mocking|simply humouring} me. - "Or of your brain? Or something else?" - * * "Of my genius.["] Hooper simply can't stand that I'm cleverer than he is. We work so closely together, cooped up in that Hut all day. It drives him to distraction. To worse." - "You're suggesting Hooper would sabotage this country's future simply to spite you?" Harris chooses his words like the military man he is, each lining up to create a ring around me. - * * * [Yes] - "{ forceful > 0:He's petty enough, certainly|I wouldn't put it past him}. He's a creep." { teacup : I set the teacup down.|I wipe a hand across my forehead.} - ~ raise(forceful) - ~ teacup = false - * * * [No] - "No, { forceful >0:of course not|I suppose not}." { teacup :I put the teacup back down on the table|I push the teacup around on its base}. - ~ lower(forceful) - ~ teacup = false - * * * [Evade] - "I don't know what I'm suggesting. I don't understand what's going on." - ~ raise(evasive) - "But of course you do." Harris narrows his eyes. - -> done - - - - - (suggest_its_a_lie) "All I can say is, ever since I arrived here, he's been looking to ways to bring me down a peg. I wouldn't be surprised if he set this whole affair up just to have me court—martialled." - "We don't court—martial civilians," Harris replies. "Traitors are simply hung at her Majesty's pleasure." - * * * "Quite right[."]," I answer smartly. - * * * (iamnotraitor) "I'm no traitor[."]," I answer{forceful > 0 :smartly|, voice quivering. "For God's sake!"} - * * * [Lie] -> iamnotraitor - - - - He stares back at me. - - * * "Of my standing.["] My reputation." { forceful > 0:I'm aware of how arrogant I must sound but I plough on all the same.|I don't like to talk of myself like this, but I carry on all the same.} "Hooper simply can't bear knowing that, once all this is over, I'll be the one receiving the knighthood and he..." - "No—one will be getting a knighthood if the Germans make landfall," Harris answers sharply. He casts a quick eye to the door of the Hut to check the latch is still down, then continues in more of a murmur: "Not you and not Hooper. Now answer me." - For the first time since the door closed, I wonder what the threat might be if I do not. - - * * [Evade] - ~ teacup = false - ~ raise(forceful) - "How should I know?" I reply, defensively. { teacup :I set the teacup back on the table.} -> suggest_its_a_lie - - - * [Be honest] -> sore - * [Lie] -> fine - -- (done) -> harris_demands_component - - -=== harris_demands_component === - "{here_at_bletchley_diversion:Please|So}. Do you have it?" Harris is {forceful > 3:sweating slightly|wasting no time}: Bletchley is his watch. "Do you know where it is?" - * [Yes] - "I do." - -> admitted_to_something - * (nope) [No] "I have no idea." - -> silence - * [Lie] -> nope - * [Evade] - "The component?" - ~ raise(evasive) - ~ lower(forceful) - "Don't play stupid," he replies. "{ not missing_reel:The component that went missing this afternoon. }Where is it?" - - - { not missing_reel: - -> missing_reel -> - } - * [Co-operate] "I know where it is." - -> admitted_to_something - * (nothing) [Delay] "I know nothing about it." My voice shakes{ forceful > 0: with anger|; I'm unaccustomed to facing off against men with holstered guns}. - - * [Lie] -> nothing - * [Evade] - - "I don't know what gives you the right to pick on me. { forceful > 0:I demand a lawyer.|I want a lawyer.}" - - "This is time of war," Harris answers. "And by God, if I have to shoot you to recover the component, I will. Understand?" He points at the mug,-> drinkit - - - (silence) There's an icy silence. { forceful > 2:I've cracked him a little.|{ evasive > 2:He's tiring of my evasiveness.}} - - // Drink tea and talk - - (drinkit) "Now drink your tea and talk." - * { teacup } [Drink] -> drinkfromcup - * { teacup } [Put the cup down] - I set the cup carefully down on the table once more. - ~ teacup = false - ~ raise(forceful) - -> whatsinit - - * { not teacup } [Take the cup] - - - (drinkfromcup) I lift the cup { teacup :to my lips }and sip. He waits for me to swallow before speaking again. - ~ drugged = true - ~ teacup = true - * { not teacup } [Don't take it] - I leave the cup where it is. - ~ raise(forceful) - - - (whatsinit) "Why?" I ask coldly. "What's in it?" - - - "Lapsang Souchong," he {drinkfromcup:remarks|replies}, placing his own cup back on the table untouched. "Such a curious flavour. It might almost not be tea at all. You might say it hides a multitude of sins. As do you. Isn't that right?" - - * (suppose_i_have) [Agree] - // Regrets - "I suppose so," I reply. "I've done things I shouldn't have done." - ~ lower(forceful) - -> harris_presses_for_details - - * (nothing_ashamed_of) { not drugged } [Disagree] - "I've done nothing that I'm ashamed of." - -> harris_asks_for_theory - - * (cant_talk_right) { drugged } [Disagree] - I open my mouth to disagree, but the words I want won't come. It is like Harris has taken a screwdriver to the sides of my jaw. - -> admitted_to_something.ive_done_things - - * {drugged} [Lie] -> cant_talk_right - * {not drugged} [Lie] -> nothing_ashamed_of - * { drugged } [Evade] -> cant_talk_right - - * { not drugged } [Evade] - "None of us are blameless, Harris. { forceful > 1:But you're not my priest and I'm not yours|But I've done nothing to deserve this treatment}. Now, please. Let me go. I'll help you find this damn component, of course I will." - // Who do you blame? - He appears to consider the offer. - -> harris_asks_for_theory - - - -=== harris_presses_for_details -// Open to Blackmail - "You mean you've left yourself open," Harris answers. "To pressure. Is that what you're saying?" - * [Yes] -> admit_open_to_pressure - * { not drugged } [No] - "I'm not saying anything of the sort," I snap back. "What is this, Harris? You're accusing me of treachery but I don't see a shred of evidence for it! Why don't you put your cards on the table?" - ~ raise(forceful) - - - * {drugged} [No] - I shake my head violently, to say no, that's not it, but whatever is wrong with tongue is wrong with neck too. I look across at the table at Harris' face and realise with a start how sympathetic he is. Such a kind, generous man. How can I hold anything back from him? - ~ lower(forceful) - I take another mouthful of the bitter, strange—tasting tea before answering. - -> admit_open_to_pressure - - - * { not drugged } [Evade] - "You're the one applying pressure here," I answer { forceful > 1:smartly|somewhat miserably}. "I'm just waiting until you tell me what is really going on." - ~ raise(evasive) - * { drugged } [Evade] - "We're all under pressure here." - He looks at me with pity. -> harris_has_seen_it_before - - - "It's simple enough," Harris says. -> harris_has_seen_it_before - -= admit_open_to_pressure - "That's it," I reply. "There are some things... which a man shouldn't do." - ~ admitblackmail = true - Harris doesn't stiffen. Doesn't lean away, as though my condition might be infectious. I had thought they trained them in the army to shoot my kind on sight. - He offers no sympathy either. He nods, once. His understanding of me is a mere turning cog in his calculations, with no meaning to it. - -> harris_has_seen_it_before - - -=== admitted_to_something - // Admitting Something - { not drugged : - Harris stares back at me. { evasive == 0:He cannot have expected it to be so easy to break me.} - - else: - Harris smiles with satisfaction, as if your willingness to talk was somehow his doing. - } - "I see." - There's a long pause, like the delay between feeding a line of cypher into the Bombe and waiting for its valves to warm up enough to begin processing. - "You want to explain that?" - * [Explain] - I pause a moment, trying to choose my words. To just come out and say it, after a lifetime of hiding... that is a circle I cannot square. - * * [Explain] -> ive_done_things - * * {drugged} [Say nothing] -> say_nothing - * * {not drugged} [Lie] -> claim_hooper_took_component - - * { not drugged } [Don't explain] - "There's nothing to explain," I reply stiffly. -> i_know_where - - * { not drugged } [Lie] -> claim_hooper_took_component - * { not drugged } [Evade] - "Explain what you should be doing, do you mean, rather than bullying me? Certainly." I fold my arms. -> i_know_where - - * (say_nothing) { drugged } [Say nothing] - I fold my arms, intended firmly to say nothing. But somehow, watching Harris' face, I cannot bring myself to do it. I want to confess. I want to tell him everything I can, to explain myself to him, to earn his forgiveness. The sensation is so strong my will is powerless in the face of it. - Something is wrong with me, I am sure of it. There is a strange, bitter flavour on my tongue. I taste it as words start to form. - -> ive_done_things - -= i_know_where - "I know where your component is because it's obvious where your component is. That doesn't mean I took it, just because I can figure out a simple problem, any more than it means I'm a German spy because I can crack their codes." - -> harris_asks_for_theory - - -= ive_done_things - "I've done things," I begin{harris_demands_component.cant_talk_right: helplessly}. "Things I didn't want to do. I tried not to. But in the end, it felt like cutting off my own arm to resist." - -> harris_presses_for_details - - - - -=== harris_asks_for_theory -"Tell me, then," he asks. "What's your theory? You're a smart fellow — as smart as they come around here, and that's saying something. What's your opinion on the missing component? Accident, perhaps? Or do you blame one of the other men? { hooper_mentioned :Hooper?}" - * [Blame no—one] - -> an_accident - * [Blame someone] -> claim_hooper_took_component - -= an_accident - "An accident, naturally." I risk a smile. "That damned machine is made from spare parts and string. Even these Huts leak when it rains. It wouldn't take more than one fellow to trip over a cable to shake out a component. Have you tried looking under the thing?" - "Do you believe we haven't?" - In a sudden moment I understand that his reply is a threat. - "Now," he continues. "Are you sure there isn't anything you want to tell me?" - - * [Co-operate] - "All right." With a sigh, your defiance collapses. "If you're searched my things then I suppose you've found { evasive > 1: what you need|my letters. Haven't you? In fact, if you haven't, don't tell me}. - ~ admitblackmail = true - Harris nods once. - <> -> harris_has_seen_it_before - - * {evasive > 0} [Evade] "Only that you're being unreasonable, and behaving like a swine." - // Loses temper - "You imbecile," Harris replies, with sudden force. He is half out of his chair. "You know the situation as well as I do. Why the fencing? The Hun are poised like rats, ready to run all over this country. They'll destroy everything. You understand that, don't you? You're not so locked up inside your crossword puzzles that you don't see that, are you? This machine we have here — you men — you are the best and only hope this country has. God help her." - ~ losttemper = true - I sit back, startled by the force of his outburst. His carefully sculpted expression has curled to angry disgust. He really does hate me, I think. He'll have my blood for the taste of it. - * * [Placate] - "Now steady on," I reply, gesturing for him to be calm. - - * * [Mock] - "I can imagine how being surrounded by clever men is pretty threatening for you, Commander," I reply with a sneer. "They don't train you to think in the Armed Forces." - ~ raise(forceful) - - * * [Dismiss] - "Then I'll be going, on and getting on with my job of saving her, shall I?" I even rise half to my feet, before he slams the tabletop. - - - - "Talk," Harris demands. "Talk now. Tell me where you've hidden it or who you passed it to. Or God help me, I'll take your wretched pansy body to pieces looking for it." - -> harris_demands_you_speak - - - - -=== harris_has_seen_it_before - "I've seen it before. A young man like you — clever, removed. The kind that doesn't go to parties. Who takes himself too seriously. Who takes things too far." - He slides his thumb between two fingers. - "Now they own you." - - * [Agree] - "What could I do?" I'm shaking now. The night is cold and the heat—lamp in the Hut has been removed. "{ forceful > 2:I won't|I don't want to} go to prison." - "Smart man," he replies. "You wouldn't last. - - * [Disagree] - "I can still fix this." - Harris shakes his head. "You'll do nothing. This is beyond you now. You may go to prison or may go to firing squad - or we can change your name and move you somewhere where your indiscretions can't hurt you. But right now, none of that matters. What happens to you doesn't matter. All that matters is where that component is. - - * { not drugged } [Lie] - "I wanted to tell you," I tell him. "I thought I could find out who they were. Lead you to them." - Harris looks at me with contempt. "You wretch. You'll pay for what you've done to this country today. If a single man loses his life because of your pride and your perversions then God help your soul. - - * {drugged} {forceful < 0} [Apologise] - "Harris, I..." - ~lower(forceful) - "Stop it," he interrupts. "There's no jury here to sway. And there's no time. - -- (tell_me_now) <> So why don't you tell me, right now. Where is it?" - -> harris_demands_you_speak - - - - -=== harris_demands_you_speak - His eyes bear down like carbonised drill—bits. - * [Confess] - { forceful > 1 : - "You want me to tell you what happened? You'll be disgusted." - -else: - "All right. I'll tell you what happened." And never mind my shame. - } - "I can imagine how it starts," he replies. - - * { not drugged } [Dissemble] -> claim_hooper_took_component - * { drugged } [Dissemble] - My plan now is to blame Hooper, but I cannot seem to tell the story. Whatever they put in my tea, it rules my tongue. { forceful >1:I fight it as hard as I can but it does no good.|I am desperate to tell him everything. I am weeping with shame.} - - ~ lower(forceful) -- -> i_met_a_young_man - - - - -=== i_met_a_young_man - // Explain Story - * [Talk] - "There was a young man. I met him in the town. A few months ago now. We got to talking. Not about work. And I used my cover story, but he seemed to know it wasn't true. That got me wondering if he might be one of us." - - Harris is not letting me off any more. - "You seriously entertained that possibility?" - * [Yes] - "Yes, I considered it. <> - * [No] - "No. Not for more than a moment, of course. Everyone here is marked out by how little we would be willing to say about it." - "Only you told this young man more than a little, didn't you?" - I nod. "<> - * [Lie] - "I was quite certain, after a while. After we'd been talking. <> -- He seemed to know all about me. He... he was quite enchanted by my achievements." - The way Harris is staring I expect him to strike me, but he does not. He replies, "I can see how that must have been attractive to you," with such plain—spokeness that I think I must have misheard. - - * [Yes] "It's a lonely life in this place," I reply. "Lonely - and still one never gets a moment to oneself." - "That's how it is in the Service," Harris answers. - * * [Argue] "I'm not in the Service." - Harris shakes his head. "Yes, you are." - * * [Agree] "Perhaps. But I didn't choose this life." - Harris shakes his head. "No. And there's plenty of others who didn't who are suffering far worse." - - - Then he waves the thought aside. - - * (nope) { not drugged } [No] "The boy was a pretty simpleton. Quite inferior. His good opinion meant nothing to be. Harris, do not misunderstand. I was simply after his body." - ~ raise(evasive) - Harris, to his credit, doesn't flinch; but I can see he will have nightmares of this moment later tonight. I'm tempted to reach out and take his hand to worsen it for him. - - * { drugged } [No] - "It wasn't," I reply. "But I doubt you'd understand." - He simply nods. - * { not drugged } [Lie] -> nope - -- "Go on with your confession." -- (paused) - { not nope: - That gives me pause. I hadn't thought of it as such. But I suppose he's right. I am about to admit what I did. - } - "There's not much else to say. I took the part from Bombe computing device. You seem to know that already. I had to. He was going to expose me if I didn't." - // So blackmail? - "This young man was blackmailing you over your affair?" - - ~ temp harris_thinks_youre_drugged = drugged - - { drugged: - ~ drugged = false - As Harris speaks I find myself suddenly sharply aware, as if waking from a long sleep. The table, the corrugated walls of the hut, everything seems suddenly more tangible than a moment before. - Whatever it was they put in my drink is wearing off. - } - - * (yes) [Yes] - "Yes. I suppose he was their agent. I should have realised but I didn't. Then he threatened to tell you. I thought you would have me locked up: I couldn't bear the thought of it. I love working here. I've never been so happy, so successful, anywhere before. I didn't want to lose it." - "So what did you do with the component?" Harris talks urgently. He grips his gloves tightly in one hand, perhaps prepared to lift them and strike if it is required. "Have you passed it to this man already? Have you left it somewhere for him to find?" - * * (still_have) [I have it] - "I still have it. Not on me, of course. -> reveal_location_of_component - - * * (dont_have) [I don't have it] -> i_dont_have_it - * * [Lie] -> dont_have - * * [Tell the truth] -> still_have - - * (notright) [No] - "No, Harris. The young man wasn't blackmailing me." I take a deep breath. "It was Hooper." - { not hooper_mentioned: - "Hooper!" Harris exclaims, in surprise. {harris_thinks_youre_drugged:He does not doubt me for a moment.} - - else: - "Now look here," Harris interrupts. "Don't start that again." - } - "It's the truth, Harris. If I'm going to jail, so be it, but I won't hang at Traitor's Gate. Hooper was the one who told the boy about our work. Hooper put the boy on to me. { forceful < 2:I should have realised, of course. These things don't happen by chance. I was a fool to think they might.} And then, once he had me compromised, he demanded I steal the part from the machine." - ~ revealedhooperasculprit = true - "Which you did." Harris leans forward. "And then what? You still have it? You've stashed it somewhere?" - * * (didnt_have_long) [Yes] - "Yes. I only had a moment. -> reveal_location_of_component - - * * (passed_on) [No] -> passed_onto_hooper - * * [Lie] -> passed_on - * * [Evade] - "I can't remember." - He draws his gun and lays it lightly on the field table. - "I'm sorry to threaten you, friend. But His Majesty needs that brain of yours, and that brain alone. There are plenty of other parts to you that our country could do better without. Now I'll ask you again. Did you hide the component?" - * * * [Yes] -> didnt_have_long - * * * (nope_didnt_hide) [No] - "Very well then." I swallow nervously, to make it look more genuine. -> passed_onto_hooper - * * * [Lie] -> nope_didnt_hide - - * * * [Evade] -> i_dont_have_it - - * [Tell the truth] -> yes - * [Lie] -> notright - -= i_dont_have_it - "I don't have it any more. I passed it through the fence to my contact straight after taking it, before it was discovered to be missing. It would have been idiocy to do differently. It's long gone, I'm afraid." - "You fool, Manning," Harris curses, getting quickly to his feet. "You utter fool. Do you suppose you will be any better off living under Hitler? It's men like you who will get us all killed. Men too feeble, too weak in their hearts to stand up and take a man's responsibility for the world. You're happier to stay a child all your life and play with your little childish toys." - * [Answer back] - "Really, Commander," I reply. "It rather sounds like you want to spank me." - "For God's sake," he declares with thick disgust, then swoops away out of the room. - - * [Say nothing] - I say nothing. It's true, isn't it? I can't deny that I know there is a world out there, a complicated world of pain and suffering. And I can't deny that I don't think about it a moment longer than I have to. What use is thinking on a problem that cannot be solved? It is precisely our ability to avoid such endless spirals that makes us human and not machine. - "God have mercy on your soul," Harris says finally, as he gets to his feet and heads for the door. "I fear no—one else will." - - - -> left_alone - -= passed_onto_hooper - ~ hooper_mentioned = true - "No. I passed it on to Hooper." - "I see. And what did he do with it?" - * [Evade] - "I don't know." - "You can do better than that. Remember, there's a hangman's noose waiting for traitors." - * * [Theorise] - "Well, then," I answer, nervously. "What would he do? Either get rid of it straight away — or if that wasn't possible, which it probably wouldn't be, since he'd have to arrange things with his contacts — so most likely, he'd hide it somewhere and wait, until you had the rope around my neck and he could be sure he was safe." - -> claim_hooper_took_component.harris_being_convinced - - * * [Shrug] -> claim_hooper_took_component.its_your_problem - - * [Tell the truth] - "I don't think Hooper could have planned this in advance. So he'd need to get word to whoever he's working with, and that would take time. So I think he would have hidden it somewhere, and be waiting to make sure I soundly take the fall. That way, if anything goes wrong, he can arrange for the part to be conveniently re—found." - -> claim_hooper_took_component.harris_being_convinced - - * [Lie] - "I'm sure I saw him this evening, talking to someone by the fence on the woodland side of the compound. He's probably passed it on already. You'll have to ask him." - - -> claim_hooper_took_component.harrumphs - - -/*-------------------------------------------------------------------------------- - Trying to frame Hooper ---------------------------------------------------------------------------------*/ - - -=== claim_hooper_took_component -// Blame Hooper - "I saw Hooper take it." - ~ hooper_mentioned = true - { losttemper : - "Did you?" - The worst of his rage is passing; he is now moving into a kind of contemptuous despair. I can imagine him wrapping up our interview soon, leaving the hut, locking the door, and dropping the key down the well in the yard. - And why wouldn't he? With my name tarnished they will not let me back to work on the Bombe — if there is the slightest smell of treachery about my name I would be lucky not be locked up for the remainder of the war. - - else: - "I see." He is starting to lose his patience. I have seen Harris angry a few times, with lackeys and secretaries. But never with us. With the 'brains' he has always been cautious, treating us like children. - And now I see that, like a father, he wants to smack us when we disobey him. - } - "Just get to the truth, man. Every minute matters." - * { admitblackmail } [Persist with this] - "I know what you're thinking. If I've transgressed once then I must be guilty of everything else... But I'm not. We were close to cracking the 13th's intercept. We were getting correlations in the data. Then Hooper disappeared for a moment, and next minute the machine was down." - - * [Tell the truth] - "Very well. I see there's no point in covering up. You know everything anyway." - Harris nods, and waits for me to continue. - -> i_met_a_young_man - - * { not admitblackmail } [Persist with this] - "This is the truth." - - - I have become, somehow, an accustomed liar — the words roll easily off my tongue. Perhaps I am a traitor, I think, now that I dissemble as easily as one. - "Go on," Harris says, giving me no indication of whether he believes my tale. - * [Assert] "I saw him take it," I continue. "Collins was outside having a cigarette. Peterson was at the table. But I was at the front of the machine. I saw Hooper go around the side. He leant down and pulled something free. I even challenged him. I said, 'What's that? Someone put a nail somewhere they shouldn't have?' He didn't reply." - Harris watches me for a long moment. - - * [Imply] "At the moment the machine halted, Peterson was at the bench and Collins was outside having a smoke. I was checking the dip—switches. Hooper was the only one at the back of the Bombe. No—one else could have done it." - "That's not quite the same as seeing him do it," Harris remarks. - * * [Logical] - "When you have eliminated the impossible..." I begin, but Harris cuts me off. - - * * [Persuasive] - "You have to believe me." - "We don't have to believe anyone," Harris returns. "I will only be happy with the truth, and your story doesn't tie up. We know you've been leaving yourself open to pressure. We've been watching your activities for some time. But we thought you were endangering the reputation of this site; not risking the country herself. Perhaps I put too much trust in your intellectual pride." - He pauses for a moment, considering something. Then he continues: - "It might have been Hooper. It might have been you. -> we_wont_guess - - * * [Confident] - "Ask the others," I reply, leaning back. "They'll tell you. If they haven't already, that's only because they're protecting Hooper. Hoping he'll come to his senses and stop being an idiot. I hope he does too. And if you lock him up in a freezing hut like you've done me, I'm sure he will." - "We have," Harris replies simply. - It's all I can do not to gape. - -> hoopers_hut_3 - - - "We are left with two possibilities. You, or Hooper." The Commander pauses to smooth down his moustache. <> - - (hoopers_hut_3) "Hooper's in Hut 3 with the Captain, having a similar conversation." - - * "And the other men?["] Do we have a hut each? Are there enough senior officers to go round?" - "Collins was outside when it happened, and Peterson can't get round the machine in that chair of his," Harris replies. "That leaves you and Hooper. - * "Then you know I'm right.["] You knew all along. Why did you threaten me?" - "All we know is that we have a traitor, holding the fate of the country in his hands. - - (we_wont_guess) <> We're not in the business of guessing here at Bletchley. We are military intelligence. We get answers." Harris points a finger. "And if that component has left these grounds, then every minute is critical." - * [Co-operate] - "I'd be happy to help," I answer, leaning forwards. "I'm sure there's something I could do." - "Like what, exactly?" - * * "Put me in with Hooper." - -> putmein - * * "Tell Hooper I've confessed.["] Better yet. Let him see you marching me off in handcuffs. Then let him go, and see what he does. Ten to one he'll go straight to wherever he's hidden that component and his game will be up." - Harris nods slowly, chewing over the idea. It isn't a bad plan even — except, of course, Hooper has not hidden the component, and won't lead them anywhere. But that's a problem I might be able to solve once I'm out of this place; and once they're too busy dogging Hooper's steps from hut to hut. - "Interesting," the Commander muses. "But I'm not so sure he'd be that stupid. And if he's already passed the part on, the whole thing will only be a waste of time." - * * * "Trust me. He hasn't.["] If I know that man, and I do, he'll be wanting to keep his options open as long as possible. If the component's gone then he's in it up to his neck. He'll take a week at least to make sure he's escaped suspicion. Then he'll pass it on." - "And if we keep applying pressure to him, you think the component will eventually just turn up?" - * * * * "Yes.["] Probably under my bunk." - Harris smiles wryly. "We'll know that for a fake, then. We've looked there already. - * * * * "Or be thrown into the river." - "Hmm." Harris chews his moustache thoughtfully. "Well, that would put us in a spot, seeing as how we'd never know for certain. We'd have to be ready to change our whole approach just in case the part had got through to the Germans. - - - - - <> I don't mind telling you, this is a disaster, this whole thing. What I want is to find that little bit of mechanical trickery. I don't care where. In your luncheon box or under Hooper's pillow. Just somewhere, and within the grounds of this place." - * * * * "Then let him he think he's off the hook.["] Make a show of me. And then you'll get your man." - Somehow, I think. But that's the part I need to work. - -> harris_takes_you_to_hooper - - * * * * "Then you'd better get searching[."]," I reply, tiring of his complaining. A war is a war, you have to expect an enemy. -> its_your_problem - - * * * "You're right. Let me talk to him[."], then. As a colleague. Maybe I can get something useful out of him." - -> putmein - - * * * "You're right." -> shake_head - - * [Block] -> its_your_problem - - -= harris_being_convinced - "Makes sense," Harris agrees, cautiously. { evasive > 1:I can see he's still not entirely convinced by my tale, as well he might not be — I've hardly been entirely straight with him.|I can see he's still not certain whether he can trust me.} "Which means the question is, what can we do to rat him out?" - * [Offer to help] - "Maybe I can help with that." - "Oh, yes? And how, exactly?" - * * "I'll talk to him." - "What?" - "Put me in with Hooper with him. Maybe I can get something useful out of him." - -> putmein - * * "We'll fool him.["] He's waiting to be sure that I've been strung up for this, so let's give him what he wants. If he sees me taken away, clapped in irons — he'll go straight to that component and set about getting rid of it." - -> harris_takes_you_to_hooper - - * [Don't offer to help] - I lean back. -> its_your_problem - -= putmein - Harris shakes his head. - "He despises you. I don't see why he'd give himself up to you." - * [Insist] "Try me. Just me and him." - -> go_in_alone - * [Give in] "You're right." - -> shake_head - - -= shake_head - // Can't help - <> I shake my head. "You're right. I don't see how I can help you. So there's only one conclusion." - "Oh, yes? And what's that?" - -> its_your_problem - - -= its_your_problem -// Won't Help - "It's your problem. Your security breach. So much for your careful vetting process." - I lean back in my chair and fold my arms so the way they shake will not be visible. - "You'd better get on with solving it, instead of wasting your time in here with me." - -> harrumphs - -= harrumphs - Harris harrumphs. He's thinking it all over. - * { putmein } [Wait] - "All right," he declares, gruffly. "We'll try it. But if this doesn't work, I might just put the both of you in front of a firing squad and be done with these games. Worse things happen in time of war, you know." - "Alone," I add. - -> go_in_alone - - * { putmein } [Wait] - "No," Harris declares, finally. "I think you're lying about Hooper. I think you're a clever, scheming young man — that's why we hired you — and you're looking for the only reasonable out this situation has to offer. But I'm not taking it. We know you were in the room with the machine, we know you're of a perverted persuasion, we know you have compromised yourself. There's nothing more to say here. Either you tell me what you've done with that component, or we will hang you and search just as hard. It's your choice." - -> harris_threatens_lynching - - -= go_in_alone - "Alone?" - "Alone." - Harris considers it. I watch his eyes, flicking backwards and forwards over mine, like a ribbon—reader loading its program. - * [Patient] "Well?" - * [Impatient] "For God's sake, man, what do you have to lose?" - ~ raise(forceful) - - "We'll be outside the door," Harris replies, seriously. "The first sign of any funny business and we'll have you both on the floor in minutes. You understand? The country needs your brain, but it's not too worried about your legs. Remember that." - Then he gets to his feet, and opens the door, and marches me out across the yard. The evening is drawing in and there's a chill in the air. My mind is racing. I have one opportunity here — a moment in which to put the fear of God into Hooper and make him do something foolish that places him in harm's way. But how to achieve it? - "You ready?" Harris demands. - * (yes) [Yes] - "Absolutely." - * [No] - "No." - "Too bad." - * [Lie] -> yes - - - -> inside_hoopers_hut - - -/*-------------------------------------------------------------------------------- - Quick visit to see Hooper ---------------------------------------------------------------------------------*/ - -=== harris_takes_you_to_hooper - // Past Hooper - Harris gets to his feet. "All right," he says. "I should no better than to trust a clever man, but we'll give it a go." - Then, he smiles, with all his teeth, like a wolf. - { claim_hooper_took_component.hoopers_hut_3: - "Especially since this is a plan that involves keeping you in handcuffs. I don't see what I have to lose." - - else: - "Hooper's in Hut 3 being debriefed by the Captain. Let's see if we can't get his attention somehow." - } - // Leading you past Hooper - He raps on the door for the guard and gives the man a quick instruction. He returns a moment later with a cool pair of iron cuffs. - "Put 'em up," Harris instructs, and I do so. The metal closes around my wrists like a trap. I stand and follow Harris willingly out through the door. - But whatever I'm doing with my body, my mind is scheming. Somehow, I'm thinking, I have to get away from these men long enough to get that component behind Hut 2 and put it somewhere Hooper will go. Or, otherwise, somehow get Hooper to go there himself... - Harris marches me over to Hut 3, and gestures for the guard to stand aside. Pushing me forward, he opens the door nice and wide. - // Hut 3 - "Captain. Manning talked. If you'd step out for a moment?" - * [Play the part, head down] - From where he's sitting, I know Hooper can see me, so I keep my head down and look guilty as sin. The bastard is probably smiling. - - - * [Look inside the hut] - I look in through the door and catch Hooper's expression. I had half expected him to be smiling be he isn't. He looks shocked, almost hurt. "Iain," he murmurs. "You couldn't..." - - * (shouted) [Call to Hooper] - I have a single moment to shout something to Hooper before the door closes. - "I'll get you Hooper, you'll see!" I cry. Then: - - * * "Queen to rook two, checkmate!"[] I call, then laugh viciously, as if I am damning him straight to hell. - ~ hooperClueType = CHESS - - - (only_catch) I only catch Hooper's reaction for a moment — his eyebrow lifts in surprise and alarm. Good. If he thinks it is a threat then he just might be careless enough to go looking for what it might mean. - - * * "Ask not for whom the bell tolls!" - He stares back at me, as if were a madman and perhaps for a split second I see him shudder. - - - * * "Two words: messy, without one missing!"[] I cry, laughing. It isn't the best clue, hardly worthy of The Times, but it will have to do. - ~ hooperClueType = CROSSWORD - -> only_catch - -- The Captain comes outside, pulling the door to. "What's this?" he asks. "A confession? Just like that?" - "No," the Commander admits, in a low voice. "I'm afraid not. Rather more a scheme. The idea is to let Hooper go and see what he does. If he believes we have Manning here in irons, he'll try to shift the component." - "If he has it." - "Indeed." - The Captain peers at me for a moment, like I was some kind of curious insect. - "Sometimes, I think you people are magicians," he remarks. "Other times you seem more like witches. Very well." - With that he opens the door to the Hut and goes back inside. The Commander uses the moment to hustle me roughly forward. - { shouted : - "And what was all that shouting about?" he hisses in my ear as we move towards the barracks. "Are you trying to pull something? Or just make me look incompetent?" - - else: - "This scheme of yours had better come off," he hisses in my ear. "Otherwise the Captain is going to start having men tailing me to see where I go on Saturdays." - } - * [Reassure] - { not shouted : - "It will. Hooper's running scared," I reply, hoping I sound more confident than I feel. - - else: - "Just adding to the drama," I tell him, confidently. "I'm sure you can understand that." - } - "I think we've had enough drama today already," Harris replies. "Let's hope for a clean kill." - - * [Dissuade] - { not shouted: - "The Captain thought it was a good scheme. You'll most likely get a promotion." - - else: - "I'm not trying to do anything except save my neck." - } - "Let's hope things work out," Harris agrees darkly. - - * [Evade] - "We're still in ear—shot if they let Hooper go. Best get us inside and then we can talk, if we must." - "I've had enough of your voice for one day," Harris replies grimly. <> - - * [Say nothing] - I let him have his rant. <> -- He hustles me up the steps of the barracks, keeping me firmly gripped as if I had any chance of giving him, a trained military man, the slip. It's all I can do not to fall into the room. - -> slam_door_shut_and_gone - - - - -=== inside_hoopers_hut - - Harris opens the door and pushes me inside. "Captain," he calls. "Could I have a moment?" - The Captain, looking puzzled, steps out. The door is closed. Hooper stares at me, open—mouthed, about to say something. I probably have less than a minute before the Captain storms back in and declares this plan to be bunkum. - * [Threaten] - "Listen to me, Hooper. We were the only men in that hut today, so we know what happened. But I want you to know this. I put the component inside a breeze—block in the foundations of Hut 2, wrapped in one of your shirts. They're going to find it eventually, and that's going to be what tips the balance. And there's nothing you can do to stop any of that from happening." - ~ hooperClueType = STRAIGHT - - His eyes bulge with terror. "What did I do, to you? What did I ever do?" - * * [Tell the truth] - "You treated me like vermin. Like something abhorrent." - "You are something abhorrent." - "I wasn't. Not when I came here. And I won't be, once you're gone." - - * * [Lie] - "Nothing," I reply. "You're just the other man in the room. One of us has to get the blame." - - * * [Evade] - "It doesn't matter. Just remember what I said. I've beaten you, Hooper. Remember that." - - - I get to my feet and open the door of the Hut. The Captain storms back inside and I'm quickly thrown out. -> hustled_out - - - * [Bargain] - "Hooper, I'll make a deal with you. We both know what happened in that hut this afternoon. I know because I did it, and you know because you know you didn't. But once this is done I'll be rich, and I'll split that with you. I'll let you have the results, too. Your name on the discovery of the Bombe. And it won't hurt the war effort — you know as well as me that the component on its own is worthless, it's the wiring of the Bombe, the usage, that's what's valuable. So how about it?" - Hooper looks back at me, appalled. "You're asking me to commit treason?" - * * [Yes] - "Yes, perhaps. But also to ensure your name goes down in the annals of mathematics. -> back_of_hut_2 - * * [No] - "No. It's not treason. It's a trade, plain and simple." - - * * (lie) [Lie] - "I'm suggesting you save your own skin. I've wrapped that component in one of your shirts, Hooper. They'll be searching this place top to bottom. They'll find it eventually, and when they do, that's the thing that will swing it against you. So take my advice now. Hut 2." - ~ hooperClueType = STRAIGHT - - * * [Evade] -> lie - - - -> no_chance - - * [Plead] - "Please, Hooper. You don't understand. They have information on me. I don't need to tell you what I've done, you know. Have a soul. And the component — it's nothing. It's not the secret of the Bombe. It's just a part. The German's think it's a weapon — a missile component. Let them have it. Please, man. Just help me." - "Help you?" Hooper stares. "Help you? You're a traitor. A snake in the grass. And you're queer." - * * [Deny] - "I'm no traitor. You know I'm not. How much work have I done here against the Germans? I've given my all. And you know as well as I do, if the Reich were to invade, I would be a dead man. Please, Hooper. I'm not doing any of this lightly." - - * * [Accept] - "I am what I am," I reply. "I'm the way I was made. But they'll hang me unless you help, Hooper. Don't let them hang me." - - * * [Evade] - "That's not important now. What matters is what you do, this evening." - - - - "Assuming I wanted to help you," he replies, carefully. "Which I don't. What would I do?" - "Nothing. Almost nothing. - -> back_of_hut_2 - -= back_of_hut_2 - <> All you have to do is go to the back of Hut 2. There's a breeze—block with a cavity. That's where I've put it. I'll be locked up overnight. But you can pick it up and pass it to my contact. He'll be at the south fence around two AM." - ~ hooperClueType = STRAIGHT - -> no_chance - -= no_chance - "If you think I'll do that then you're crazy," Hooper replies. - At that moment the door flies open and the Captain comes storming back inside. - -> hustled_out - -= hustled_out - // To Barracks - Harris hustles me over to the barracks. "I hope that's the end of it," he mutters. - "Just be sure to let him out," I reply. "And then see where he goes." - -> slam_door_shut_and_gone - - - -/*-------------------------------------------------------------------------------- - Left alone overnight ---------------------------------------------------------------------------------*/ - - -=== slam_door_shut_and_gone - Then they slam the door shut, and it locks. - { hooperClueType == NONE : - <> How am I supposed to manage anything from in here? - * [Try the door] -> try_the_door - * [Try the windows] -> try_the_windows - - - else: - I can only hope that Hooper bites. If he thinks I'm bitter enough to have framed him, and arrogant enough to have taunted him with {hooperClueType > STRAIGHT:a clue to} where the damning evidence is hidden... - If he hates me enough, and is paranoid enough, then he might {hooperClueType > STRAIGHT:unravel my little riddle and} go searching around Hut 2. - } - - * [Wait] -> night_falls - - -= try_the_door - I try the door. It's locked, of course. - -> from_outside_heard - -= from_outside_heard - From outside, I hear a voice. Hooper's. He's haranguing someone. - - (opts) - * (listened) [Listen at the keyhole] - I put my ear down to the keyhole, but there's nothing now. Probably still a guard outside, of course, but they're keeping mum. - -> opts - - * { not try_the_windows } [Try the window] -> try_the_windows - * { not try_the_door } {listened} [Try the door] -> try_the_door - * { try_the_windows } [Smash the window] -> try_to_smash_the_window - * { try_the_door && try_the_windows } [Wait] - It's useless. There's nothing I can do but hope. I sit down on one corner of the bunk to wait. - -> night_falls - -= try_the_windows - I go over to the window and try to jimmy it open. Not much luck, but in my struggling I notice this window only backs on the thin little brook that runs down the back of the compound. Which means, if I smashed it, I might get away with no—one seeing. - -> from_outside_heard - - -= try_to_smash_the_window - The window is my only way out of here. I just need a way to smash it. - * [Punch it] - I suppose my fist would do a good enough job. But I'd cut myself to ribbons, most likely. <> - - * (use_bucket) [Find something] - ~ smashingWindowItem = BUCKET - I cast around the small room. There's a bucket in one corner for emergencies — I suppose I could use that. I pick it up but it's not very easy to heft. <> - * [Use something you've got] - I pat down my pockets but all I'm carrying is the intercept, which is no good at all. - * * [Something you're wearing?] - Ah, but of course! I slip off one shoe and heft it by the toe. The heel will make a decent enough hammer, if I give it enough wallop. - ~ smashingWindowItem = SHOE - But I'll cut my hand to ribbons doing it. <> - * * [Look around] -> use_bucket - - And the noise would be terrible. There must be a way of making this easier. I'm supposed to be a thief now. What would a burglar do? - * [Work slowly] - Work carefully? It's difficult to work carefully when all one's has is { smashingWindowItem == BUCKET :a bucket. It's rather like the sledgehammer for the proverbial nut|{ smashingWindowItem == SHOE :a shoe|nothing but brute force}}. - * * [Just do it] -> time_to_move_now - * * [Look around for something] - * [Find something to help] - - -> find_something_to_smash_window - - -= time_to_move_now - Enough of this. There isn't any time to lose. Right now they'll be following Hooper as he goes to bed, and goes to sleep; and then that's it. The minute he closes his eyelids and drifts off that's the moment that this trap swings shut on me. - So I punch out the glass with my { smashingWindowItem == BUCKET :bucket|{ smashingWindowItem == SHOE :shoe|fist}} and it shatters with a terrific noise. Then I stop, and wait, to see if anyone will come in through the door. - Nothing. - * (pause) [Wait a little longer] - I pause for a moment longer. It doesn't do to be too careless... - * [Clear the frame of shards] - With my jacket wrapped round my arm, I sweep out the remaining shards of glass. It's not a big window, but I'm not a big man. If I was Harris, I'd be stuffed, but as it is... - - - Then the door locks turns. The door opens. Then Jeremy — one of the guards, rather — sticks his head through the door. "I thought I heard..." - He stops. Looks for a moment. { smashingWindowItem ==BUCKET :Sees the bucket in my hand.|Sees the broken window.} Then without a moment's further thought he blows his shrill whistles and hustles into the hut, grabbing me roughly by my arms. - { pause: - I'll never know if I hadn't have waited that extra moment — maybe I still could have got away. But, how far? - } - I'm hustled into one of the huts. Nowhere to sleep, but they're not interested in my comfort any longer. Harris comes in with the Captain. - "So," Harris remarks. "Looks like your little trap worked. Only it worked to show you out for what you are." - * [Tell the truth] - { i_met_a_young_man : - "Please, Harris. You can't understand the pressure they put me under. You can't understand what it's like, to be in love but be able to do nothing about it..." - - else: - "Harris. They were blackmailing me. They knew about... certain indiscretions. You can understand, can't you, Harris? I was in an impossible bind..." - } - * [Lie] - "I had to get out, Harris. I had to provoke Hooper into doing something that would incriminate himself fully. He's too clever, you see..." - - * [Evade] - "This proves nothing," I reply stubbornly. "You still don't have the component and without it, I don't see what you can hope to prove." - - - "Be quiet, man. We know all about your and your sordid affairs." The Captain curls his lip. "Don't you know there's a war on? Do you know the kind of place they would have sent you if it haven't had been for that brain of yours? Don't you think you owe it to your country to use it a little more?" - - Do I, I wonder? Do I owe this country anything, this country that has spurned who and what am I since the day I became a man? - * [Yes] - My anger deflates like a collapsing equation, all arguments cancelling each other out. The world, of course, owes me nothing; and I owe it everything. - - * (alone) [No] - Of course not. I am alone; that is what they wanted me to be, because of who and what I love. So I have no nation, no country. - - - * [Lie] -> alone - * [Evade] - But what is a country, after all? A country is not a concept, not an ideal. Every country falls, its borders shift and move, its language disappears to be replaced by another. Neither the Reich nor the British Empire will survive forever, so what use is my loyalty to either? - I may as well, therefore, look after myself. Something I have attempted, but failed miserably, to do. - - - // Tell us where - "I'm afraid we have only one option, Manning," Harris says. "Please, man. Tell us where the component is." - ~ notraitor = true - ~ losttemper = false - * [Tell them] - ~ revealedhooperasculprit = false - "All right." I am beaten, after all. "<>-> reveal_location_of_component - - * [Say nothing] -> my_lips_are_sealed - -= find_something_to_smash_window - Let me see. There's the bunk, { not smashingWindowItem == BUCKET :a bucket,} nothing else. I have my jacket but nothing in the pockets — no handkerchief, for instance. - - (opts) - * [The bunk] - The bunk has a solid metal frame, a blanket, a pillow, nothing more. - - - (bunk_opts) - * * [The frame] - The frame is heavy and solid. I couldn't lift it or shift it without help from another man. And it wouldn't do me any good here anyway. I can reach the window perfectly well. - -> bunk_opts - * * [The blanket] - The blanket. Perfect. I scoop it up off the bed and hold it in place over the window. -> smash_the_window - * * [The pillow] - The pillow is fat and fluffy. I could put it over the window and it would muffle the sound of breaking glass, certainly; but I wouldn't be able to break any glass through it either. - -> bunk_opts - - * * {bunk_opts > 1} [Something else] -> opts - - * [The jacket] - I slip off my jacket and hold it with one hand over the glass. -> smash_the_window - * { not smashingWindowItem == BUCKET } [The bucket] - The bucket? Hardly. The bucket might do some good if I wanted to sweep up the glass afterwards, but it won't help me smash the glass quietly. - -> opts - - -=== smash_the_window - // Smashing glass - Then I heft { smashingWindowItem == BUCKET :up the bucket — this really is quite a fiddly thing to be doing in cuffs — |{ smashingWindowItem == SHOE : my shoe by its toe, |back my arm, }} and take a strong swing, trying to imagine it's Harris' face on the other side. - ~ smashedglass = true - ~ smashingWindowItem = NONE - * [Smash!] - - The sound of the impact is muffled. With my arm still covered, I sweep out the remaining glass in the frame. - - I'm ready to escape. The only trouble is — when they look in on me in the morning, there will be no question what has happened. It won't help me one jot with shifting suspicion off my back. - * [Wait] - So perhaps I should wait it out, after all. Who knows? I might have a better opportunity later. - -> night_passes - * [Slip out] - Moving quickly and quietly, I hoist myself up onto the window—frame and worm my way outside into the freezing night air. Then I am away, slipping down the paths between the Huts, sticking to the shadows, on my way to Hut 2. - // Out at night - - - * [Go the shortest way] - There's no time to lose. Throwing caution to the wind I make my way quickly to Hut 2, and around the back. I don't think I've been seen but if I have it is too late. My actions are suspicious enough for the noose. I have no choice but to follow through. - * [Take a longer route] - In case I'm being followed, I divert around the perimeter of the compound. It's a much longer path, and it takes me across some terrain that's difficult to negotiate in the dark — muddy, and thick with thistles and nestles. - ~ muddyshoes = true - Still, I can be confident no—one is behind me. I crouch down behind the rear wall of Hut 2. <> - - The component is still there, wrapped in a tea—towel and shoved into a cavity in a breeze—block at the base of the Hut wall. - * [Take it] - Quickly, I pull it free, and slip it into the pocket of my jacket. - ~ gotcomponent = true - - * [Leave it] - Still there means no—one has found it, which means it is probably well—hidden. And short of skipping the compound now, I can afford to leave it hidden there a while longer. So I leave it in place. - - Where now? - * [Back to the barracks] -> return_to_room_after_excursion - * { gotcomponent } [Go to Hooper's dorm] -> go_to_hoopers_dorm - * [Escape the compound] - Enough of this place. Time for me to get moving. I can get to the train station on foot, catch the postal train to Scotland and be somewhere else before anyone realises that I'm gone. - - Of course, then they'll be looking for me in earnest. { not framedhooper :As a confirmed traitor.|Perhaps not as a traitor — they might take the idea that Hooper was involved with the theft — but certainly as a valuable mind, one containing valuable secrets and all too easily threatened. They will think I am running away because of my indiscretions. I suppose, in fairness, that I am.} - * * [Go] -> live_on_the_run - * * [Don't go] - It's no good. That's only half a solution. I couldn't be happy with that. - * * * [Back to the barracks] -> return_to_room_after_excursion - * * * { gotcomponent && not go_to_hoopers_dorm } [To Hooper's dorm] -> go_to_hoopers_dorm - - -/*-------------------------------------------------------------------------------- - Visit Hooper's dorm overnight ---------------------------------------------------------------------------------*/ - - -=== go_to_hoopers_dorm - // Hooper's Dorm - I creep around the outside of the huts towards Hooper's dorm. Time to wrap up this little game once and for all. A few guards patrol the area at night but not many — after all, very few know this place even exists. - Our quarters are arranged away from the main house; where we sleep is of less importance than where we work. We each have our own hut, through some are less permanent than others. Hooper's is a military issue tent: quite a large canopy, with two rooms inside and a short porch area where he insists people leave their shoes. It's all zipped up for the night and no light shines from inside. - I hang back for a moment. If Harris is keeping to the terms of our deal then someone will be watching this place. But I can see no—one. - * (outer_zip) [Open the outer zip] - I creep forward to the tent, intent on lifting the zip to the front porch area just a little — enough to slip the component inside, and without the risk of the noise waking Hooper from his snoring. - The work is careful, and more than little fiddly — Hooper has tied the zips down on the inside, the fastidious little bastard! — but after a little work I manage to make a hole large enough for my hand. - * * [Slip in the component] - I slide the component into the tent, work the zip closed, and move quickly away into the shadows. It takes a few minutes for my breath to slow, and my heart to stop hammering, but I see no other movement. If anyone is watching Hooper's tent, they are asleep at their posts. - ~ putcomponentintent = true - ~ gotcomponent = false - -> return_to_room_after_excursion - * * [No, some other way] - Then pause. This is too transparent. Too blatant. If I leave it here, like this, Hooper will never be seen to go looking for it: he will stumble over it in plain sight, and the men watching will wonder why it was not there when he went to bed. - No, I must try something else — or nothing at all. - * * * [On top of the tent] -> put_component_on_tent - * * * [Throw the component into the long grass] - From inspiration — or desperation, I am not certain — a simple approach occurs to me. -> toss_component_into_bushes - * * * [Give up] - There is nothing to be gained here. I have the component now; maybe it will be of some value tomorrow. - * * * * [Return to my barrack] -> return_to_room_after_excursion - * * * * [Escape the compound] -> live_on_the_run - - * (wide_circuit) [Look for another opening] - Making a wide circuit I creep around the tent. It has plenty of other flaps and openings, tied down with Gordian complexity. But nothing afford itself to slipping the component inside. - * * [Try the porch zip] -> outer_zip - * * [Try on top of the tent] -> put_component_on_tent - * * [Give up] - It's no good. Nothing I can do will be any less than obvious — something appearing where something was not there before. The men watching Hooper will know it is a deception and Hooper's protestations will be taken at face value. - If I can't find a way for Hooper to pick the component up, as if from a hiding place of his own devising, and be caught doing it, then I have no plan at all. - * * * [Return to my barrack] -> return_to_room_after_excursion - * * * [Escape the compound] -> live_on_the_run - * * * [Toss the component into the bushes] -> toss_component_into_bushes - - * [Hide the component somewhere] - If I leave the component here somewhere it should be somewhere I can rely on Hooper finding it, but no—one before Hooper. In particular. - * * [Behind the tent] -> wide_circuit - * * [Inside the porch section] -> outer_zip - * * [On top of the canvas] -> put_component_on_tent - - -= put_component_on_tent - A neat idea strikes me. If I could place it on top of the canvas, somewhere in the middle where it would bow the cloth inwards, then it would be invisible to anyone passing by. But to Hooper, it would be above him: a shadow staring him in the face as he awoke. What could be more natural than getting up, coming out, and looking to see what had fallen on him during the night? - - It's the work of a moment. I was once an excellent bowler for the second XI back at school. This time I throw underarm, of course, but I still land the vital missing component exactly where I want it to go. - ~ framedhooper = true - ~ gotcomponent = false - For a second I hold my breath, but nothing and no—one stirs. -> return_to_room_after_excursion - - -= toss_component_into_bushes - I toss the component away into the bushes behind Hooper's tent and return to my barrack, wishing myself a long sleep followed by a morning, free of this business. - ~ gotcomponent = false - ~ throwncomponentaway = true - -> return_to_room_after_excursion - -/*-------------------------------------------------------------------------------- - Ending: Run away from the camp ---------------------------------------------------------------------------------*/ - - -=== live_on_the_run - Better to live on the run than die on the spit. Creeping around the edge of the compound{ gotcomponent :, the Bombe component heavy in my pocket}, I make my way to the front gate. As always, it's manned by two guards, but I slip past their box by crawling on my belly. - And then I'm on the road. Walking, not running. Silent. Free. - // End - Run Away - For the moment, at least. - -> END - -/*-------------------------------------------------------------------------------- - Return to room after slipping out ---------------------------------------------------------------------------------*/ - - -=== return_to_room_after_excursion - { gotcomponent :The weight of the Bombe component safely in my jacket|Satisfied}, I return the short way up the paths between the huts to the barrack block and the broken window. - It's a little harder getting back through — the window is higher off the ground than the floor inside — but after a decent bit of jumping and hauling I manage to get my elbows up, and then one leg, and finally I collapse inside, quite winded and out breath. - * [Wait] -> night_passes - -/*-------------------------------------------------------------------------------- - Night passes ---------------------------------------------------------------------------------*/ - - -=== night_passes -// In room smashed glass - The rest of the night passes slowly. I sleep a little, dozing mostly. Then I'm woken by the rooster in the yard. The door opens, and Harris comes in. He takes one look at the broken window and frowns with puzzlement. - { putcomponentintent: -> put_component_inside_tent } - - "What happened there?" - * [Confess] - "I broke it," I reply. There doesn't seem any use in trying to lie. "I thought I could escape. But I couldn't get myself through." - The Commander laughs. -> glad_youre_here - - * (deny) [Deny] - "I'm not sure. I was asleep: I woke up when someone broke the window. I looked out to see who it was, but they were already gone." - Harris looks at me with puzzlement. "Someone came by to break the window, and then ran off? That's absurd. That's utterly absurd. Admit it, Manning. You tried to escape and you couldn't get through." - * * [Admit it] - "All right. {forceful>1:Damn you.} That's exactly it." - -> glad_youre_here - - * * { not framedhooper } [Deny it] - "If I wanted to escape, I would have made damn sure that I could," I tell him sternly. - -> harris_certain_is_you - - * * { framedhooper } [Deny it] - "I tell you, someone broke it. Someone wanted to threaten me, I think." - Harris shakes his head. "Well, we can look into that matter later. For now, you probably want to hear the more pressing news. -> found_missing_component - - * { gotcomponent } [Show him the component] -> someone_threw_component - -= put_component_inside_tent - He takes one look around, and sighs, a deep, wistful sigh. - "Things just get worse and worse for you, Manning," he remarks. "You are your own worst enemy." - * [Agree] - "I've thought so before." { admitblackmail :Certainly in the matter of getting blackmailed.} - "Let me tell you what happened this morning. <> - - * [Disagree] - "Right now, I think you take that role, Harris," I reply coolly. - - - (droll) "Very droll," he replies. "Let me tell you what happened this morning. It will take the smile off your face. <> - - * [Evade] - "I'm looking forward to having a wash and a change of clothes; which should make me a little less evil to be around." - -> droll - - - Our men watching Hooper's tent saw Hooper wake up, get dressed, clamber out of his tent and then step on something in at the entrance of his tent." - ~ piecereturned = true - * [Be interested] - "You mean he didn't even hide it? He put it in his shoe?" - - - (not_that) "No," Harris replies. "That isn't really what I mean. <> - - * [Be dismissive] - "So he's an idiot, and he hid it in his shoe." - -> not_that - - * [Say nothing] - I say quiet, listening, not sure how this will go. - "In case I'm not making myself clear," Harris continues, "<> - - - I mean, he managed to find it, by accident, somewhere where it wasn't the night before. And at the same time, you're sitting here with your window broken. So, I rather think you've played your last hand and lost. It's utterly implausible that Hooper stole that component and then left it lying around in the doorway of his tent. So I came to tell you that the game is up, for you." - He nods and gets to his feet. -> left_alone - - - -= someone_threw_component - "Someone threw this in through the window over night," I reply, and open my jacket to reveal the component from the Bombe. "I couldn't see who, it was too dark. But I know what it is." - He reaches out and takes it. "Well, I'll be damned," he murmurs. "That's it all right. And you didn't have it on you when we put you in here. But it can't have been Hooper — I had men watching him all night. And there's no—one else it could have been." - He turns the component over in his hands, bemused. - ~ piecereturned = true - * [Suggest something] - "Perhaps Hooper had an accomplice. Someone else who works on site." - Harris shakes his head, distractedly. "That doesn't make sense," he says. "Why go to all the trouble of stealing it only to give it back? And why like this?" - * * [Suggest something] - "Perhaps the accomplice thought it was Hooper being kept in here. Maybe they saw the guard..." - -> all_too_farfetched - * * [Suggest nothing] - * [Suggest nothing] - - I shrug, eloquently. - - -> all_too_farfetched - - -= glad_youre_here - "Shame," he remarks. "I should have left that window open and put a guard on you. Might have been interesting to see where you went. Anyway, I'm glad you're still here, even if you do smell like a dog." - - * { not framedhooper } [Be optimistic] - -> night_falls.morning_not_saved.optimism - * { not framedhooper } [Be pessimistic] - -> night_falls.morning_not_saved.pessimism - - * { framedhooper } [Be optimistic] - "I'm looking forward to having a bath." - // Framed Hooper - "Well, you should enjoy it. <> - - * { framedhooper } [Be pessimistic] - "I imagine I'll smell worse after another couple of days of this." - "That won't be necessary. <> - - -> found_missing_component - - -= found_missing_component - // Framed Hooper - We found the missing component. Or rather, Hooper found it for us. He snuck out and retrieved it from on top. Of all the damnest places — you would never have known it was there. He claimed ignorance when we jumped him, of course. But it's good enough for me." - * (devil) [Approve] - "I can't tell you enough, I'm glad to hear it. I've had a devil of a night." - His gaze flicks to the broken window, but only for a moment. I think he genuinely cannot believe I could have done it. - * [Disapprove] - "You should never have hired him. A below-average intelligence can't be expected to cope with the pressure of our work." - - Harris rolls his eyes, but he might almost be smiling. "You'd better get along, { devil :and work through your devils|Mr Intelligent}. There's a 24—hour—late message to be tackled and we're a genius short. So you'd better be ready to work twice as hard." - * [Thank him] - "I'll enjoy it. Thank you for helping me clear this up." - "Don't thank me yet. There's still a war to fight. Now get a move on." - I nod, and hurry out of the door. The air outside has never tasted fresher and more invigorating. <> - - * [Argue with him] - "I'll work as hard as I work." - "Get out," Harris growls. "Before I decide to arrest you as an accessory." - I do as he says. Outside the barrack, the air has never smelt sweeter. - - -> head_for_my_dorm_free - - -=== night_falls === -// Night falls - Night falls. The clockwork of the heavens keeps turning, whatever state I might be in. No—one can steal the components that make the sun go down and the stars come out. I watch it performing its operations. I can't sleep. - { hooperClueType > NONE : - Has Hooper taken my bait? - } - * [Look of out the window] - I peer out of the window, but it looks out onto the little brook at the back of the compound, with no view of the other huts or the House. Who knows if there are men up, searching the base of Hut 2, following one another with flashlights... - {inside_hoopers_hut.back_of_hut_2: - Perhaps Hooper is there, in the dark, trying to help me after all? - } - * [Listen at the door] - I put my ear to the keyhole but can make out nothing. Are there still guards posted? { hooperClueType > NONE :Perhaps, if Hooper has managed to incriminate himself, the guards have been removed?|Perhaps the component has been found and the crisis is over.} - Perhaps the door is unlocked and they left me to sleep? - * * [Try it] I try the handle. No such luck. - * * [Leave it] I don't touch it. I don't want anyone outside thinking I'm trying to escape. - - * [Wait] - There is nothing I can do to speed up time. - - - The night moves at its own pace. I suppose by morning I will know my fate. - * { hooperClueType > NONE } [Wait] - // Hooper now arrested - Morning comes. I'm woken by a rooster calling from the yard behind the House. I must have slept after all. I pull myself up from the bunk, shivering slightly. There is condensation on the inside of the window. I have probably given myself a chill. - Without knocking, Harris comes inside. "You're up," he remarks, and then, "You smell like an animal." - * * [Be friendly] - "I suppose I do rather." I laugh, but Harris does not. - "This damn business gets worse and worse," he says, talking as he goes over to unlock and throw open the window. <> - * * [Be cold] - "So would you," I reply tartly. Harris shrugs. - "I've been through worse than this," he replies matter—of—factly. "It's hardly my fault if you sleep in your clothes." - I glare back. He goes over to the window, unlocks it and throws it open, relishing the fresh air from outside. - - - "Hooper's confessed, you know." - * * [Be eager] - "He has? I knew he would. The worm." - "Steady now. Matters aren't over yet. <> - * * [Be cautious] - "Oh, yes?" - "Yes. For what that's worth. <> - - - (hooper_didnt_give_himself_up) There's still the issue of the component. It hasn't turned up. He didn't lead us to it. I guess he figured you must have had something on him. I don't know." - - He looks quite put out by the whole affair. He is not the kind of man to deal well with probabilities. - * * [Be interested] - "You mean he confessed of his own accord? You didn't catch him?" - - * * [Be disinterested] - "Well, I'm glad his conscience finally caught up with him," I reply dismissively. - - - "The Captain went back into that hut and he confessed immediately. We were so surprised we didn't let you go." He wrinkles his nose. "I'm rather sorry about that now. I suggest you have a wash." - And with that he gestures to the doorway. - * * [Go] - * * [Wait] - I hang back a moment. Something does not seem quite right. After all, Hooper did not steal the component. He has no reason to confess to anything. Perhaps this is another trap? - "Well?" Harris asks. "What are you waiting for? Please don't tell me you want to confess now as well, I don't think my head could stand it." - * * * [Confess] - After a chance like this? A chance — however real — to save my neck? To hand it over — what, to save Hooper's worthless skin? - * * * * [Confess] - I see. Perhaps you think I bullied the man into giving himself up. Perhaps he understood my little clue far enough to know it was a threat against him, but not well enough to understand where he should look to find it. So he took the easy route out and folded. Gave me the hand. - ~ hooperConfessed = true - Hardly sporting, of course. - * * * * * [Confess] - Well, then. I suppose this must be what it feels like to have a conscience. I suppose I had always wondered. - "Harris, sir. I don't know what Hooper's playing at, sir. But I can't let him do this." - "Do what?" - "Take the rope for this. I took it, sir. - ~ revealedhooperasculprit = false - ~ losttemper = false - -> reveal_location_of_component - * * * * * [Don't confess] - * * * * [Don't confess] - * * * [Don't confess] - - - - "I certainly don't. But still, I'm surprised. I had Hooper down for a full—blown double agent, a traitor. He knows he'll face the rope, doesn't he?" - "Don't ask me to explain why he did what he did," Harris sighs. "Just be grateful that he did, and you're now off the hook." - - - Curiouser and curiouser. I nod once to Harris and slip outside into the cold morning air. - { hooperClueType == NONE : - Hooper's confession only makes sense in one fashion{ hooperConfessed :, and that is his being dim—witted and slow| — if I successfully implied to him that I had him framed, but he did not unpack my little clue well enough to go looking for the component. Well, I had figured him for a more intelligent opponent, but a resignation from the game will suffice}. Or perhaps he knew he would be followed if he went to check, and decided he would be doomed either way. - - else: - Hooper's confession only makes sense in one way — and that's that he believed me. He reasoned that he would be followed. To try and uncover the component would have got him arrested, and to confess was the same. - He simply caved, and threw in his hand. - } - // Outside, possibly free - Of course, however, there is only one way to be certain that Harris is telling the truth, and that is to check the breeze—block at the back of Hut 2. - * * [Check] -> go_to_where_component_is_hidden - * * [Don't check] - But there will time for that later. If there is nothing there, then Hooper discovered the component after all and Harris' men will have swooped on him, and the story about his confession is just a ruse to test me out. - And if the component is still there — well. It will be just as valuable to my contact in a week's time, and his deadline of the 31st is not yet upon us. - -> head_for_my_dorm_free - - * { hooperClueType == NONE } [Wait] -> morning_not_saved - -= morning_not_saved - // Not saved - Morning comes with the call of a rooster from the yard of the House. I must have slept after all. I pull myself up off the bunk, shivering slightly. There is condensation on the inside of the window. I have probably given myself a chill. - It's not long after that Harris enters the hut. He closes the door behind him, careful as ever, then takes a chair across from me. - "You smell like a dog," he remarks. - * (optimism) [Be optimistic] - "I'm looking forward to a long bath," I reply. "And getting back to work." - * (pessimism) [Be pessimistic] - "So would you after the night I've had." - - - -> harris_certain_is_you - - -=== harris_certain_is_you - "Well, I'm afraid it is going to get worse for you," Harris replies soberly. "We followed Hooper, and he took himself neatly to bed and slept like a boy scout. Which puts us back to square one, and you firmly in the frame. And I'm afraid I don't have time for any more games. I want you to tell me where that component is, or we will hang you as a traitor." - ~ revealedhooperasculprit = false - ~ losttemper = false - -> harris_threatens_lynching - - - - -/*--------------------------------------------------------------- - Ending: they don't think it was you ----------------------------------------------------------------*/ - - -=== head_for_my_dorm_free -I head for my dorm, intent on a bath, breakfast, a glance at the crossword before the other men get to it, and then on with work. They should have replaced the component in the Bombe by now. We will only be a day behind. - { not framedhooper : - And then everything will proceed as before. The component will mean nothing to the Germans — this is the one fact I could never have explained to a man like Harris, even though the principle behind the Bombe is the same as the principle behind the army. The individual pieces — the men, the components — do not matter. They are identical. It is how they are arranged that counts. -} -I bump into Russell in the dorm hut. -"Did you hear?" he whispers. "Terrible news about Hooper. Absolutely terrible." - * [Yes] - "Quite terrible. I would never have guessed." - "Well." Russell harrumphs. - - - (quince) "Quince was saying this morning, apparently his grandfather was German. So perhaps it's to be expected. See you there?" - - * [No] - - "Heard what?" - - - (hooper_taken) "Hooper's been taken away. They caught him, uncovering that missing Bombe component from a hiding place somewhere, apparently about to take it to his contact." Russell harrumphs. -> quince - * [Lie] - "I don't know what you're talking about." - -> hooper_taken - * [Evade] - "If you'll excuse me, Russell. I was about to take a bath." - "Oh, of course. Worked all night, did you? Well, you'll hear soon enough. Can hardly hide the fact there'll only be three of us from now on." - -- I wave to him and move away, my thoughts turning to the young man in the village. My lover. My contact. My blackmailer. Hooper may have taken the fall for the missing component, but { not framedhooper :if he did recover it from Hut 2 then | its recovery does mean }I have nothing to sell to save my reputation{ i_met_a_young_man :, if I have any left}. - { not framedhooper : -If he didn't, of course, and Harris was telling the truth about his sudden confession, then I will be able to buy my freedom once and for all. -} - * { not framedhooper } [Get the component] -> go_to_where_component_is_hidden - * { not framedhooper } [Leave it] - I will have to leave that question for another day. To return there now, when they're probably watching my every step, would be suicide. After all, if Hooper { hooperClueType == STRAIGHT :followed|understood} my clue, he will have explained it to them to save his neck. They won't believe him — but they won't quite disbelieve him either. We're locked in a cycle now, him and me, of half—truth and probability. There's nothing either of us can do to put the other entirely into blame. - -> ending_return_to_normal - * [Act normal] - But there is nothing to be done about it. -> ending_return_to_normal - - - - -=== ending_return_to_normal -Nothing, that is, except to act as if there is no game being played. I'll have a bath, then start work as normal. I've got a week to find something to give my blackmailer{ i_met_a_young_man : — or give him nothing: it seems my superiors know about my indiscretions now already}. - * [Co-operate] - Something will turn up. It always does. An opportunity will present itself, and more easily now that Hooper is out of the way. - But for now, there's yesterday's intercept to be resolved. - - * [Dissemble] - Or perhaps I might hand my young blackmailer over my superiors instead for being the spy he is. - Perhaps that would be the moral thing to do, even, and not just the most smart. - But not today. Today, there's an intercept to resolve. - - * [Lie] - In a week's time, this whole affair will be in the past and quite forgotten. I'm quite sure of that. -> moreimportant - * (moreimportant) [Evade] I've more important problems to think about now. There's still yesterday's intercept to be resolved. -- The Bombe needs to be set up once more and set running. -It's time I tackled a problem I can solve. -// End - Scot Free --> END - - -=== go_to_where_component_is_hidden - It won't take a moment to settle the matter. I can justify a walk past Hut 2 as part of my morning stroll. It will be obvious in a moment if the component is still there. - On my way across the paddocks, between the huts and the House, I catch sight of young Miss Lyon, arriving for work on her bicycle. She giggles as she sees me and waves. - * [Wave back] - I wave cheerily back and she giggles, almost drops her bicycle, then dashes away inside the House. Judging by the clock on the front gable, she's running a little late this morning. - * [Ignore her] - I give no reaction. She sighs to herself, as if this kind of behaviour is normal, and trots away inside the House to begin her duties. - - I turn the corner of Hut 3 and walk down the short gravel path to Hut 2. It was a good spot to choose — Hut 2 is where the electricians work, and they're generally focussed on what they're doing. They don't often come outside to smoke a cigarette so it's easy to slip past the doorway unnoticed. - * [Check inside] - I hop up the steps and put my head inside all the same. Nobody about. Still too early in the AM for sparks, I suppose. <> - * [Go around the back] - - - I head on around the back of the hut. The breeze—block with the cavity is on the left side. - * (check) [Check] - No time to waste. I drop to my knees and check the breeze—block. Sure enough, there's nothing there. Hooper took the bait. - Suddenly, there's a movement behind me. I look up to see, first a snub pistol, and then, Harris. - - * [Look around] - I pause to glance around, and catch a glimpse of movement. Someone ducking around the corner of the hut. Or a canvas sheet flapping in the light breeze. Impossible to be sure. - * * [Check the breeze—block] -> check - * * [Check around the side of the hut] - But too important to guess. I move back around the side of the hut. - Harris is there, leaning in against the wall. He holds a stub pistol in his hand. - - - { hooperClueType > STRAIGHT : - "{ hooperClueType == CHESS:Queen to rook two|Messy without one missing whatever it was}," he declares. "I wouldn't have fathomed it but Hooper did. Explained it right after we sprung him doing what you're doing now. We weren't sure what to believe but now, you seem to have resolved that for us." - - else: - "Hooper said you'd told him where to look. I didn't believe him. Or, well. I wasn't sure what to believe. Now I rather think you've settled it." - } - * [Agree] - "I have, rather." I put my hands into my pockets. "I seem to have done exactly that." - "I'm afraid my little story about Hooper confessing wasn't true. I wanted to see if you'd go to retrieve the part." Harris gestures me to start walking. "You were close, Manning, I'll give you that. I wanted to believe you. But I'm glad I didn't." - -> done - * [Lie] - "I spoke to Russell. He said he saw Hooper doing something round here. I wanted to see what it was." - - * [Evade] - "Harris, you'd better watch out. He's planted a time—bomb here." - Harris stares at me for a moment, then laughs. "Oh, goodness. That's rich." - I almost wish I had a way to make the hut explode, but of course I don't. - - - "Enough." Harris gestures for me to start walking. "This story couldn't be simpler. You took it to cover your back. You hid it. You lied to get Hooper into trouble, and when you thought you'd won, you came to scoop your prize. A good hand but ultimately, { hooperClueType <= STRAIGHT :if it hadn't have been you who hid the component, then you wouldn't be here now|you told Hooper where to look with your little riddle}." - - - (done) - // End - Caught in AM - He leads me across the yard. Back towards Hut 5 to be decoded, and taken to pieces, once again. - -> END - - -/*--------------------------------------------------------------- - Ending: they think it was you ----------------------------------------------------------------*/ - -=== harris_threatens_lynching - { harris_certain_is_you:He passes a hand across his eyes with a long look of despair.|He gets to his feet, and gathers his gloves from the table top.} - "I'm going to go outside and organise a rope. That'll take about twelve minutes. That's how long you have to decide." - * [Protest] - "You can't do this!" I cry. "It's murder! I demand a trial, a lawyer; for God's sake, man, you can't just throw me overboard, we're not barbarians...!" - - - (too_clever) "You leave me no choice," Harris snaps back, eyes cold as gun—metal. "You and your damn cyphers. Your damn clever problems. If men like you didn't exist, if we could just all be straight with one another." He gets to his feet and heads for the door. "I fear for the future of this world, with men like you in. Reich or no Reich, Mr Manning, people like you simply complicate matters." - -> left_alone - * { not gotcomponent && not throwncomponentaway } [Confess] - I nod. "I don't need twelve minutes. -> reveal_location_of_component - * [Stay silent] -> my_lips_are_sealed - * { gotcomponent } [Show him the component] - "I don't need twelve minutes. Here it is." - I open my jacket and pull the Bombe component out of my pocket. Harris takes it from me, whistling, curious. - "Well, I'll be. That's it all right." - "That's it." - "But you didn't have it on you yesterday." - * * [Explain] - "I climbed out of the window overnight," I explain. "I went and got this from where it was hidden, and brought it back here." - * * [Don't explain] - "No. I didn't." - - -> all_too_farfetched - - * { throwncomponentaway } [Confess] - "I don't need twelve minutes. The component is in the long grass behind Hooper's tent. I threw it there hoping to somehow frame him, but now I see that won't be possible. I was naive, I suppose." - ~ piecereturned = true - -> reveal_location_of_component.harris_believes - - * { throwncomponentaway } [Frame Hooper] - "Look, I know where it is. The missing piece of the Bombe is in the long grasses behind Hooper's tent. I saw him throw it there right after we finished work. He knew you'd scour the camp but I suppose he thought you'd more obvious places first. I suppose he was right about that. Look there. That proves his guilt." - ~ longgrasshooperframe = true - ~ piecereturned = true - "That doesn't prove anything," Harris returns sharply. "But we'll check what you say, all the same." He gets to his feet and heads out of the door. - -> left_alone - - - -=== reveal_location_of_component - <> The missing component of the Bombe computer is hidden in a small cavity in a breeze—block supporting the left rear post of Hut 2. I put in there anticipating a search. I intended to { revealedhooperasculprit:pass it to Hooper|dispose of it} once the fuss had died down. I suppose I was foolish to think that it might." - ~ piecereturned = true - -> harris_believes -= harris_believes - { not night_falls.hooper_didnt_give_himself_up : - "Indeed. And Mr Manning: God help you if you're lying to me." - - else: - "I thought as much. I hadn't expected you to give it out so easily, however. You understand, Hooper has said nothing, of course. In fact, he went to Hut 2 directly after we released him and uncovered the component. But he told us you had instructed him where to go. Hence my little double bluff. Frankly, I'll be glad when I'm shot of the lot of you mathematicians." - } - Harris stands, and slips away smartly. -> left_alone - - - -=== my_lips_are_sealed - I say nothing, my lips tightly, firmly sealed. It's true I am a traitor, to the very laws of nature. The world has taught me that since a very early age. But not to my country — should the Reich win this war, I would hardly be treated as an honoured hero. I was doomed from the very start. - ~ notraitor = true - I explain none of this. How could a man like Harris understand? - The Commander takes one look back from the doorway as he pulls it to. - "It's been a pleasure working with you, Mr Manning," he declares. "You've done a great service to this country. If we come through, I'm sure they'll remember you name. I'm sorry it had to end this way and I'll do my best to keep it quiet. No—one need know what you did." - -> left_alone - - - - -=== all_too_farfetched - // Returned Component - "This is all too far—fetched," Harris says. "I'm glad to have this back, but I need to think." - Getting to his feet, he nods once. "You'll have to wait a little longer, I'm afraid, Manning." - Then he steps out of the door, muttering to himself. - -> make_your_peace - - - -=== left_alone - // Alone, about to die - { slam_door_shut_and_gone.time_to_move_now :The Commander holds the door for his superior, and follows him out.} Then the door closes. I am alone again, as I have been for most of my short life. - -> make_your_peace - - -=== make_your_peace - * [Make your peace] - - I am waiting again. I have no God to make my peace with. I find it difficult to believe in goodness of any kind, in a world such as this. - { not notraitor: - ~ notraitor = true - But I am no traitor. Not to my country. To my sex, perhaps. But how could I support the Reich? If the Nazis were to come to power, I would be worse off than ever. - } - { harris_threatens_lynching.too_clever: - In truth, it is men like Harris who are complex, not men like me. I live to make things ordered, systematic. I like my pencils sharpened and lined up in a row. I do not deal in difficult borders, or uncertainties, or alliances. If I could, I would reduce the world to something easier to understand, something finite. - But I cannot, not even here, in our little haven from the horrors of the war. - } - I have no place here. No way to fit. I am caught, in the middle, cryptic and understood only thinly, through my machines. - * I must seem very calm. - * Perhaps I should try to escape.[] But escape to where? I am already a prisoner. Jail would be a blessing. -> monastic - - <> I suppose I do not believe they will hang me. They will lock me up and continue to use my brain, if they can. I wonder what they will tell the world — perhaps that I have taken my own life. That would be simplest. The few who know me would believe it. - Well, then. Not a bad existence, in prison. Removed from temptation. - - (monastic) A monastic life, with plenty of problems to keep me going. - I wonder what else I might yet unravel before I'm done? - * The door is opening.[] Harris is returning. Our little calculation here is complete. { not piecereturned: I can only hope one of the others will be able to explain to him that the part I stole will mean nothing to the Germans.|We are just pieces in this machine; interchangeable and prone to wear.} - - That is the true secret of the calculating engine, and the source of its power. It is not the components that matter, they are quite repetitive. What matters is how they are wired; the diversity of the patterns and structures they can form. Much like people — it is how they connect that determines our victories and tragedies, and not their genius. - Which makes me wonder. Should I give { i_met_a_young_man :up my beautiful young man|the young man who put me in this spot} to them as well as myself? - * [Yes] - But of course I will. { forceful > 2:Perhaps I can persuade them to put him in my cell.|A little vengeance, disguised as doing something good.} - * [No] - No. What would be the use? He will be long gone, and the name he told me is no doubt hokum. No: I was alone before in guilt, and I am thus alone again. - * [Lie] - No. Why would I? He is no doubt an innocent himself, trapped by some dire circumstance. Forced to act the way he did. I have every sympathy for him. - Of course I do. - * [Evade] - It depends, perhaps, on what his name his worth. If it were to prove valuable, well; perhaps I can concoct a few more such lovers with which to ease my later days. - { hooper_mentioned: Hooper, perhaps. He wouldn't like that. } - - { not longgrasshooperframe : - Harris put the cuffs around my wrists. "I still have the intercept in my pocket," I remark. "Wherever we're going, could I have a pencil?" - - else: - "We recovered the part, just where you said it was," Harris reports, as he puts the cuffs around my wrists. "Of course, a couple of the men swear blind they searched there yesterday, so I'm afraid, what with the broken window... we've formed a perfectly good theory which doesn't bode well for you." - } - ~ piecereturned = true - { longgrasshooperframe : - "I see." It doesn't seem worth arguing any further. "I still have the intercept in my pocket," I remark. "Wherever we're going, could I have a pencil?" - } - He looks me in the eye. - { not losttemper : - "Of course. And one of your computing things, if I get my way. And when we're old, and smoking pipes together in The Rag like heroes, I'll explain to you the way that decent men have affairs. - - else: - "I'll give you a stone to chisel notches in the wall. And that's all the calculations you'll be doing. And as you sit there, pissing into a bucket and growing a beard down to your toes, you have a think about how a smart man would conduct his illicit affairs. With a bit of due decorum you could have learnt off any squaddie. - } - <> You scientists." - He drags me up to my feet. - "You think you have to re—invent everything." - With that, he hustles me out of the door and I can't help thinking that, with a little more strategy, I could still have won the day. But too late now, of course. - -> END diff --git a/GameData/PlayerSettings.msgpack b/GameData/PlayerSettings.msgpack index c9869da05..b03ecd7d5 100644 --- a/GameData/PlayerSettings.msgpack +++ b/GameData/PlayerSettings.msgpack @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f36eee9a6cc4c91c1b09999e17fc4dff0a69a9d41ffd89c55eab6df4a45313ab -size 18311 +oid sha256:855065c2989064850795d1d60f37111d97f19aaaad1750c630ec940a58a7dc7c +size 17318