예제 #1
0
    public static void RemoveStatus(GameObject target, Status targetStatus)
    {
        int         count       = instance.statusEntries.Count;
        StatusEntry targetEntry = null;

        for (int i = 0; i < count; i++)
        {
            if (instance.statusEntries[i].target == target)
            {
                targetEntry = instance.statusEntries[i];
                //statusManager.statusEntries.Remove(statusManager.statusEntries[i]);
                break;
            }
        }

        if (targetEntry != null)
        {
            targetEntry.RemoveStatus(targetStatus);

            if (string.IsNullOrEmpty(targetStatus.AnimBoolName) == false)
            {
                target.Entity().AnimHelper.PlayOrStopAnimBool(targetStatus.AnimBoolName, false);
            }

            if (targetEntry.GetStatusCount() < 1)
            {
                instance.statusEntries.Remove(targetEntry);
            }
        }
    }
예제 #2
0
    public static void RemoveStatus(GameObject target, Status targetStatus)
    {
        int         count       = instance.statusEntries.Count;
        StatusEntry targetEntry = null;

        for (int i = 0; i < count; i++)
        {
            if (instance.statusEntries[i].target == target)
            {
                targetEntry = instance.statusEntries[i];
                //statusManager.statusEntries.Remove(statusManager.statusEntries[i]);
                break;
            }
        }

        if (targetEntry != null)
        {
            targetEntry.RemoveStatus(targetStatus);
            if (targetEntry.GetStatusCount() < 1)
            {
                instance.statusEntries.Remove(targetEntry);
            }
        }
    }