예제 #1
0
    public void RemoveSoul(Soul toRemove)
    {
        bool bRemoveSuccessfully = lstSoul.Remove(toRemove);

        if (bRemoveSuccessfully == false)
        {
            Debug.Log("Couldn't remove " + toRemove.sName + " from " + toRemove.GetNameOfAppliedTo() + " since it's already removed");
            return;
        }

        toRemove.OnRemoval();

        //Let others know that the visible soul MAY have changed (not necessarily)
        subVisibleSoulUpdate.NotifyObs(this);

        LetOwnerNotifySoulRemoved(toRemove);

        //Debug.Log("After removing " + toRemove.sName);

        if (ContSkillEngine.bDEBUGENGINE)
        {
            PrintAllSoul();
        }
    }