ZoneRenderer draws one ItemPickup per FloatingItem (load, ObserveAdd, ObserveRemove, ClearZone); ItemPickup.Bind places it from the sim body and spins it for show. EntityInstance's drop loops, ShieldManager's pickup branch (the whole OnCollisionEnter, which did nothing else), ZoneRenderer.DropItem/DestroyLoot/_loot, TractorBeam's pull, and GameSettings' three loot fields are deleted; WireFloatingItems stripped GridObject from the five pickup prefabs and reassigned ZoneRenderer's four pickup fields in ARPG.unity; FloatingItemsDrawnSmoke (play session, batchmode) pins the lowering. GridObject and TimedDestroy were deleted infa911f2d, sofa911f2dand2565e2c5do not build in Unity. Assets/Resources/Settings.asset keeps three stale serialized GameSettings fields Unity ignores (LFS object, not rewritten). Builds: Unity batchmode compile green at this commit; dotnet green at2565e2c5. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
81 lines
No EOL
3.1 KiB
C#
81 lines
No EOL
3.1 KiB
C#
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* 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;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
[CreateAssetMenu(fileName = "Sector Display Properties", menuName = "Aetheria/Sector Display Properties")]
|
|
public class GameSettings : ScriptableObject
|
|
{
|
|
public string StartingHullName = "Longinus";
|
|
public float HeatstrokePhasingFloor = 0;
|
|
public float HeatstrokePhasingFrequency = 5;
|
|
public float WormholeDistanceRatio;
|
|
public float DefaultViewDistance;
|
|
public float MinimapZoneGravityRange;
|
|
public float[] MinimapZoomLevels;
|
|
public int DefaultMinimapZoom;
|
|
public ExponentialCurve IconSize;
|
|
public int AsteroidMeshCount = 5;
|
|
public float MinimapAsteroidSize = 3;
|
|
public float MinimapIconSize = 1f / 32;
|
|
public float PlanetRotationSpeed = 1;
|
|
public NameGeneratorSettings NameGeneratorSettings;
|
|
public TutorialGenerationSettings TutorialGenerationSettings;
|
|
public SectorBackgroundSettings TutorialBackgroundSettings;
|
|
public SectorBackgroundSettings SectorBackgroundSettings;
|
|
public SectorGenerationSettings SectorGenerationSettings;
|
|
public BodySettingsCollection[] BodySettingsCollections;
|
|
public PlanetSettings PlanetSettings;
|
|
public ZoneGenerationSettings ZoneSettings;
|
|
public GameplaySettings GameplaySettings;
|
|
public Color ArmorHitColor;
|
|
public Color HardpointHitColor;
|
|
public Color GearHitColor;
|
|
public Gradient ArmorGradient;
|
|
public Gradient DurabilityGradient;
|
|
public ZoneEnvironment DefaultEnvironment;
|
|
[HideInInspector] public Sprite[] ItemIcons;
|
|
[HideInInspector] public Sprite[] WeaponTypeIcons;
|
|
[HideInInspector] public Sprite[] WeaponCaliberIcons;
|
|
[HideInInspector] public Sprite[] WeaponRangeIcons;
|
|
[HideInInspector] public Sprite[] WeaponFireTypeIcons;
|
|
[HideInInspector] public Sprite[] WeaponModifierIcons;
|
|
|
|
public Sprite GetIcon(HardpointType type) => ItemIcons[(int) type];
|
|
public Sprite GetIcon(WeaponType type) => WeaponTypeIcons[(int) type];
|
|
public Sprite GetIcon(WeaponRange range) => WeaponRangeIcons[(int) range];
|
|
public Sprite GetIcon(WeaponCaliber caliber) => WeaponCaliberIcons[(int) caliber];
|
|
|
|
public IEnumerable<Sprite> GetIcons(WeaponFireType type)
|
|
{
|
|
var count = Enum.GetValues(typeof(WeaponFireType)).Length;
|
|
var t = (int) type;
|
|
for (int i = 0; i < count - 1; i++)
|
|
{
|
|
if (1 << i == (1 << i & t))
|
|
yield return WeaponFireTypeIcons[i + 1];
|
|
}
|
|
}
|
|
|
|
public IEnumerable<Sprite> GetIcons(WeaponModifiers type)
|
|
{
|
|
var count = Enum.GetValues(typeof(WeaponModifiers)).Length;
|
|
var t = (int) type;
|
|
for (int i = 0; i < count - 1; i++)
|
|
{
|
|
if (1 << i == (1 << i & t))
|
|
yield return WeaponModifierIcons[i + 1];
|
|
}
|
|
}
|
|
}
|
|
|
|
[Serializable]
|
|
public class BodySettingsCollection
|
|
{
|
|
public float MinimumMass;
|
|
public CelestialBodySettings[] BodySettings;
|
|
} |