public FlgBehavior GetSleep()
    {
        FlgBehavior result = null;

        if (sleepList.Count > 0)
        {
            result = sleepList.GetForwardRef();
            activeList.Add(result);
            sleepList.DeleteForward();
        }
        else if (prefab != null)
        {
            activeList.Add(result = Instantiate(prefab));
        }

        if (result != null)
        {
            result.Init();
        }

        return(result);
    }
    public FlgBehavior GetSleepPos(Vector3 pos)
    {
        FlgBehavior result = null;

        if (sleepList.Count > 0)
        {
            var it = sleepList.GetForwardRef();
            result = it;
            activeList.Add(result);
            sleepList.DeleteForward();
        }
        else if (prefab != null)
        {
            activeList.Add(result = Instantiate(prefab));
        }
        result.trans.position = pos;
        if (result != null)
        {
            result.Init();
        }

        return(result);
    }