Example #1
0
    //更改显示位置
    public void ChangeShowPos(Protomsg.UnitDatas data, float scale)
    {
        UnityEntity unity = m_UnityEntitys[data.ID];

        if (unity != null)
        {
            unity.ChangeShowPos(scale, data.X, data.Y);
        }
    }
Example #2
0
    //更改单位数据
    public void ChangeUnityEntity(Protomsg.UnitDatas data)
    {
        UnityEntity unity = m_UnityEntitys[data.ID];

        if (unity != null)
        {
            unity.Change(data);
        }
    }
Example #3
0
    public int WatchVedioAddDiamond;       //观看视频能获得的砖石数
    public UnityEntity(Protomsg.UnitDatas data, GameScene scene)
    {
        //m_AllWords = new Dictionary<WordsInfo, WordsInfo>();

        RotateSpeed = 480;

        m_Scene                    = scene;
        Name                       = data.Name;
        GuildName                  = data.GuildName;
        Level                      = data.Level;
        Experience                 = data.Experience;
        MaxExperience              = data.MaxExperience;
        HP                         = data.HP;
        MP                         = data.MP;
        MaxHP                      = data.MaxHP;
        MaxMP                      = data.MaxMP;
        ControlID                  = data.ControlID;
        AttackAnim                 = data.AttackAnim;
        ModeType                   = data.ModeType;
        ID                         = data.ID;
        TypeID                     = data.TypeID;
        TeamID                     = data.TeamID;
        GuildID                    = data.GuildID;
        GroupID                    = data.GroupID;
        Gold                       = data.Gold;
        Diamond                    = data.Diamond;
        RemainReviveTime           = data.RemainReviveTime;
        RemainExperience           = data.RemainExperience;
        ReviveGold                 = data.ReviveGold;
        ReviveDiamond              = data.ReviveDiamond;
        SkillEnable                = data.SkillEnable;
        ItemEnable                 = data.ItemEnable;
        RemainWatchVedioCountToday = data.RemainWatchVedioCountToday;
        WatchVedioAddDiamond       = data.WatchVedioAddDiamond;
        CharacterID                = data.Characterid;

        X             = data.X;
        Y             = data.Y;
        Z             = data.Z;
        IsMirrorImage = data.IsMirrorImage;
        AttackRange   = data.AttackRange;
        DirectionX    = data.DirectionX;
        DirectionY    = data.DirectionY;

        AttackMode         = data.AttackMode; //攻击模式(1:和平模式 2:组队模式 3:全体模式 4:阵营模式(玩家,NPC) 5:行会模式)
        UnitType           = data.UnitType;   //需要数据 ModeType
        AttackAcpabilities = data.AttackAcpabilities;
        IsMain             = data.IsMain;
        IsDeath            = data.IsDeath;
        Camp = data.Camp;
        //InOtherSpace = data.InOtherSpace;
        AttackTime = data.AttackTime;
        if (data.SD.Count > 0)
        {
            m_SkillDatas = new Protomsg.SkillDatas[data.SD.Count];
            int index = 0;
            foreach (var item in data.SD)
            {
                m_SkillDatas[index++] = item;
            }
        }
        FreshBuff(data.BD);
        FreshItemSkill(data.ISD);


        m_Mode.transform.position = new Vector3(data.X, data.Z, data.Y);

        AnimotorState = data.AnimotorState;
        AnimotorPause = data.AnimotorPause;

        if (data.IsMiss)
        {
            this.ShowMiss();
        }
    }
Example #4
0
    //创建新单位
    public void CreateUnityEntity(GameScene gs, Protomsg.UnitDatas data)
    {
        UnityEntity hero = new UnityEntity(data, gs);

        m_UnityEntitys[hero.ID] = hero;
    }
Example #5
0
    public void Change(Protomsg.UnitDatas data)
    {
        // 更新位置
        if (m_Mode != null)
        {
            //Vector3 add = new Vector3(data.X, 0, data.Y);
            X             += data.X;
            Y             += data.Y;
            Z             += data.Z;
            IsMirrorImage += data.IsMirrorImage;
            AttackRange   += data.AttackRange;
            //更新位置
            m_Mode.transform.position = new Vector3(X, Z, Y);

            AttackTime    += data.AttackTime;
            AnimotorState += data.AnimotorState;
            AnimotorPause += data.AnimotorPause;

            //更新方向
            DirectionX += data.DirectionX;
            DirectionY += data.DirectionY;
            var dir = new Vector3(DirectionX, 0, DirectionY);
            //if(data.DirectionX != 0 || data.DirectionY != 0)
            //{
            //    if(UnitType == 1)
            //    {
            //        Debug.Log("----direction:" + DirectionX + "  " + DirectionY);
            //    }
            //}

            //var dir = new Vector3(1, 0, 1);
            if (dir != Vector3.zero)
            {
                ChangeDirection(dir);
            }

            //-----更新其他数据----
            //Name = data.Name;
            Level                      += data.Level;
            Experience                 += data.Experience;
            MaxExperience              += data.MaxExperience;
            HP                         += data.HP;
            MP                         += data.MP;
            MaxHP                      += data.MaxHP;
            MaxMP                      += data.MaxMP;
            TeamID                     += data.TeamID;
            GuildID                    += data.GuildID;
            GroupID                    += data.GroupID;
            CharacterID                += data.Characterid;
            Gold                       += data.Gold;
            Diamond                    += data.Diamond;
            RemainReviveTime           += data.RemainReviveTime;
            RemainExperience           += data.RemainExperience;
            ReviveGold                 += data.ReviveGold;
            ReviveDiamond              += data.ReviveDiamond;
            SkillEnable                += data.SkillEnable;
            ItemEnable                 += data.ItemEnable;
            RemainWatchVedioCountToday += data.RemainWatchVedioCountToday;
            WatchVedioAddDiamond       += data.WatchVedioAddDiamond;
            //if( data.HP != 0)
            //{
            //    Debug.Log("hp:" + HP + "  maxhp:" + MaxHP);
            //}
            //

            if (data.ModeType != "")
            {
                ModeType = data.ModeType;
            }
            if (data.Name != "")
            {
                Name = data.Name;
            }
            if (data.GuildName != "")
            {
                GuildName = data.GuildName;
            }

            ControlID          += data.ControlID;
            AttackAnim         += data.AttackAnim;
            AttackMode         += data.AttackMode;
            UnitType           += data.UnitType; //需要数据 ModeType
            AttackAcpabilities += data.AttackAcpabilities;
            IsMain             += data.IsMain;
            IsDeath            += data.IsDeath;
            Camp += data.Camp;

            UpdateTopBar();

            if (data.IsMiss)
            {
                this.ShowMiss();
            }


            //技能数据
            foreach (var item in data.SD)
            {
                for (var i = 0; i < m_SkillDatas.Length; i++)
                {
                    if (item.TypeID == m_SkillDatas[i].TypeID)
                    {
                        m_SkillDatas[i].Level             += item.Level;
                        m_SkillDatas[i].RemainCDTime      += item.RemainCDTime;
                        m_SkillDatas[i].CanUpgrade        += item.CanUpgrade;
                        m_SkillDatas[i].Index             += item.Index;
                        m_SkillDatas[i].CastType          += item.CastType;
                        m_SkillDatas[i].CastTargetType    += item.CastTargetType;
                        m_SkillDatas[i].UnitTargetTeam    += item.UnitTargetTeam;
                        m_SkillDatas[i].UnitTargetCamp    += item.UnitTargetCamp;
                        m_SkillDatas[i].NoCareMagicImmune += item.NoCareMagicImmune;
                        m_SkillDatas[i].CastRange         += item.CastRange;
                        m_SkillDatas[i].Cooldown          += item.Cooldown;
                        m_SkillDatas[i].HurtRange         += item.HurtRange;
                        m_SkillDatas[i].ManaCost          += item.ManaCost;
                        m_SkillDatas[i].AttackAutoActive  += item.AttackAutoActive;
                        m_SkillDatas[i].Visible           += item.Visible;
                        m_SkillDatas[i].RemainSkillCount  += item.RemainSkillCount;
                    }
                }
            }

            //刷新buff
            FreshBuff(data.BD);
            FreshItemSkill(data.ISD);
        }
    }