//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    //	* New Method: Setup New AI
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    static public void SetupNewAI(AI_Base AI_Instance)
    {
        int       ID         = GetNewAIID();                        // Get New ID from ListSizeCount
        AI_Holder NewElement = new AI_Holder(AI_Instance, true);    // Create New Element for List

        AddItemToList(NewElement);                                  // Push Element into List
        SetAI_ID(ID, ID);                                           // Setup AI's ID
    }
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 //	* New Method: Convert Element To Empty Object
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 static private void ConvertToEmptyElement(int Element)
 {
     if (IsValidArgument(Element))
     {
         AI_Holder Holder = ListElementAt(Element);
         Holder.Instance = null;
         Holder.IsAlive  = false;
     }
 }
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    //	* New Method: Swap Elements
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    static private void SwapElements(int ElementOne, int ElementTwo)
    {
        if (IsValidArgument(ElementOne) && IsValidArgument(ElementTwo))
        {
            AI_Holder HolderElementOne = ListElementAt(ElementOne);
            AI_Holder HolderElementTwo = ListElementAt(ElementTwo);

            // Get First Element's Info
            AI_Base ElementOne_Instance = HolderElementOne.Instance;
            bool    ElementOne_IsAlive  = HolderElementOne.IsAlive;

            // Give ElementTwo's Info to ElementOne
            HolderElementOne.Instance = HolderElementTwo.Instance;
            HolderElementOne.IsAlive  = HolderElementTwo.IsAlive;

            // Give ElementOne's Previous Info to ElementTwo
            HolderElementTwo.Instance = ElementOne_Instance;
            HolderElementTwo.IsAlive  = ElementOne_IsAlive;
        }
    }
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 //	* New Method: Add Item To List
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 static private void ListAdd(AI_Holder Item)
 {
     m_lAIInstanceList.Add(Item);
 }
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 //	* New Method: Add Item to List
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 static public void AddItemToList(AI_Holder Item)
 {
     ListAdd(Item);
 }