Artillery Ammo Tracking Mobile Application

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

FDC Brain Snippet
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);
        }
    }

Gun Configuration
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()));
    }