public GameObject GetGameObject(string _path, Action <GameObject> _callBack)
        {
            GameObjectFactoryUnit unit;

            if (!dic.TryGetValue(_path, out unit))
            {
                unit = new GameObjectFactoryUnit(_path);

                dic.Add(_path, unit);
            }

            return(unit.GetGameObject(_callBack));
        }
        public void PreloadGameObject(string _path, Action _callBack)
        {
            GameObjectFactoryUnit unit;

            if (!dic.TryGetValue(_path, out unit))
            {
                unit = new GameObjectFactoryUnit(_path);

                dic.Add(_path, unit);
            }

            unit.GetGameObject(_callBack);
        }
        public bool Hold(string _path)
        {
            if (!dic.ContainsKey(_path))
            {
                return(false);
            }
            else
            {
                GameObjectFactoryUnit unit = dic[_path];

                unit.AddUseNum();

                return(true);
            }
        }
        public GameObject GetGameObject(string _path, Action <GameObject, string> _callBack)
        {
            GameObjectFactoryUnit unit;

            if (!dic.ContainsKey(_path))
            {
                unit = new GameObjectFactoryUnit(_path);

                dic.Add(_path, unit);
            }
            else
            {
                unit = dic [_path];
            }

            return(unit.GetGameObject(_callBack));
        }
        public void PreloadGameObject(string _path, Action <string> _callBack)
        {
            GameObjectFactoryUnit unit;

            if (!dic.ContainsKey(_path))
            {
                unit = new GameObjectFactoryUnit(_path);

                dic.Add(_path, unit);
            }
            else
            {
                unit = dic [_path];
            }

            unit.PreloadGameObject(_callBack);
        }