コード例 #1
0
        private void CreateCharRadar(MapRadarDataModel data, string prefab)
        {
            var id = data.CharacterId;

            ComplexObjectPool.NewObject(prefab, o =>
            {
                if (data.CharType != 0)
                {
                    var charObj = ObjManager.Instance.FindCharacterById(id);
                    if (charObj == null || charObj.Dead)
                    {
                        ComplexObjectPool.Release(o);
                        return;
                    }
                }
                var oTransform = o.transform;
                oTransform.SetParentEX(CharCursor.transform);
                oTransform.localScale = Vector3.one;
                o.SetActive(true);
                var i    = o.GetComponent <ListItemLogic>();
                i.Item   = data;
                var r    = o.GetComponent <BindDataRoot>();
                r.Source = data;

                itemLogicDict[data.CharacterId] = i;
            });
        }
コード例 #2
0
        private void CreateCharRadar(MapRadarDataModel data, string prefab)
        {
            var id = data.CharacterId;

            ComplexObjectPool.NewObject(prefab, o =>
            {
                var oTransform = o.transform;
                oTransform.SetParentEX(CharCursor.transform);
                oTransform.localScale = Vector3.one;
                o.SetActive(true);
                var i    = o.GetComponent <ListItemLogic>();
                i.Item   = data;
                var r    = o.GetComponent <BindDataRoot>();
                r.Source = data;

                itemLogicDict[data.CharacterId] = i;
            });
        }
コード例 #3
0
        private void CreateMinimapCharacter(Vector3 pos, int type, ulong id, int npcId)
        {
            MapRadarDataModel radarDataModel;

            if (!dataModelsDict.TryGetValue(id, out radarDataModel))
            {
                radarDataModel             = new MapRadarDataModel();
                radarDataModel.CharacterId = id;
                radarDataModel.CharType    = 0;
                radarDataModel.Name        = "";
                if (npcId != -1)
                {
                    var tbNpc = Table.GetNpcBase(npcId);
                    if (tbNpc != null)
                    {
                        radarDataModel.Name = tbNpc.Name;
                    }

                    var mapTrans   = SceneManager.Instance.GetMapTransferList(GameLogic.Instance.Scene.SceneTypeId);
                    var enumerator = mapTrans.GetEnumerator();
                    while (enumerator.MoveNext())
                    {
                        if (enumerator.Current != null && enumerator.Current.NpcID == npcId)
                        {
                            radarDataModel.Pos = new Vector3(enumerator.Current.OffsetX, enumerator.Current.OffsetY, 0.0f);
                            break;
                        }
                    }
                }

                var prefab = "";
                if (type == 0)
                { // player
                    prefab = "UI/SceneMap/MieShiMapPlayer.prefab";
                }
                else if (type == 1)
                { // 炮塔
                    prefab = "UI/SceneMap/MieShiMapPaoTa.prefab";
                }
                else if (type == 2)
                { // 圣坛
                    prefab = "UI/SceneMap/MieShiMapShengTan.prefab";
                }
                else if (type == 3)
                { // Boss
                    prefab = "UI/SceneMap/MieShiMapBOSS.prefab";
                }
                else if (type == 4)
                { // monster
                    prefab = "UI/SceneMap/MieShiMapMonster.prefab";
                }
                else if (type == 5)
                { // 宝箱
                    prefab = "UI/SceneMap/MieShiMapBaoXiang.prefab";
                }

                dataModelsDict[id] = radarDataModel;

                DataModel.CharaModels.Add(radarDataModel);
                var e1 = new MieShiSceneMapRadar(radarDataModel, 1, prefab);
                EventDispatcher.Instance.DispatchEvent(e1);
            }
            else
            {
                radarDataModel.CharType = 0;
            }

            radarDataModel.Loction = ConvertSceneToMap(pos);
        }
コード例 #4
0
        private void CreateMinimapCharacter(Vector3 pos, int type, ulong id, int npcId)
        {
            MapRadarDataModel radarDataModel = FindDataModel(id);

            if (radarDataModel == null)
            {
                radarDataModel             = new MapRadarDataModel();
                radarDataModel.CharacterId = id;
                radarDataModel.CharType    = 1;
                //  radarDataModel.Name = "";

                /**  if (npcId != -1)
                 * {
                 *    var tbNpc = Table.GetNpcBase(npcId);
                 *    if (tbNpc != null)
                 *    {
                 *        radarDataModel.Name = tbNpc.Name;
                 *    }
                 *
                 *    var mapTrans = SceneManager.Instance.GetMapTransferList(GameLogic.Instance.Scene.SceneTypeId);
                 *    var enumerator = mapTrans.GetEnumerator();
                 *    while (enumerator.MoveNext())
                 *    {
                 *        if (enumerator.Current != null && enumerator.Current.NpcID == npcId)
                 *        {
                 *            radarDataModel.Pos = new Vector3(enumerator.Current.OffsetX, enumerator.Current.OffsetY, 0.0f);
                 *            break;
                 *        }
                 *    }
                 * }**/
                radarDataModel.Loction = ConvertSceneToMap(pos);
                //   dataModelsDict[id] = radarDataModel;
                dataModelsList.Add(radarDataModel);
                DataModel.CharaModels.Add(radarDataModel);
            }
            else
            {
                radarDataModel.Loction  = ConvertSceneToMap(pos);
                radarDataModel.CharType = 1;
                //  dataModelsDict[id].CharType = 1;
                //   dataModelsDict[id].Loction = ConvertSceneToMap(pos);
            }
            var prefab = "";

            if (type == 0)//player
            {
                prefab = "UI/SceneMap/MieShiMapPlayer.prefab";
            }
            else if (type == 1)//仇人
            {
                prefab = "UI/SceneMap/ChickenMapEnemy.prefab";
            }
            else if (type == 2)//鸡王
            {
                prefab = "UI/SceneMap/ChickenMapBoss.prefab";
            }
            else if (type == 3)//魔王
            {
                prefab = "UI/SceneMap/ChickenMapKing.prefab";
            }
            var e1 = new ChickenSceneMapRadar(radarDataModel, 1, prefab);

            EventDispatcher.Instance.DispatchEvent(e1);
        }