Beispiel #1
0
        public static GameObject GetPrefabByName(string name)
        {
            int index;

            if (IndexList.ContainsKey(name))
            {
                index = IndexList[name];
                return(GetPrefabByIndex(index));
            }

            var npc = LuaNpcGetter.GetNpcByName(name);

            var list = npc.Pairs.ToArray();

            if (list.Length == 0)
            {
                return(GetError());
            }

            index = LuaNpcGetter.GetNpcId(npc);
            IndexList.Add(name, index);

            if (PrefabList.ContainsKey(index))
            {
                return(PrefabList[index]);
            }
            var path = LuaNpcGetter.GetNpcModel(npc);

            if (string.IsNullOrEmpty(path))
            {
                Debug.LogError("Loading prefab error. Cant find path. Model id: " + index);
                return(GetError());
            }
            var prefab = LoadPrefab(PrefabPath + path);

            PrefabList.Add(index, prefab);
            return(prefab);
        }
Beispiel #2
0
        public static int GetIndexByName(string name)
        {
            if (IndexList.ContainsKey(name))
            {
                return(IndexList[name]);
            }

            var npc = LuaNpcGetter.GetNpcByName(name);


            var list = npc.Pairs.ToArray();

            if (list.Length == 0)
            {
                return(GetErrorIndex());
            }

            var index = LuaNpcGetter.GetNpcId(npc);

            IndexList.Add(name, index);

            return(index);
        }