Example #1
0
        public static IModel Get(int index, EModelGroup group = EModelGroup.Base)
        {
            IModel mod;

#if UNITY_EDITOR
            if (m_instance.m_dic[(int)group].ContainsKey(index))
            {
                mod = m_instance.m_dic[(int)group][index].Get();
            }
            else
            {
                Log.i(ELogType.Model, "LaoHan:ModelManager dont has this index;" + index);
                var pool = new ModelPool();
                pool.index      = index;
                pool.storeCount = 1;
                m_instance.m_dic[(int)group].Add(index, pool);
                pool.loadHandler = m_instance.loadHandler;
                pool.Initialize(() => { });
                mod = Get(index, group);
            }
#else
            mod = m_instance.m_dic[(int)group][index].Get();
#endif
            if (getHandler != null)
            {
                getHandler(index);
            }
            return(mod);
        }
Example #2
0
        public static void Store(int id, int count, EModelGroup group, EventHandler onStoreHandler)
        {
            var g = m_instance.m_dic[(int)group];

            if (g.ContainsKey(id))
            {
                g[id].Add(count);
                onStoreHandler();
            }
            else
            {
                var pool = new ModelPool();
                pool.index      = id;
                pool.storeCount = count;
                pool.group      = group;
                g.Add(id, pool);
                pool.loadHandler = m_instance.loadHandler;
                pool.Initialize(onStoreHandler);
            }
        }