WIP IADS and Vessel structure

This commit is contained in:
Daniel Lovell
2024-09-12 20:06:47 -07:00
parent 10bdd5db16
commit d0ef6c3fc4
7 changed files with 180 additions and 9 deletions

8
Assets/Scripts/IADS.meta Normal file
View File

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

View 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);
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: a5899f1049cf3d64e8c06c1db772c879
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View 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
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 607b5f69ae2775c4ab0089839f65fd61
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: