Added RocketAssemblyStation and ReadyRocket

This commit is contained in:
2026-08-18 16:12:00 +03:00
parent 7a0ee6b519
commit 63d2836dc9
85 changed files with 15087 additions and 3562 deletions
@@ -0,0 +1,8 @@
using UnityEngine;
[CreateAssetMenu(
fileName = "MaterialItemDefinition",
menuName = "FORT-BO/Items/Definitions/Material")]
public sealed class MaterialItemDefinition : ItemDefinition
{
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d1e6d4d81ab34d2e9ee3a1bfa201f101
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,29 @@
using UnityEngine;
public enum PartProcessingState : byte
{
Raw,
Ready
}
[CreateAssetMenu(
fileName = "PartItemDefinition",
menuName = "FORT-BO/Items/Definitions/Part")]
public sealed class PartItemDefinition : ItemDefinition
{
[Tooltip("Data-driven part family id, for example rocket-engine or rocket-cone-standard.")]
[SerializeField] private string partTypeId;
[SerializeField] private PartProcessingState processingState;
public string PartTypeId => string.IsNullOrWhiteSpace(partTypeId)
? ItemId
: partTypeId;
public PartProcessingState ProcessingState => processingState;
public bool IsReadyForAssembly => processingState == PartProcessingState.Ready;
protected override void OnValidate()
{
base.OnValidate();
partTypeId = NormalizeId(partTypeId);
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d1e6d4d81ab34d2e9ee3a1bfa201f102
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,22 @@
using UnityEngine;
[CreateAssetMenu(
fileName = "RocketItemDefinition",
menuName = "FORT-BO/Items/Definitions/Rocket")]
public sealed class RocketItemDefinition : ItemDefinition
{
[Tooltip("Stable rocket family id used by launchers and orders.")]
[SerializeField] private string rocketTypeId;
[SerializeField, Min(0.1f)] private float criticalImpactSpeed = 7f;
public string RocketTypeId => string.IsNullOrWhiteSpace(rocketTypeId)
? ItemId
: rocketTypeId;
public float CriticalImpactSpeed => criticalImpactSpeed;
protected override void OnValidate()
{
base.OnValidate();
rocketTypeId = NormalizeId(rocketTypeId);
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d1e6d4d81ab34d2e9ee3a1bfa201f103
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
using UnityEngine;
[CreateAssetMenu(
fileName = "UsableItemDefinition",
menuName = "FORT-BO/Items/Definitions/Usable")]
public sealed class UsableItemDefinition : ItemDefinition
{
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d1e6d4d81ab34d2e9ee3a1bfa201f104
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: