Exemple #1
0
        private void CreateCopyObj(int dataId)
        {
            if (-2 == dataId)
            {
                ModelRoot.DestroyFakeCharacter();
                return;
            }

            if (-1 == dataId)
            {
                var player = ObjManager.Instance.MyPlayer;
                if (null != player)
                {
                    if (null == GameLogic.Instance)
                    {
                        ModelRoot.DestroyFakeCharacter();
                        return;
                    }
                    var tableId   = ObjManager.Instance.MyPlayer.GetDataId();
                    var tableChar = Table.GetCharacterBase(tableId);

                    ModelRoot.Create(player.GetDataId(), player.EquipList, character =>
                    {
                        character.SetScale(tableChar.CameraMult / 10000.0f);
                        var pos = character.gameObject.transform.localPosition + new Vector3(0, tableChar.CameraHeight / 10000.0f, 0);
                        character.gameObject.transform.localPosition = pos;
                        character.PlayAnimation(OBJ.CHARACTER_ANI.STAND);
                    });
                }

                return;
            }

            if (null != ModelRoot.Character && dataId == ModelRoot.Character.GetDataId())
            {
                return;
            }


            var tableNpc = Table.GetCharacterBase(dataId);

            if (null == tableNpc)
            {
                return;
            }

            ModelRoot.Create(dataId, null, character =>
            {
                character.SetScale(tableNpc.CameraMult / 10000.0f);
                var pos = character.gameObject.transform.localPosition + new Vector3(0, tableNpc.CameraHeight / 10000.0f, 0);
                character.gameObject.transform.localPosition = pos;
                character.PlayAnimation(OBJ.CHARACTER_ANI.STAND);
            });
        }
Exemple #2
0
        private void CreateElf(int itemId)
        {
            if (ModelRoot == null || itemId < 0)
            {
                return;
            }

            var tbElf = Table.GetElf(itemId);

            if (tbElf == null)
            {
                return;
            }

            var dataId   = tbElf.ElfModel;
            var tableNpc = Table.GetCharacterBase(dataId);

            if (null == tableNpc)
            {
                return;
            }

            var offset = tableNpc.CameraHeight / 10000.0f;

            ModelRoot.DestroyFakeCharacter();

            ModelRoot.Create(dataId, null, character =>
            {
                character.SetScale(tableNpc.CameraMult / 10000.0f);
                character.ObjTransform.localPosition = new Vector3(0, offset, 0);
            });
        }
Exemple #3
0
        private void GenerateFakeModel(int dataId)
        {
            if (-1 == dataId)
            {
                ModelRoot.DestroyFakeCharacter();
                return;
            }

            if (null != ModelRoot.Character && dataId == ModelRoot.Character.GetDataId())
            {
                return;
            }


            var tableNpc = Table.GetCharacterBase(dataId);

            if (null == tableNpc)
            {
                return;
            }

            ModelRoot.Create(dataId, null, character =>
            {
                character.SetScale(tableNpc.CameraMult / 10000.0f);
                var pos = character.gameObject.transform.localPosition + new Vector3(0, tableNpc.CameraHeight / 10000.0f, 0);
                character.gameObject.transform.localPosition = pos;
                character.PlayAnimation(OBJ.CHARACTER_ANI.STAND);
            });
        }
Exemple #4
0
        private void OnAnimalModelRefresh(IEvent ievent)
        {
            var e = ievent as ElfModelRefreshEvent;

            if (ModelRoot != null)
            {
                ModelRoot.DestroyFakeCharacter();
            }
            var dataId = e.CharId;

            if (dataId == -1)
            {
                return;
            }
            var tableNpc = Table.GetCharacterBase(dataId);

            if (null == tableNpc)
            {
                return;
            }

            var offset = tableNpc.CameraHeight / 10000.0f;

            ModelRoot.Create(dataId, null, character =>
            {
                character.SetScale(tableNpc.CameraMult / 10000.0f);
                character.ObjTransform.localPosition = new Vector3(0, offset, 0);
                ModelDrag.Target = character.transform;
            });
            InfoScroll.ResetPosition();
        }
        private void InitModel(int dataId)
        {
            if (ModelRoot != null)
            {
                ModelRoot.DestroyFakeCharacter();
            }
            if (-1 == dataId)
            {
                return;
            }
            var tbBook = Table.GetHandBook(dataId);

            if (tbBook == null)
            {
                return;
            }

            var tableNpc = Table.GetCharacterBase(tbBook.NpcId);

            if (null == tableNpc)
            {
                return;
            }
            if (ModelRoot != null)
            {
                ModelRoot.Create(tbBook.NpcId, null, character =>
                {
                    character.SetScale(tableNpc.CameraMult / 10000f);
                    character.ObjTransform.localRotation = Quaternion.identity;
                    ModelRootTransform.localPosition     = ModelRootOriPos + new Vector3(0, tableNpc.CameraHeight / 10000.0f, 0);
                    character.PlayAnimation(OBJ.CHARACTER_ANI.STAND);
                });
            }
        }
Exemple #6
0
        private void OnRankRefreshModelView(IEvent ievent)
        {
            var e    = ievent as RankRefreshModelView;
            var info = e.Info;

            ModelRoot.DestroyFakeCharacter();
            ItemBaseData elfData = null;
            var elfId            = -1;

            if (info.Equips.ItemsChange.TryGetValue((int)eBagType.Elf, out elfData))
            {
                elfId = elfData.ItemId;
            }

            if (AnimModelRoot)
            {
                AnimModelRoot.DestroyModel();
            }

            if (e.Iselfrank)
            {
                var tbElf = Table.GetElf(elfId);
                if (tbElf == null)
                {
                    return;
                }
                var dataId = tbElf.ElfModel;
                if (dataId == -1)
                {
                    return;
                }
                var tableNpc = Table.GetCharacterBase(dataId);
                if (null == tableNpc)
                {
                    Logger.Error("In CreateFormationElfModel(), null == tableNpc!!!!!!!");
                    return;
                }

                var offset  = tableNpc.CameraHeight / 10000.0f;
                var colorId = -1;
                if (elfData.Exdata.Count > (int)ElfExdataDefine.StarLevel)
                {
                    colorId = GameUtils.GetElfStarColorId(tbElf.ElfModel, elfData.Exdata[(int)ElfExdataDefine.StarLevel]);
                }
                ModelRoot.CreateWithColor(dataId, colorId, null, character =>
                {
                    character.SetScale(tableNpc.CameraMult / 10000.0f);
                    character.ObjTransform.localPosition = new Vector3(0, offset - 0.48f, 0);
                });
            }
            else if (e.IsMountRank)
            {
                CreateMountModel(info.MountId);
            }
            else
            {
                ModelRoot.Create(info.TypeId, info.EquipsModel, character => { ModelDrag.Target = character.transform; },
                                 elfId, true);
            }
        }
Exemple #7
0
        private void CreateFakeObj(IEvent ievent)
        {
            int dataId = (ievent as TowerRefreshBoss_Event).idBosd;

            if (ModelRoot != null)
            {
                ModelRoot.DestroyFakeCharacter();
            }
            if (-1 == dataId)
            {
                return;
            }

            var tableNpc = Table.GetCharacterBase(dataId);

            if (null == tableNpc)
            {
                return;
            }
            if (ModelRoot != null)
            {
                ModelRoot.Create(dataId, null, character =>
                {
                    character.SetScale(tableNpc.CameraMult / 10000f);
                    character.ObjTransform.localRotation = Quaternion.identity;
                    ModelRootTransform.localPosition     = ModelRootOriPos + new Vector3(0, tableNpc.CameraHeight / 10000.0f, 0);
                    character.PlayAnimation(OBJ.CHARACTER_ANI.STAND);
                });
            }
            if (BossNameLabel != null)
            {
                BossNameLabel.text = tableNpc.Name;
            }
        }
Exemple #8
0
        public void CreateFakeCharacter()
        {
            DestroyFakeCharacter();

            var player = ObjManager.Instance.MyPlayer;

            ModelRoot.Create(player.GetDataId(), player.EquipList,
                             character => { ModelDrag.Target = character.gameObject.transform; });
        }
Exemple #9
0
        private void UpdateModelView(int type, Dictionary <int, int> equips, int elfId)
        {
            if (ModelRoot.Character != null)
            {
                ModelRoot.DestroyFakeCharacter();
            }

            ModelRoot.Create(type, equips, character => { ModelDrag.Target = character.transform; }, elfId, true);
        }
Exemple #10
0
        private void CreateCharacterModel()
        {
            DestroyCharacterModel();
            var player     = ObjManager.Instance.MyPlayer;
            var elfId      = -1;
            var elfColorId = -1;

            GameUtils.GetFightElfId(ref elfId, ref elfColorId);
            ModelRoot.Create(player.GetDataId(), player.EquipList, character => { ModelDrag.Target = character.transform; });
        }
Exemple #11
0
        private void CreateCopyObj(int dataId)
        {
            if (-1 == dataId)
            {
                ModelRoot.DestroyFakeCharacter();
                return;
            }


            ModelRoot.Create(dataId, null, character =>
            {
                character.transform.forward = Vector3.back;
                character.PlayAnimation(OBJ.CHARACTER_ANI.STAND);
                DrageRotate.Target = character.transform;
            });
        }
Exemple #12
0
        private void OnRefreshRankModelView(IEvent ievent)
        {
            var e    = ievent as BattleUnionRefreshModelViewLogic;
            var info = e.Info;

            ModelRoot.DestroyFakeCharacter();
            ItemBaseData elfData = null;
            var elfId            = -1;

            if (info.Equips.ItemsChange.TryGetValue((int)eBagType.Elf, out elfData))
            {
                elfId = elfData.ItemId;
            }
            ModelRoot.Create(info.TypeId, info.EquipsModel, character => { ModelDrag.Target = character.transform; }, elfId,
                             true);
        }
Exemple #13
0
        public void CreateCharacterModel()
        {
            DestroyCharacterModel();

            var player = ObjManager.Instance.MyPlayer;

            var elf = UIManager.Instance.GetController(UIConfig.ElfUI).GetDataModel("") as ElfDataModel;

            if (elf == null)
            {
                return;
            }
            var elfId = elf.FightElf.ItemId;

            ModelRoot.Create(player.GetDataId(), player.EquipList, character => { ModelDrag.Target = character.transform; },
                             elfId, true);
        }
Exemple #14
0
        private void CreateCopyObj(int dataId)
        {
            if (-1 == dataId)
            {
                ModelRoot.DestroyFakeCharacter();
                return;
            }

            var tbChar = Table.GetCharacterBase(dataId);


            ModelRoot.Create(dataId, null, character =>
            {
                character.transform.forward = Vector3.back;
                character.PlayAnimation(OBJ.CHARACTER_ANI.STAND);
                character.transform.localScale = Vector3.one * tbChar.CameraMult * 0.0001f;
                DrageRotate.Target             = character.transform;
            });
        }
        private void OnModelRefresh(IEvent ievent)
        {
            if (ModelRoot == null)
            {
                return;
            }

            var e = ievent as FubenModelRefreshEvent;

            if (ModelRoot != null)
            {
                ModelRoot.DestroyFakeCharacter();
            }

            var dataId = e.CharId;

            if (dataId == -1)
            {
                return;
            }
            var tableNpc = Table.GetCharacterBase(dataId);

            if (null == tableNpc)
            {
                return;
            }

            var offset = tableNpc.CameraHeight / 10000.0f;

            ModelRoot.Create(dataId, null, character =>
            {
                character.SetScale(tableNpc.CameraMult / 10000.0f);
                character.ObjTransform.localPosition = new Vector3(0, offset, 0);
                var pos = new Vector3(0, tableNpc.CameraHeight / 10000.0f, 0);
                character.gameObject.transform.localPosition += pos;
            });
        }
Exemple #16
0
        private void FakeObjectCreate(int dataId)
        {
            ModelRoot.DestroyFakeCharacter();
            if (-1 == dataId)
            {
                return;
            }

            var tableNpc = Table.GetCharacterBase(dataId);

            if (null == tableNpc)
            {
                return;
            }

            ModelRoot.Create(dataId, null, character =>
            {
                character.SetScale(tableNpc.CameraMult / 10000.0f);
                character.ObjTransform.localRotation = Quaternion.identity;
                rootTransModel.localPosition         = rootOriPosModel + new Vector3(0, tableNpc.CameraHeight / 10000.0f, 0);
                character.PlayAnimation(OBJ.CHARACTER_ANI.STAND);
                DragRorate.Target = character.transform;
            });
        }
Exemple #17
0
    //�ӳ���ObjCharacter
    private void CreateChar(int dataId,
                            bool bsync,
                            Dictionary <int, int> dictEquip    = null,
                            Action <ObjFakeCharacter> callback = null,
                            int elfId = -1,
                            int layer = 5)
    {
        if (null != BackgroundWidget)
        {
            if (null != BackgroundWidget.drawCall)
            {
                CustomRenderQueue  = BackgroundWidget.drawCall.renderQueue + +1;
                CustomRenderQueue += BackgroundWidget.SkippedRenderQueue / 2;
            }
        }

        Character = ObjFakeCharacter.Create(dataId, dictEquip, character =>
        {
            if (Character.GetObjId() != character.GetObjId())
            {
                character.Destroy();
                return;
            }

            var xform = Character.gameObject.transform;

            //Character.gameObject.SetLayerRecursive(LayerMask.NameToLayer(GAMELAYER.UI));
            xform.parent        = gameObject.transform;
            xform.localPosition = Vector3.zero;
            xform.localScale    = Vector3.one;
            xform.forward       = Vector3.back;

            if (null != callback)
            {
                callback(Character);

                if (-1 != elfId)
                {
                    if (null == ElfCreator)
                    {
                        ElfCreator = gameObject.AddComponent <CreateFakeCharacter>();
                        ElfCreator.CustomRenderQueue = CustomRenderQueue;
                    }
                    ElfCreator.DestroyFakeCharacter();

                    var tbElf = Table.GetElf(elfId);
                    if (tbElf == null)
                    {
                        return;
                    }
                    var elfDataId      = tbElf.ElfModel;
                    var tableCharacter = Table.GetCharacterBase(elfDataId);
                    if (null == tableCharacter)
                    {
                        return;
                    }

                    var tempUniqueId = UniqueId;
                    ElfCreator.Create(elfDataId, null, elf =>
                    {
                        if (character.State == ObjState.Deleted)
                        {
                            elf.Destroy();
                            return;
                        }

                        if (!gameObject.active)
                        {
                            ElfCreator.Character = null;
                            elf.Destroy();
                            return;
                        }

                        if (null == Character)
                        {
                            ElfCreator.Character = null;
                            elf.Destroy();
                            return;
                        }

//                      if (tempUniqueId != UniqueId)
//                      {
//                          ElfCreator.Character = null;
//                          elf.Destroy();
//                          return;
//                      }

                        var t    = elf.gameObject.transform;
                        t.parent = Character.gameObject.transform.parent;

                        t.forward = Vector3.back;
                        //var angle = Character.gameObject.transform.localRotation.eulerAngles.y - 90.0f;
                        var scale = tbElf.CameraZoom * 0.0001f;
                        if (scale <= 0)
                        {
                            Logger.Debug("!!!tbElf.CameraZoom<=0");
                            scale = 1;
                        }
                        var heightOffset = tbElf.Offset * 0.0001f;
                        var temp         = ElfOffset + new Vector3(0, heightOffset, 0f);
                        t.localPosition  = temp;
                        t.localScale     = Vector3.one * scale;

                        t.parent = Character.gameObject.transform.parent;
                    }, -1, false, layer);
                }
            }
        }, layer, bsync, CustomRenderQueue, UniqueId++);
    }
Exemple #18
0
    private void CreateModel(Dictionary <int, int> equipList)
    {
        var player         = ObjManager.Instance.MyPlayer;
        var controllerBase = UIManager.Instance.GetController(UIConfig.NewStrongUI);

        if (controllerBase == null)
        {
            return;
        }
        var ctrl = controllerBase;

        if (ctrl == null)
        {
            return;
        }

        ModelRoot.Create(player.GetDataId(), equipList, (character) =>
        {
            DragRotate.Target = character.transform;
            var roleId        = PlayerDataManager.Instance.GetRoleId();
            int effectId      = 0;
            if ((int)ctrl.CallFromOtherClass("mChange", null) == 1)
            {
                if (roleId == 0)
                {
                    effectId = 404;
                }
                else if (roleId == 1)
                {
                    effectId = 402;
                }
                else
                {
                    effectId = 403;
                }
            }
            else
            {
                if (roleId == 0)
                {
                    effectId = 405;
                }
                else if (roleId == 1)
                {
                    effectId = 405;
                }
                else
                {
                    effectId = 405;
                }
            }

            var tableEffct      = Table.GetEffect(effectId);
            EffectRef effectRef = new EffectRef();
            effectRef.TypeId    = tableEffct.Id;
            effectRef.RefCount++;
            EffectManager.Instance.CreateEffect(tableEffct, character, null, (e, id) =>
            {
                var avatar = character.GetComponent <ActorAvatar>();
                e.gameObject.SetLayerRecursive(avatar.Layer);
                e.gameObject.SetRenderQueue(avatar.RenderQueue);
            });
        }, -1, true, 5, true, -1, -1);
    }