예제 #1
0
        private void ReinsertUnitInContent(BattleUnit unit, Transform content, AIIManager manager)
        {
            UnitItem[]           units    = content.GetComponentsInChildren <UnitItem>();
            AxisInteractableItem thisItem = null;

            foreach (UnitItem item in units)
            {
                if (item.unit == unit)
                {
                    thisItem = item.GetComponent <AxisInteractableItem>();
                    break;
                }
            }
            AxisInteractableItem previousItem = null;
            AxisInteractableItem nextItem     = manager.firstItem;

            while (nextItem != manager.lastItem && (System.Array.IndexOf(units, nextItem.GetComponent <UnitItem>()) < System.Array.IndexOf(units, thisItem.GetComponent <UnitItem>())))
            {
                previousItem = nextItem;
                nextItem     = nextItem.downItem;
            }

            thisItem.upItem = previousItem;
            if (previousItem == null)
            {
                manager.firstItem = thisItem;
            }
            else
            {
                previousItem.downItem = thisItem;
            }
            thisItem.downItem = nextItem;
            if (nextItem == null)
            {
                manager.lastItem = thisItem;
            }
            else
            {
                thisItem.downItem = nextItem;
            }
        }