WIP IADS and Vessel structure
This commit is contained in:
39
Assets/Scripts/IADS/IADS.cs
Normal file
39
Assets/Scripts/IADS/IADS.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using UnityEngine;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections;
|
||||
using System;
|
||||
|
||||
// Integrated Air Defense System
|
||||
public class IADS : MonoBehaviour
|
||||
{
|
||||
|
||||
public enum TargetStatus {
|
||||
UNASSIGNED,
|
||||
ASSIGNED,
|
||||
HIT,
|
||||
DEGRADED,
|
||||
DESTROYED
|
||||
}
|
||||
|
||||
// Look up target status by unique target ID
|
||||
public Dictionary<string, TargetStatus> _targetStatusDictionary;
|
||||
|
||||
private List<Target> _targets;
|
||||
|
||||
private List<Missile> _missiles;
|
||||
|
||||
private List<Vessel> _vessels;
|
||||
|
||||
public delegate void RegisterNewTargetDelegate(Target target);
|
||||
public event RegisterNewTargetDelegate OnRegisterNewTarget;
|
||||
|
||||
void Start()
|
||||
{
|
||||
_targets = new List<Target>();
|
||||
}
|
||||
|
||||
public void RegisterNewTarget(Target target) {
|
||||
_targets.Add(target);
|
||||
OnRegisterNewTarget?.Invoke(target);
|
||||
}
|
||||
}
|
||||
11
Assets/Scripts/IADS/IADS.cs.meta
Normal file
11
Assets/Scripts/IADS/IADS.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a5899f1049cf3d64e8c06c1db772c879
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
33
Assets/Scripts/IADS/Vessel.cs
Normal file
33
Assets/Scripts/IADS/Vessel.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using UnityEngine;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class Vessel : MonoBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
private List<Missile> missileInventory = new List<Missile>();
|
||||
|
||||
public void AddMissile(Missile missile)
|
||||
{
|
||||
if (missile != null)
|
||||
{
|
||||
missileInventory.Add(missile);
|
||||
}
|
||||
}
|
||||
|
||||
public void RemoveMissile(Missile missile)
|
||||
{
|
||||
missileInventory.Remove(missile);
|
||||
}
|
||||
|
||||
public List<Missile> GetMissileInventory()
|
||||
{
|
||||
return new List<Missile>(missileInventory);
|
||||
}
|
||||
|
||||
public int GetMissileCount()
|
||||
{
|
||||
return missileInventory.Count;
|
||||
}
|
||||
|
||||
// Additional methods can be added here as needed
|
||||
}
|
||||
11
Assets/Scripts/IADS/Vessel.cs.meta
Normal file
11
Assets/Scripts/IADS/Vessel.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 607b5f69ae2775c4ab0089839f65fd61
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user