Big additions/experimentations

This commit is contained in:
Nico 2025-06-27 15:17:00 -07:00
parent 61b9b39816
commit 6919efe549
37 changed files with 51561 additions and 3781 deletions

8
Assets/Resources.meta Normal file
View File

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

View File

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

View File

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

View File

@ -0,0 +1,17 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b37e12223c9082248a2fccdbd8034c4d, type: 3}
m_Name: PlayerBuilderHandler
m_EditorClassIdentifier:
PrefabToSpawn: {fileID: 3569570202871523113, guid: bb6fb8e00f9331e4e8f33f5c2563ba8e, type: 3}
PrefabToSpawnPreviewAsset: {fileID: 3569570202871523113, guid: 997fb62ab3397bf4dbae538691a1d668, type: 3}
VfxExplosion: {fileID: 4566952472781634859, guid: 4d965c8262ff5834a878255a7345baac, type: 3}

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 2c54a8973b940a4438dbe7f658b0d331
labels:
- Character
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,13 @@
using UnityEngine;
[CreateAssetMenu(menuName = "Custom/Ability", fileName = "NewAbility")]
public class Ability : ScriptableObject
{
public string abilityName;
public Sprite icon;
public int resourceCost;
public virtual void Use(Player user)
{
Debug.Log($"{user.name} uses {abilityName}!");
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 017b438533b3d4c4db96a71edc4e44d5

View File

@ -0,0 +1,152 @@
using NUnit.Framework.Constraints;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.Tilemaps;
using UnityEngine.UI;
using static Unity.Cinemachine.IInputAxisOwner.AxisDescriptor;
using static UnityEngine.RuleTile.TilingRuleOutput;
[CreateAssetMenu(menuName = "Custom/BuilderHandler", fileName = "NewBuilderHandler")]
public class BuildHandler : ScriptableObject {
[Header("Build Dependencies")]
public GameObject PrefabToSpawn;
public GameObject PrefabToSpawnPreviewAsset;
[Header("VFX Dependencies")]
public GameObject VfxExplosion;
private GameObject VfxExplosionParentInstance;
private List<ParticleSystem> VfxExplosionParticles = new List<ParticleSystem>();
private GameObject PreviewObj;
private Vector3 SnappedPosition;
private bool BuildMode = false;
private Vector2 SpriteSize;
private CapsuleDirection2D CapsuleDirection = CapsuleDirection2D.Vertical;
private bool Initialized = false;
void Awake() {
Debug.Log(PreviewObj.name);
}
public void Initialize() {
PreviewObj = Instantiate(PrefabToSpawnPreviewAsset, new Vector3(), Quaternion.identity);
SpriteRenderer sprite = PreviewObj.GetComponent<SpriteRenderer>();
Sprite s = PreviewObj.GetComponent<SpriteRenderer>().sprite;
Vector2 pivot = s.pivot / s.pixelsPerUnit;
SpriteSize = s.rect.size / s.pixelsPerUnit;
if (SpriteSize.x > SpriteSize.y)
CapsuleDirection = CapsuleDirection2D.Horizontal;
VfxExplosionParticles.Clear();
if (VfxExplosion) {
VfxExplosionParentInstance = Instantiate(VfxExplosion, Vector3.one, Quaternion.identity);
var foundParticleSystems = VfxExplosionParentInstance.GetComponentsInChildren<ParticleSystem>();
VfxExplosionParticles.AddRange(foundParticleSystems);
VfxExplosionParticles.ForEach((x) => x.transform.localScale = Vector3.one);
}
Initialized = true;
}
public void SetBuildMode(bool mode) {
//if (!PreviewObj)
// CreatePreviewObj();
PreviewObj.SetActive(mode);
BuildMode = mode;
if (mode) Debug.Log("BuildMode ON");
}
Vector3 GetSnappedPosition(Vector3 worldPos, float gridSize) {
float x = Mathf.Round(worldPos.x / gridSize) * gridSize;
float y = Mathf.Round(worldPos.y / gridSize) * gridSize;
//Debug.Log($"{x}, {y}");
return new Vector3(x, y, 0);
}
public void UpdatePreview(float gridSize) {
if (!BuildMode) return;
Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Vector3 offset = new Vector3(0, 0, 3);
mousePos += offset;
SnappedPosition = GetSnappedPosition(mousePos, gridSize / 2);
PreviewObj.transform.position = SnappedPosition;
}
public void PlaceObject() {
if (!BuildMode) return;
if (!IsTileUnderMouse()) return;
Collider2D[] hits = Physics2D.OverlapCapsuleAll(SnappedPosition, SpriteSize * 0.8f, CapsuleDirection, 0);
foreach (var hit in hits) {
if (hit.CompareTag("Structural")) {
Debug.Log("Hit building object");
return;
} else {
Debug.Log($"Tag:{hit.tag}");
}
}
hits = Physics2D.OverlapCapsuleAll(SnappedPosition, SpriteSize, CapsuleDirection, 0);
foreach (var hit in hits) {
if (hit.GetComponent<TilemapCollider2D>()) {
Debug.Log("Hit terrain tile");
return;
}
}
if (VfxExplosionParentInstance) {
VfxExplosionParentInstance.transform.position = SnappedPosition;
VfxExplosionParticles.ForEach((x) => x.Play());
}
GameObject newObj = Instantiate(PrefabToSpawn, SnappedPosition, Quaternion.identity);
SpriteRenderer image = newObj.GetComponent<SpriteRenderer>();
}
public bool IsTileUnderMouse() {
Vector3 worldPos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
worldPos.z = 0f;
GameObject groundGO = GameObject.FindGameObjectWithTag("Ground");
if (!groundGO) return false;
Tilemap tilemap = groundGO.GetComponent<Tilemap>();
if (!tilemap) return false;
Vector3Int cellPos = tilemap.WorldToCell(worldPos);
TileBase tile = tilemap.GetTile(cellPos);
if (!tile) return false;
return tile;
//Bounds tileBounds = tilemap.GetBoundsLocal(cellPos);
//Collider2D[] hits = Physics2D.OverlapBoxAll(tilemap.GetCellCenterWorld(cellPos), tilemap.cellSize * 0.9f, 0f);
//return (hits.Length == 0);
}
public void DrawGizmos() {
if (!Initialized) return;
Vector2 center = SnappedPosition;
Vector2 size = SpriteSize;
float radius = size.x / 2 * 0.8f;
float height = size.y / 2 * 0.8f;
if (SpriteSize.x != SpriteSize.y) {
Vector2 top = center + Vector2.up * (height / 2 - radius);
Vector2 bottom = center + Vector2.down * (height / 2 - radius);
Gizmos.color = Color.green;
Gizmos.DrawWireCube(center, new Vector2(size.x, height - 2 * radius));
Gizmos.DrawWireSphere(top, radius);
Gizmos.DrawWireSphere(bottom, radius);
} else {
Gizmos.color = Color.green;
Gizmos.DrawWireSphere(center, radius);
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: b37e12223c9082248a2fccdbd8034c4d

View File

@ -0,0 +1,12 @@
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(menuName = "Custom/CharacterClass", fileName = "NewCharacterClass")]
public class CharacterClass : ScriptableObject
{
public string className;
public int baseHealth = 100;
public int baseMana = 50;
public float attackMultiplier = 1f;
public List<Ability> abilities;
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 3306f475384e31f4b8b5e14271f51fcc

View File

@ -1,124 +0,0 @@
using System;
using System.Collections;
using System.Linq;
using UnityEditor.VersionControl;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
using static UnityEditor.PlayerSettings;
[SelectionBase]
public class Player : MonoBehaviour {
[Header("Movement Dependencies")]
[SerializeField] private Rigidbody2D RigidBody;
[SerializeField] private Animator Animator;
[SerializeField] private SpriteRenderer Renderer;
[Header("Character Class Dependencies")]
[SerializeField] private ParticleSystem Aura;
[SerializeField] private GameObject[] ClassIndicators;
[Header("Movement Attributes")]
[SerializeField] private float MoveSpeed = 4;
[SerializeField] private float DashMultiplier = 30;
[SerializeField] private float DriftSpeed = 30;
[SerializeField] private float DriftFactorial = 0.85f;
private Vector2 MoveDirection = Vector2.zero;
private Directions FaceDir = Directions.Down;
private bool isDashing;
private Vector2 DriftDirection = Vector2.zero;
private float Drift = 0;
private readonly int AnimMoveRight = Animator.StringToHash("Anim_Player_MoveRight");
private readonly int AnimIdleRight = Animator.StringToHash("Anim_Player_IdleRight");
private enum Directions { Left, Right, Up, Down }
private void Update() {
GatherInput();
KeyPressActions();
}
private void GatherInput() {
MoveDirection.x = Input.GetAxisRaw("Horizontal");
MoveDirection.y = Input.GetAxisRaw("Vertical");
}
private void KeyPressActions() {
if (Input.GetKeyDown(KeyCode.LeftShift) || Input.GetKeyDown(KeyCode.RightShift)) {
Dash(MoveDirection);
} else if (Input.GetKeyDown(KeyCode.F1)) {
SetClass(0);
} else if (Input.GetKeyDown(KeyCode.F2)) {
SetClass(1);
} else if (Input.GetKeyDown(KeyCode.F3)) {
SetClass(2);
} else if (Input.GetKeyDown(KeyCode.F4)) {
SetClass(3);
}
}
private void Dash(Vector2 direction) {
if (Drift > 0.5f) return;
isDashing = true;
RigidBody.linearVelocity = direction.normalized * MoveSpeed * DashMultiplier;
DriftDirection = direction.normalized;
Drift = DriftSpeed;
isDashing = false;
}
private void SetClass(int classIdx) {
foreach (var (indicator, i) in ClassIndicators.Select((obj, i) => (obj, i)))
if (i != classIdx) {
indicator.transform.localScale = Vector3.one;
indicator.transform.rotation = Quaternion.identity;
} else {
indicator.transform.localScale = Vector3.one * 2;
indicator.transform.rotation = Quaternion.AngleAxis(90, Vector3.forward);
}
RawImage image = ClassIndicators[classIdx].GetComponent<RawImage>();
var main = Aura.main;
main.startColor = image.color;
}
private void FixedUpdate() {
MovementUpdate();
CalculateFacingDirection();
UpdateAnimation();
}
private void MovementUpdate() {
if (isDashing) return;
RigidBody.linearVelocity = MoveDirection.normalized * MoveSpeed;
if (Drift > 0.2f) {
RigidBody.linearVelocity += DriftDirection * Drift;
Drift *= DriftFactorial;
print(Drift);
} else {
Drift = 0f;
}
}
private void CalculateFacingDirection() {
if (MoveDirection.x != 0)
if (MoveDirection.x < 0)
FaceDir = Directions.Left;
else
FaceDir = Directions.Right;
}
private void UpdateAnimation() {
Renderer.flipX = (FaceDir == Directions.Left);
Animator.CrossFade((MoveDirection.sqrMagnitude > 0) ? AnimMoveRight : AnimIdleRight, 0);
}
}

View File

@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: 1564eae7d63ff9c41ad2f09db588f97b

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 2314b3833ade8114aa77ea93a5c26423

View File

@ -0,0 +1,186 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Unity.VisualScripting;
using UnityEditor;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
[SelectionBase]
public class Player : MonoBehaviour {
[Header("Asset/Prefab Dependencies")]
[SerializeField] public BuildHandler Build;
[Header("Movement Dependencies")]
[SerializeField] private Rigidbody2D RigidBody;
[SerializeField] private Animator Animator;
[SerializeField] private SpriteRenderer Renderer;
[Header("Character Class Dependencies")]
[SerializeField] private ParticleSystem Aura;
[SerializeField] private GameObject[] ClassIndicators;
[Header("Movement Attributes")]
[SerializeField] private float MoveSpeed = 8;
[SerializeField] private float DashMultiplier = 60;
[SerializeField] private float DriftSpeed = 60;
[SerializeField] private float DriftFactorial = 0.85f;
private Vector2 MoveDirection = Vector2.zero;
private Directions FaceDir = Directions.Down;
private bool isDashing;
private Vector2 DriftDirection = Vector2.zero;
private float Drift = 0;
private readonly int AnimMoveRight = Animator.StringToHash("Anim_Player_MoveRight");
private readonly int AnimIdleRight = Animator.StringToHash("Anim_Player_IdleRight");
private enum Directions { Left, Right, Up, Down }
void Awake() {
Build.Initialize();
SetClass(1);
}
private void Update() {
GatherInput();
KeyPressActions();
Build.UpdatePreview(1);
}
private void GatherInput() {
MoveDirection.x = Input.GetAxisRaw("Horizontal");
MoveDirection.y = Input.GetAxisRaw("Vertical");
}
private void KeyPressActions() {
if (Input.GetKeyDown(KeyCode.LeftShift) || Input.GetKeyDown(KeyCode.RightShift)) {
Dash(MoveDirection);
} else if (Input.GetKeyDown(KeyCode.F1)) {
SetClass(0);
} else if (Input.GetKeyDown(KeyCode.F2)) {
SetClass(1);
} else if (Input.GetKeyDown(KeyCode.F3)) {
SetClass(2);
} else if (Input.GetKeyDown(KeyCode.F4)) {
SetClass(3);
}
if (Input.GetMouseButtonDown(0)) {
Build.PlaceObject();
}
}
private void Dash(Vector2 direction) {
if (Drift > 0.5f) return;
isDashing = true;
RigidBody.linearVelocity = direction.normalized * MoveSpeed * DashMultiplier;
DriftDirection = direction.normalized;
Drift = DriftSpeed;
isDashing = false;
}
private void SetClass(int classIdx) {
Build.SetBuildMode(classIdx == 3);
foreach (var (indicator, i) in ClassIndicators.Select((obj, i) => (obj, i)))
if (i != classIdx) {
indicator.transform.localScale = Vector3.one;
indicator.transform.rotation = Quaternion.identity;
} else {
indicator.transform.localScale = Vector3.one * 2;
indicator.transform.rotation = Quaternion.AngleAxis(90, Vector3.forward);
}
RawImage image = ClassIndicators[classIdx].GetComponent<RawImage>();
var main = Aura.main;
main.startColor = image.color;
}
private void FixedUpdate() {
MovementUpdate();
CalculateFacingDirection();
UpdateAnimation();
}
private void MovementUpdate() {
if (isDashing) return;
RigidBody.linearVelocity = MoveDirection.normalized * MoveSpeed;
if (Drift > 0.2f) {
RigidBody.linearVelocity += DriftDirection * Drift;
Drift *= DriftFactorial;
print(Drift);
} else {
Drift = 0f;
}
}
private void CalculateFacingDirection() {
if (MoveDirection.x != 0)
if (MoveDirection.x < 0)
FaceDir = Directions.Left;
else
FaceDir = Directions.Right;
}
private void UpdateAnimation() {
Renderer.flipX = (FaceDir == Directions.Left);
Animator.CrossFade((MoveDirection.sqrMagnitude > 0) ? AnimMoveRight : AnimIdleRight, 0);
}
void OnDrawGizmos() {
Build.DrawGizmos();
}
public List<CharacterClass> classes; // assign in Inspector
[HideInInspector] public int maxHealth;
[HideInInspector] public int maxMana;
[HideInInspector] public float attackPower;
[HideInInspector] public List<Ability> abilities;
//void Awake() {
// //InitializeCharacter();
//}
void InitializeCharacter() {
maxHealth = 0;
maxMana = 0;
attackPower = 1f;
abilities = new List<Ability>();
foreach (var cc in classes) {
maxHealth += cc.baseHealth;
maxMana += cc.baseMana;
attackPower *= cc.attackMultiplier;
abilities.AddRange(cc.abilities);
}
Debug.Log($"{name} initialized as {string.Join(", ", classes.ConvertAll(c => c.className))} with {abilities.Count} abilities.");
}
public void UseAbility(int index) {
if (index < 0 || index >= abilities.Count) return;
var ability = abilities[index];
ability.Use(this);
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: d38baaa1260144d48a6014ef40c04f45

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -0,0 +1,154 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &616384066936698024
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8274894795265062189}
- component: {fileID: 4565257595682288495}
- component: {fileID: 711310871902736295}
- component: {fileID: 5059860052587952593}
m_Layer: 0
m_Name: Ball
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8274894795265062189
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 616384066936698024}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.5248499, y: -0.43754983, z: 0}
m_LocalScale: {x: 0.8, y: 0.8, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &4565257595682288495
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 616384066936698024}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
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: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 651355007
m_SortingLayer: 4
m_SortingOrder: 0
m_Sprite: {fileID: -2413806693520163455, guid: a86470a33a6bf42c4b3595704624658b, type: 3}
m_Color: {r: 0.25157225, g: 0.14002603, b: 0.14002603, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!50 &711310871902736295
Rigidbody2D:
serializedVersion: 5
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 616384066936698024}
m_BodyType: 0
m_Simulated: 1
m_UseFullKinematicContacts: 0
m_UseAutoMass: 0
m_Mass: 1
m_LinearDamping: 5
m_AngularDamping: 200
m_GravityScale: 0
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_Interpolate: 1
m_SleepingMode: 1
m_CollisionDetection: 0
m_Constraints: 0
--- !u!58 &5059860052587952593
CircleCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 616384066936698024}
m_Enabled: 1
serializedVersion: 3
m_Density: 1
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_ForceSendLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ForceReceiveLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ContactCaptureLayers:
serializedVersion: 2
m_Bits: 4294967295
m_CallbackLayers:
serializedVersion: 2
m_Bits: 4294967295
m_IsTrigger: 0
m_UsedByEffector: 0
m_CompositeOperation: 0
m_CompositeOrder: 0
m_Offset: {x: -0.0047000987, y: 0}
m_Radius: 0.4952999

View File

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

View File

@ -0,0 +1,158 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3569570202871523113
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3727048345113590957}
- component: {fileID: 7174215193829215554}
m_Layer: 0
m_Name: Grass
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3727048345113590957
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3569570202871523113}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 495590380468486054}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &7174215193829215554
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3569570202871523113}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
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: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 651355007
m_SortingLayer: 4
m_SortingOrder: -1
m_Sprite: {fileID: -5812250689250145862, guid: 31f05af96ac477d46970303e6425d7f2, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &3771162725559564165
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 495590380468486054}
- component: {fileID: 7760375079848119693}
m_Layer: 6
m_Name: Structural
m_TagString: Structural
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &495590380468486054
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3771162725559564165}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 3727048345113590957}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!58 &7760375079848119693
CircleCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3771162725559564165}
m_Enabled: 1
serializedVersion: 3
m_Density: 1
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_ForceSendLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ForceReceiveLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ContactCaptureLayers:
serializedVersion: 2
m_Bits: 4294967295
m_CallbackLayers:
serializedVersion: 2
m_Bits: 4294967295
m_IsTrigger: 0
m_UsedByEffector: 0
m_CompositeOperation: 0
m_CompositeOrder: 0
m_Offset: {x: 0, y: 0}
m_Radius: 0.5

View File

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

View File

@ -0,0 +1,177 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1072565717341755882
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5872899556130982545}
- component: {fileID: 47408167688707622}
m_Layer: 0
m_Name: Structural
m_TagString: Structural
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5872899556130982545
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1072565717341755882}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 3727048345113590957}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &47408167688707622
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1072565717341755882}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
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: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: -2413806693520163455, guid: ebe73ca9363db456bacf42c025bb4847, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 0}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &3569570202871523113
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3727048345113590957}
- component: {fileID: 7174215193829215554}
m_Layer: 0
m_Name: GrassPreview
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3727048345113590957
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3569570202871523113}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5872899556130982545}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &7174215193829215554
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3569570202871523113}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
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: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 651355007
m_SortingLayer: 4
m_SortingOrder: -1
m_Sprite: {fileID: -5812250689250145862, guid: 31f05af96ac477d46970303e6425d7f2, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 0.41960785}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0

View File

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

View File

@ -167,6 +167,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
@ -3881,9 +3894,9 @@ TextureImporter:
outline: []
physicsShape:
- - {x: -8, y: -8}
- {x: -1, y: -8}
- {x: -1, y: 4}
- {x: 8, y: 4}
- {x: -2, y: -8}
- {x: -2, y: 5}
- {x: 8, y: 5}
- {x: 8, y: 8}
- {x: -8, y: 8}
tessellationDetail: 0
@ -3908,8 +3921,8 @@ TextureImporter:
customData:
outline: []
physicsShape:
- - {x: -8, y: 4}
- {x: 8, y: 4}
- - {x: -8, y: 5}
- {x: 8, y: 5}
- {x: 8, y: 8}
- {x: -8, y: 8}
tessellationDetail: 0
@ -3934,9 +3947,9 @@ TextureImporter:
customData:
outline: []
physicsShape:
- - {x: -8, y: 4}
- {x: 1, y: 4}
- {x: 1, y: -8}
- - {x: -8, y: 5}
- {x: 2, y: 5}
- {x: 2, y: -8}
- {x: 8, y: -8}
- {x: 8, y: 8}
- {x: -8, y: 8}
@ -4631,8 +4644,8 @@ TextureImporter:
outline: []
physicsShape:
- - {x: -8, y: -8}
- {x: -1, y: -8}
- {x: -1, y: 8}
- {x: -2, y: -8}
- {x: -2, y: 8}
- {x: -8, y: 8}
tessellationDetail: 0
bones: []
@ -4678,10 +4691,10 @@ TextureImporter:
customData:
outline: []
physicsShape:
- - {x: 1, y: -8}
- - {x: 2, y: -8}
- {x: 8, y: -8}
- {x: 8, y: 8}
- {x: 1, y: 8}
- {x: 2, y: 8}
tessellationDetail: 0
bones: []
spriteID: 7e5db9f3d68724343a230dd8f6c6bf07
@ -5352,9 +5365,9 @@ TextureImporter:
physicsShape:
- - {x: -8, y: -8}
- {x: 8, y: -8}
- {x: 8, y: -3}
- {x: -1, y: -3}
- {x: -1, y: 8}
- {x: 8, y: -4}
- {x: -2, y: -4}
- {x: -2, y: 8}
- {x: -8, y: 8}
tessellationDetail: 0
bones: []
@ -5380,8 +5393,8 @@ TextureImporter:
physicsShape:
- - {x: -8, y: -8}
- {x: 8, y: -8}
- {x: 8, y: -3}
- {x: -8, y: -3}
- {x: 8, y: -4}
- {x: -8, y: -4}
tessellationDetail: 0
bones: []
spriteID: e081953f634f8d5439dbe59cf7148d19
@ -5404,12 +5417,12 @@ TextureImporter:
customData:
outline: []
physicsShape:
- - {x: 1, y: -3}
- {x: -8, y: -3}
- - {x: 2, y: -4}
- {x: -8, y: -4}
- {x: -8, y: -8}
- {x: 8, y: -8}
- {x: 8, y: 8}
- {x: 1, y: 8}
- {x: 2, y: 8}
tessellationDetail: 0
bones: []
spriteID: b7ede6773e89fb746bf2b9354e560355

File diff suppressed because it is too large Load Diff

View File

@ -77,12 +77,12 @@ MonoBehaviour:
m_Output: 0
m_ColliderType: 1
m_RandomTransform: 0
m_Neighbors: 01000000010000000200000001000000
m_Neighbors: 01000000020000000100000001000000
m_NeighborPositions:
- {x: -1, y: 0, z: 0}
- {x: 0, y: 1, z: 0}
- {x: 1, y: 0, z: 0}
- {x: 0, y: -1, z: 0}
- {x: -1, y: 0, z: 0}
m_RuleTransform: 0
- m_Id: 4
m_Sprites:
@ -99,8 +99,8 @@ MonoBehaviour:
- {x: -1, y: 1, z: 0}
- {x: -1, y: 0, z: 0}
- {x: 0, y: 1, z: 0}
- {x: 1, y: 0, z: 0}
- {x: 0, y: -1, z: 0}
- {x: 1, y: 0, z: 0}
m_RuleTransform: 0
- m_Id: 5
m_Sprites:

View File

@ -7,6 +7,7 @@
"com.unity.ide.visualstudio": "2.0.23",
"com.unity.inputsystem": "1.14.0",
"com.unity.multiplayer.center": "1.0.0",
"com.unity.recorder": "5.1.2",
"com.unity.test-framework": "1.5.1",
"com.unity.timeline": "1.8.7",
"com.unity.ugui": "2.0.0",

View File

@ -18,9 +18,9 @@
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.2d.common": "10.0.0",
"com.unity.2d.sprite": "1.0.0",
"com.unity.2d.tilemap": "1.0.0",
"com.unity.2d.common": "10.0.0",
"com.unity.mathematics": "1.2.6",
"com.unity.modules.animation": "1.0.0"
},
@ -31,11 +31,11 @@
"depth": 2,
"source": "registry",
"dependencies": {
"com.unity.burst": "1.8.4",
"com.unity.2d.sprite": "1.0.0",
"com.unity.mathematics": "1.1.0",
"com.unity.modules.uielements": "1.0.0",
"com.unity.modules.animation": "1.0.0",
"com.unity.burst": "1.8.4"
"com.unity.modules.uielements": "1.0.0"
},
"url": "https://packages.unity.com"
},
@ -70,8 +70,8 @@
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.mathematics": "1.1.0",
"com.unity.2d.common": "10.0.0",
"com.unity.mathematics": "1.1.0",
"com.unity.modules.physics2d": "1.0.0"
},
"url": "https://packages.unity.com"
@ -90,15 +90,24 @@
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.modules.tilemap": "1.0.0",
"com.unity.2d.tilemap": "1.0.0",
"com.unity.modules.tilemap": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.bindings.openimageio": {
"version": "1.0.0",
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.collections": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.burst": {
"version": "1.8.21",
"depth": 3,
"depth": 2,
"source": "registry",
"dependencies": {
"com.unity.mathematics": "1.2.1",
@ -125,12 +134,12 @@
},
"com.unity.collections": {
"version": "2.5.1",
"depth": 2,
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.burst": "1.8.17",
"com.unity.nuget.mono-cecil": "1.11.4",
"com.unity.test-framework": "1.4.5",
"com.unity.nuget.mono-cecil": "1.11.4",
"com.unity.test-framework.performance": "3.0.3"
},
"url": "https://packages.unity.com"
@ -200,11 +209,22 @@
},
"com.unity.nuget.mono-cecil": {
"version": "1.11.4",
"depth": 3,
"depth": 2,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.recorder": {
"version": "5.1.2",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.timeline": "1.8.7",
"com.unity.collections": "1.2.4",
"com.unity.bindings.openimageio": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.settings-manager": {
"version": "2.1.0",
"depth": 2,
@ -217,9 +237,9 @@
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.settings-manager": "1.0.3",
"com.unity.mathematics": "1.2.1",
"com.unity.modules.imgui": "1.0.0"
"com.unity.modules.imgui": "1.0.0",
"com.unity.settings-manager": "1.0.3"
},
"url": "https://packages.unity.com"
},
@ -235,7 +255,7 @@
},
"com.unity.test-framework.performance": {
"version": "3.1.0",
"depth": 3,
"depth": 2,
"source": "registry",
"dependencies": {
"com.unity.test-framework": "1.1.33",
@ -248,9 +268,9 @@
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.modules.audio": "1.0.0",
"com.unity.modules.director": "1.0.0",
"com.unity.modules.animation": "1.0.0",
"com.unity.modules.audio": "1.0.0",
"com.unity.modules.particlesystem": "1.0.0"
},
"url": "https://packages.unity.com"

View File

@ -141,7 +141,8 @@ PlayerSettings:
visionOSBundleVersion: 1.0
tvOSBundleVersion: 1.0
bundleVersion: 1.0
preloadedAssets: []
preloadedAssets:
- {fileID: -944628639613478452, guid: 3590b91b4603b465dbb4216d601bff33, type: 3}
metroInputSource: 0
wsaTransparentSwapchain: 0
m_HolographicPauseOnTrackingLoss: 1
@ -537,6 +538,9 @@ PlayerSettings:
- serializedVersion: 3
m_BuildTarget: Android
m_Formats: 03000000
- serializedVersion: 3
m_BuildTarget: WebGL
m_Formats: 05000000
playModeTestRunnerEnabled: 0
runPlayModeTestAsEditModeTest: 0
actionOnDotNetUnhandledException: 1

View File

@ -3,7 +3,9 @@
--- !u!78 &1
TagManager:
serializedVersion: 3
tags: []
tags:
- Structural
- Ground
layers:
- Default
- TransparentFX
@ -11,7 +13,7 @@ TagManager:
-
- Water
- UI
-
- Structures
-
-
-

View File

@ -11,6 +11,9 @@ EditorUserSettings:
RecentlyUsedSceneGuid-0:
value: 515250075c0c595e5f5a5e71122159444e4e4a2f7a7d7f602f284d66b4b76661
flags: 0
UIBuilder.EditorExtensionModeKey:
value: 37434103
flags: 0
vcSharedLogLevel:
value: 0d5e400f0650
flags: 0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -9,9 +9,13 @@ onBoardingDoNotAskAgain = true
showPackageIndexes = false
showStatusBar = false
scopes = {
"last_search.66F56946" = "package "
"last_search.66F56946" = ""
"OpenInspectorPreview.66F56946" = "0"
"currentGroup.66F56946" = null
"picker_window_position_offset.075BCD15" = "127;263;320;550"
"picker_visibility_flags.075BCD15" = "264"
"picker_item_size.075BCD15" = "96"
"picker_inspector.075BCD15" = "0"
}
providers = {
asset = {
@ -68,6 +72,8 @@ providers = {
objectSelectors = {
}
recentSearches = [
"tag"
"tilk"
"packa"
"tile pallet"
]
@ -83,4 +89,5 @@ ignoredProperties = "id;name;classname;imagecontentshash"
helperWidgetCurrentArea = "all"
disabledIndexers = ""
minIndexVariations = 2
findProviderIndexHelper = true
findProviderIndexHelper = true
itemIconSize = 32