2.5d test
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
using System;
|
||||
using BumpCombat.Defense;
|
||||
using BumpCombat.Enemies;
|
||||
using BumpCombat.Player;
|
||||
using UnityEngine;
|
||||
|
||||
namespace BumpCombat.Constants
|
||||
{
|
||||
[Serializable]
|
||||
public sealed class ComparisonSpriteFrames
|
||||
{
|
||||
public Sprite[] Idle = Array.Empty<Sprite>();
|
||||
public Sprite[] Walk = Array.Empty<Sprite>();
|
||||
public Sprite[] Attack = Array.Empty<Sprite>();
|
||||
public Sprite[] Hurt = Array.Empty<Sprite>();
|
||||
public Sprite[] Death = Array.Empty<Sprite>();
|
||||
}
|
||||
|
||||
[CreateAssetMenu(menuName = "BumpCombat/Constants/Defense 2.5D Comparison")]
|
||||
public sealed class Defense25DComparisonSettings : ScriptableObject
|
||||
{
|
||||
public const float SummonBodyPixelsPerUnit = 32f;
|
||||
public const float SlimeBodyCoreDiameterPixels = 11f;
|
||||
public const float GiantSlimeBodyCoreDiameterPixels = 22f;
|
||||
public const float LavaSlimeBodyCoreDiameterPixels = 13f;
|
||||
public static readonly Vector2 SlimeBodyCenterFromFootPixels = new(-1.5f, 7.5f);
|
||||
public static readonly Vector2 GiantSlimeBodyCenterFromFootPixels = new(-3f, 17f);
|
||||
public static readonly Vector2 LavaSlimeBodyCenterFromFootPixels = new(-2f, 8.5f);
|
||||
|
||||
[Header("Independent comparison layout; not final balance")]
|
||||
public float GroundY;
|
||||
public Vector2 MapHalfExtents = new(10.5f, 5.5f);
|
||||
public Vector2 PlayerSpawn = new(-5f, -2f);
|
||||
public Vector2 TowerPosition = new(1f, 1.8f);
|
||||
public Vector2[] Route = { new(-9f, 0f), new(-4f, 0f), new(-2f, 2.4f), new(4f, 2.4f), new(9f, 0f) };
|
||||
public Vector2[] SummonSlots = { new(-.6f, -.9f), new(.6f, -.9f) };
|
||||
public DefenseTowerKind PortalImmunity = DefenseTowerKind.Direct;
|
||||
public float CameraPitch = 50f;
|
||||
public float CameraSize = 6.5f;
|
||||
[Range(.1f, 1f)] public float SouthBoundaryRenderHeightFraction = .4f;
|
||||
|
||||
[Header("XZ footprints baked from existing prefab XY colliders")]
|
||||
public float PlayerRadius = .275f;
|
||||
public Vector2 PlayerColliderOffset = new(0f, -.075f);
|
||||
public float PlayerVisualScale = 1.25f;
|
||||
public float PlayerFootOffset = -7.5f / 32f * 1.25f;
|
||||
public float EnemyRadius = .275f;
|
||||
public Vector2 EnemyColliderOffset = new(0f, -.35f);
|
||||
public float EnemyVisualScale = 1.25f;
|
||||
public float EnemyFootOffset = -.4f;
|
||||
public float EnemyBodyCenterCorrectionPixels = 3f;
|
||||
public float SummonVisualScale = 1.1f;
|
||||
public float SummonFootOffset = -9f / 32f * 1.1f;
|
||||
public float ActorHeight = .85f;
|
||||
public float MovementSkin = .002f;
|
||||
public float ContactSensorMargin = .025f;
|
||||
|
||||
// Unnamed, otherwise unused layers in the baseline project; no TagManager edits.
|
||||
public const int TerrainLayer = 9;
|
||||
public const int ActorLayer = 10;
|
||||
public const int TerrainMask = 1 << TerrainLayer;
|
||||
public const int ActorMask = 1 << ActorLayer;
|
||||
|
||||
[Header("Existing definitions and art; originals are not edited")]
|
||||
public EnemyDefinition Enemy;
|
||||
public AnimationClip EnemyAttackClip;
|
||||
public ActiveArtifactDefinition Cyclone;
|
||||
public ComparisonSpriteFrames PlayerArt = new();
|
||||
public ComparisonSpriteFrames EnemyArt = new();
|
||||
public Material CutoutMaterial;
|
||||
public Material TransparentMaterial;
|
||||
public Material GroundMaterial;
|
||||
public Material WallMaterial;
|
||||
public Material PathMaterial;
|
||||
public Material ShadowMaterial;
|
||||
public Material BaseMaterial;
|
||||
public Material BoundaryMaterial;
|
||||
public Material HitBoundaryMaterial;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user