//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // * 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); }