Esempio n. 1
0
    public static void Init()
    {
        if (m_Init)
        {
            return;
        }
        m_Init = true;
        var text  = Resources.Load <TextAsset>(m_Path).text;
        var infos = text.Split('\n');

        for (int i = 2; i < infos.Length; i++)
        {
            var info = infos[i];
            if (info == "")
            {
                break;
            }
            var          data   = info.Split('\t');
            PartIDConfig config = new PartIDConfig();
            config.part  = (string)Helper.ParseString(data[0], "string");
            config.value = (int)Helper.ParseString(data[1], "int");

            m_Dic[config.part] = config;
        }
    }
Esempio n. 2
0
    public void PutBaseObject(ref BaseObject _base)
    {
        _base.UnInit();
        int key = PartIDConfig.Get(_base.GetType().ToString()).value;

        m_BaseObjectPoolDic[key].Put(_base);
        _base = null;
    }
Esempio n. 3
0
    public T GetBaseObject <T>(BaseObject _obj) where T : BaseObject, new()
    {
        T   value = default(T);
        int key   = PartIDConfig.Get(typeof(T).ToString()).value;

        value = m_BaseObjectPoolDic[key].Get() as T;
        value?.Init(_obj);
        return(value);
    }
Esempio n. 4
0
    private void InitBaseObjectPoolDic()
    {
        m_BaseObjectPoolDic = new Dictionary <int, BaseObjectPool>();
        var keys = PartIDConfig.GetKeys();

        foreach (var key in keys)
        {
            int            id   = PartIDConfig.Get(key).value;
            BaseObjectPool pool = new BaseObjectPool(id, key, GloblConfig.MAX_POOL_COUNT);
            m_BaseObjectPoolDic[id] = pool;
        }
    }
Esempio n. 5
0
    public static PartIDConfig Get(string id)
    {
        Init();
        PartIDConfig value = null;

        if (m_Dic.ContainsKey(id))
        {
            value = m_Dic[id];
        }
        else
        {
            Debug.LogError(id + "   不存在");
        }
        return(value);
    }