/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package scriptbuilder.structures.units;

import scriptbuilder.structures.ELEMENT;
import scriptbuilder.structures.I_XML_Writable;
import scriptbuilder.structures.XMLWriter;

/**
 * Placeholder until I add some functionality. Represents an officer in a
 * vehicle on the map. Has a name, ID, position, and status, as well as several
 * other identifying factors.
 *
 * @author Bryan McGuffin
 */
public class Unit implements I_XML_Writable
{

    public String UnitNum;

    public String ID;

    public String Status;

    public String Master_Inc_Num;

    public String Primary;

    public String OOS;

    public String Type;

    public String Curr_Loc;

    public String Destination;

    public String Misc_Info;

    public String Stack;

    public String Area;

    public String Officer;

    public String Badge_Num;

    public String Timer;

    public String Office;

    public String P;

    public String Agy;

    public String Alias;

    public String Unit_Status;

    public Unit()
    {
        UnitNum = "";

        ID = "";

        Status = "";

        Master_Inc_Num = "";

        Primary = "";

        OOS = "";

        Type = "";

        Curr_Loc = "";

        Destination = "";

        Misc_Info = "";

        Stack = "";

        Area = "";

        Officer = "";

        Badge_Num = "";

        Timer = "";

        Office = "";

        P = "";

        Agy = "";

        Alias = "";

        Unit_Status = "";
    }

    @Override
    public String toXML()
    {
        String output = XMLWriter.openTag(ELEMENT.NEW_UNIT.tag + " UnitNum=\"" + UnitNum + "\"");

        if (!ID.equals(""))
        {
            output += XMLWriter.simpleTag(ID, ELEMENT.ID);
        }

        if (!Status.equals(""))
        {
            output += XMLWriter.simpleTag(Status, ELEMENT.STATUS);
        }

        if (!Master_Inc_Num.equals(""))
        {
            output += XMLWriter.simpleTag(Master_Inc_Num, ELEMENT.MASTER_INC_NUM);
        }

        if (!Primary.equals(""))
        {
            output += XMLWriter.simpleTag(Primary, ELEMENT.PRIMARY);
        }

        if (!OOS.equals(""))
        {
            output += XMLWriter.simpleTag(OOS, ELEMENT.OOS);
        }

        if (!Type.equals(""))
        {
            output += XMLWriter.simpleTag(Type, ELEMENT.TYPE);
        }

        //All units have a current location field, even if it's blank
        output += XMLWriter.simpleTag(Curr_Loc, ELEMENT.CURR_LOC);

        //All units have a destination field, even if it's blank
        output += XMLWriter.simpleTag(Destination, ELEMENT.DESTINATION);

        if (!Misc_Info.equals(""))
        {
            output += XMLWriter.simpleTag(Misc_Info, ELEMENT.MISC_INFO);
        }

        if (!Stack.equals(""))
        {
            output += XMLWriter.simpleTag(Stack, ELEMENT.STACK);
        }

        if (!Area.equals(""))
        {
            output += XMLWriter.simpleTag(Area, ELEMENT.AREA);
        }

        if (!Badge_Num.equals(""))
        {
            output += XMLWriter.simpleTag(Badge_Num, ELEMENT.BADGE_NUM);
        }

        if (!Officer.equals(""))
        {
            output += XMLWriter.simpleTag(Officer, ELEMENT.OFFICER);
        }

        if (!Office.equals(""))
        {
            output += XMLWriter.simpleTag(Office, ELEMENT.OFFICE);
        }

        if (!Timer.equals(""))
        {
            output += XMLWriter.simpleTag(Timer, ELEMENT.TIMER);
        }

        if (!P.equals(""))
        {
            output += XMLWriter.simpleTag(P, ELEMENT.P);
        }

        if (!Agy.equals(""))
        {
            output += XMLWriter.simpleTag(Agy, ELEMENT.AGY);
        }

        if (!Alias.equals(""))
        {
            output += XMLWriter.simpleTag(Alias, ELEMENT.ALIAS);
        }

        if (!Unit_Status.equals(""))
        {
            output += XMLWriter.simpleTag(Unit_Status, ELEMENT.UNIT_STATUS);
        }

        output += XMLWriter.closeTag(ELEMENT.NEW_UNIT.tag);
        return output;
    }
}
