コード例 #1
0
        /// <summary>
        /// 场景中加载怪物模型(单个添加)
        /// </summary>
        /// <returns>The load point.</returns>
        /// <param name="info">Info.</param>
        /// <param name="index">Index.</param>
        /// <param name="callback">Callback.</param>
        public void SceneLoadPoint(MonsterType type, MonsterInfo info, int index)
        {
            if (mapId == 0)
            {
                LogMgr.LogError("请先选择地图!");
                return;
            }
            if (!parentObj.ContainsKey(type) || parentObj[type] == null)
            {
                GameObject p = (GameObject)UnityEngine.Object.Instantiate(CoreEntry.gResLoader.Load(_parentPrefab));
                p.name = parentStr[type];
                p.transform.position = Vector3.zero;
                parentObj[type]      = p;
            }

            MonsterItem tt = new MonsterItem();

            if (!items.ContainsKey(type))
            {
                items[type] = new Dictionary <int, GameObject>();
            }
            if (items[type].ContainsKey(info.index))
            {
                tt = items[type][info.index].GetComponent <MonsterItem>();
                tt.SetV(info);
            }
            else
            {
                GameObject obj = (GameObject)Instantiate(CoreEntry.gResLoader.Load(_itemPrefab));
                obj.name             = info.name.ToString();
                tt                   = obj.GetComponent <MonsterItem>();
                obj.transform.parent = parentObj[type].transform;
                tt.RefreshData(info);
                items[type][info.index] = obj;
            }

            //         if (!items.ContainsKey(type))
            //         {
            //             items[type] = new List<GameObject>();
            //         }
            //if (items[type].Count >= index + 1) {
            //	tt =  items[type][index].GetComponent<MonsterItem>();
            //	tt.SetV(info[index]);

            //} else {
            //	GameObject obj = (GameObject)UnityEngine.Object.Instantiate(Resources.Load(itemStrPath[type]));
            //	obj.name = index.ToString();
            //	tt = obj.GetComponent<MonsterItem>();
            //	obj.transform.parent = parentObj[type].transform;
            //	tt.RefreshData(info[index]);
            //	items[type].Add(obj);
            //}
            //         tt.gameObject.name = item.Value[i].name;

            //         return info [index];
        }
コード例 #2
0
 public void SceneLoadPoint(Dictionary <MonsterType, Dictionary <int, MonsterInfo> > all)
 {
     foreach (var item in all)
     {
         if (!parentObj.ContainsKey(item.Key) || parentObj[item.Key] == null)
         {
             GameObject p = (GameObject)UnityEngine.Object.Instantiate(CoreEntry.gResLoader.Load(_parentPrefab));
             p.name = parentStr[item.Key];
             p.transform.position = Vector3.zero;
             parentObj[item.Key]  = p;
         }
         if (!items.ContainsKey(item.Key))
         {
             items[item.Key] = new Dictionary <int, GameObject>();
         }
         if (item.Value.Count > 0)
         {
             foreach (var _item in item.Value)
             {
                 MonsterItem tt = new MonsterItem();
                 if (items[item.Key].ContainsKey(_item.Value.index))
                 {
                     tt = items[item.Key][_item.Value.index].GetComponent <MonsterItem>();
                     tt.RefreshData(_item.Value);
                 }
                 else
                 {
                     GameObject obj = (GameObject)UnityEngine.Object.Instantiate(CoreEntry.gResLoader.Load(_itemPrefab));
                     obj.name             = _item.Value.name.ToString();
                     tt                   = obj.GetComponent <MonsterItem>();
                     obj.transform.parent = parentObj[item.Key].transform;
                     tt.RefreshData(_item.Value);
                     items[item.Key][_item.Value.index] = obj;
                 }
             }
         }
     }
 }