Project Status: Updating for use in May Artillery Fire Exercise
Project Type: Personal / Time Efficiency
Software Used: Unity
Languages Used: C#
Role: Technical Designer, Programmer
About Application
This was an application I started developing to assist in making my job, and that of other Fire Direction Officers (a tactical field billet in the military), more efficient. The idea is to have this on a tablet, so it is easily transportable, and given a set of fire commands, it will automatically update a pre-constructed database of fuzes, propellants, and projectiles per gun. This enables multiple independent means of tracking ammunition in an Artillery Battery, and frees up mental awareness for working on other aspects of the job.
Projectile Constructor Snippet
public class Projectile : Ammo
{
public Projectile(string newName, bool newUse, int newNum)
{
name = newName;
use = newUse;
num = newNum;
}
}
void InstantiateGunFields()
{
gunsField = GameObject.FindGameObjectWithTag("GunCreation").GetComponent<GunFieldInteraction>();
GameObject currentCreatedGun;
for (int i = 0; i < gunsField.GetNumberGuns(); i++)
{
currentCreatedGun = Instantiate(gunPrefab,
new Vector3(gunRectPositions[i].position.x, gunRectPositions[i].position.y, gunRectPositions[i].position.z),
Quaternion.identity);
currentCreatedGun.transform.SetParent(gunRectPositions[i]);
AssignGunNumbers(currentCreatedGun, i);
gunsObjects.Add(currentCreatedGun);
}
}
public void trackingProjectile(int index)
{
this.projectiles[index].setInUse(!(projectiles[index].getUse()));
}
public void trackingPropellant(int index)
{
this.props[index].setInUse(!(props[index].getUse()));
}
public void trackingFuze(int index)
{
this.fuzes[index].setInUse(!(fuzes[index].getUse()));
}