Ejemplo n.º 1
0
    public static ViewPlayerData BuildViewData(GameCmd.stViewRoleReturnPropertyUserCmd_S cmd)
    {
        retData            = new ViewPlayerData();
        retData.userid     = cmd.userid;
        retData.user_level = cmd.user_level;
        retData.userid     = cmd.userid;
        retData.username   = cmd.username;
        retData.sex        = cmd.sex;
        retData.power      = cmd.power;
        retData.job        = cmd.job;
        retData.clan_name  = cmd.clan_name;

        retData.gem_data     = cmd.gem_data;
        retData.viewRoleData = cmd.user_data;
        retData.suit_data    = cmd.suit_data;
        retData.itemList     = cmd.itemList;
        retData.strengthList = cmd.strength_data;

        Engine.PackageIn pack = new Engine.PackageIn(cmd.pet_data);
        retData.petdata = GameCmd.PetUserData.Deserialize(pack);

        pack             = new Engine.PackageIn(cmd.ride_data);
        retData.rideData = GameCmd.RideUserData.Deserialize(pack);

        return(retData);
    }
Ejemplo n.º 2
0
    protected override void OnShow(object data)
    {
        base.OnShow(data);
        //ride
        m_lstRideData = new List <RideData>();

        InitRideSkill();

        //pet

        m_lstPetData = new List <GameCmd.PetData>();
        InitLables();

        CreateSkillGrid();

        m_bEnableRide = false;
        m_bEnablePet  = false;
        CreatePetGrid();
        OnCreateRideGrid();
        if (data is ViewPlayerData)
        {
            m_showInfo = (ViewPlayerData)data;

            if (m_showInfo.rideData != null)
            {
                m_lstRideData.Clear();
                for (int i = 0; i < m_showInfo.rideData.ride_list.Count; i++)
                {
                    AddRide(m_showInfo.rideData.ride_list[i]);
                }

                m_bEnableRide = m_showInfo.rideData.ride_list.Count > 0;
            }
            if (m_showInfo.petdata != null)
            {
                m_bEnablePet = m_showInfo.petdata.pet_list.Count > 0;
                m_lstPetData.Clear();
                m_lstPetData.AddRange(m_showInfo.petdata.pet_list);
            }
            else
            {
                m_bEnablePet = false;
            }


            OnShowPropety(m_showInfo);

            OnShowEquipGridInfo(m_showInfo.itemList);

            OnShowSuit(m_showInfo.suit_data);

            OnShowModelTexture(m_showInfo.suit_data, (int)m_showInfo.job, (int)m_showInfo.sex);

            ChangeShowLeftUI(1);

            ShowColorStoneStrengthLabel(m_showInfo.ActiveColorSuitLv, m_showInfo.ActiveStoneSuitLv, m_showInfo.ActiveStrengthenSuitLv);
        }
    }
Ejemplo n.º 3
0
    /// <summary>
    /// 查看玩家详情
    /// </summary>
    /// <param name="caster"></param>
    void onClick_Btn_checkmessage_Btn(GameObject caster)
    {
        if (m_datainfo != null)
        {
            if (m_datainfo.isRobot)
            {
                ViewPlayerData viewdata = ViewPlayerData.BuildViewData(m_datainfo.uid, m_datainfo.name, m_datainfo.job, (int)m_datainfo.level, m_datainfo.sex);
                if (viewdata != null)
                {
                    DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.ViewPlayerPanel, data: viewdata);
                }
                return;
            }
            NetService.Instance.Send(new GameCmd.stRequestViewRolePropertyUserCmd_C()
            {
                zoneid   = 0,
                dwUserid = m_datainfo.uid,
                mycharid = m_datainfo.uid,
            });
        }

        this.HideSelf();
    }
Ejemplo n.º 4
0
    public static ViewPlayerData BuildViewData(uint uid, string name, uint job, int level, uint sex = 0)
    {
        retData          = new ViewPlayerData();
        retData.job      = job;
        retData.sex      = sex;
        retData.userid   = uid;
        retData.username = name;
        table.RobotDataBase data = GameTableManager.Instance.GetTableItem <table.RobotDataBase>(job, level);
        if (data != null)
        {
            retData.power = data.power;

            retData.user_level = data.dwLevel;

            retData.viewRoleData       = new GameCmd.ViewRoleData();
            retData.viewRoleData.maxhp = (uint)(data.hp * 1.15f);
            retData.viewRoleData.maxsp = (uint)(data.mp * 1.15f);

            retData.viewRoleData.pdam_min = (uint)(data.pdam * 0.8f);
            retData.viewRoleData.pdam_max = (uint)(data.pdam * 1.15f);

            retData.viewRoleData.mdam_min = (uint)(data.mdam * 0.8f);
            retData.viewRoleData.mdam_max = (uint)(data.mdam * 1.15f);

            retData.viewRoleData.pdef_min = (uint)(data.mdef * 0.8f);
            retData.viewRoleData.pdef_max = (uint)(data.mdef * 1.15f);

            retData.viewRoleData.liliang      = data.liliang;
            retData.viewRoleData.minjie       = data.minjie;
            retData.viewRoleData.zhili        = data.zhili;
            retData.viewRoleData.tizhi        = data.tizhi;
            retData.viewRoleData.jingshen     = data.jingshen;
            retData.viewRoleData.esdam        = data.esdam;
            retData.viewRoleData.ssdam        = data.ssdam;
            retData.viewRoleData.lsdam        = data.lsdam;
            retData.viewRoleData.vsdam        = data.vsdam;
            retData.viewRoleData.lucky        = data.lucky;
            retData.viewRoleData.mlucky       = data.mlucky;
            retData.viewRoleData.criti_ratio  = data.criti_ratio;
            retData.viewRoleData.cure         = data.cure;
            retData.viewRoleData.phit         = data.phit;
            retData.viewRoleData.hide_per     = data.hide_per;
            retData.viewRoleData.pabs         = data.pabs;
            retData.viewRoleData.mabs         = data.mabs;
            retData.viewRoleData.harm_add_per = data.harm_add_per;
            retData.viewRoleData.harm_sub_per = data.harm_sub_per;

            List <uint> equipList = new List <uint>();

            /*1;    //  头盔
            *  2;    //  护肩
            *  3;    //  上衣
            *  4;    //  护腿
            *  5;    //  戒指
            *  7;    //  盾牌
            *  8;    //  武器
            *  9;    //  鞋子
            *  10;   //  护腕
            *  11;   //  腰带
            *  12;   //  披风
            *  13;   //  项链*/
            equipList.Add(data.Hat);
            equipList.Add(data.Shoulder);
            equipList.Add(data.Coat);
            equipList.Add(data.Leg);
            equipList.Add(data.Adornl_1);
            equipList.Add(data.Adornl_2);
            equipList.Add(data.Shield);
            equipList.Add(data.Equip);
            equipList.Add(data.Shoes);
            equipList.Add(data.Cuff);
            equipList.Add(data.Belf);
            equipList.Add(data.Necklace);

            GameCmd.ItemSerialize item = null;
            for (int i = 0; i < equipList.Count; i++)
            {
                if (equipList[i] == 0)
                {
                    continue;
                }
                table.ItemDataBase itemdb = GameTableManager.Instance.GetTableItem <table.ItemDataBase>(equipList[i]);
                if (itemdb == null)
                {
                    continue;
                }
                //GameCmd.eItemAttribute
                item            = new GameCmd.ItemSerialize();
                item.dwObjectID = equipList[i];

                GameCmd.EquipPos[] pos = EquipDefine.GetEquipPosByEquipType((GameCmd.EquipType)itemdb.subType);
                if (pos.Length == 2)
                {
                    uint loc = 0;
                    if (i == 4)
                    {
                        loc = ItemDefine.TransformLocal2ServerLocation(GameCmd.PACKAGETYPE.PACKAGETYPE_EQUIP, new UnityEngine.Vector2()
                        {
                            x = 0, y = (int)pos[0]
                        });
                    }
                    else if (i == 5)
                    {
                        loc = ItemDefine.TransformLocal2ServerLocation(GameCmd.PACKAGETYPE.PACKAGETYPE_EQUIP, new UnityEngine.Vector2()
                        {
                            x = 0, y = (int)pos[1]
                        });
                    }

                    item.pos = new GameCmd.tItemLocation()
                    {
                        loc = loc
                    };
                }
                else if (pos.Length == 1)
                {
                    uint loc = ItemDefine.TransformLocal2ServerLocation(GameCmd.PACKAGETYPE.PACKAGETYPE_EQUIP, new UnityEngine.Vector2()
                    {
                        x = 0, y = (int)pos[0]
                    });
                    item.pos = new GameCmd.tItemLocation()
                    {
                        loc = loc
                    };
                }
                item.dwNum = 1;
                item.numbers.Add(new GameCmd.PairNumber()
                {
                    id = (int)GameCmd.eItemAttribute.Item_Attribute_Bind, value = itemdb.bindMask
                });
                item.numbers.Add(new GameCmd.PairNumber()
                {
                    id = (int)GameCmd.eItemAttribute.Item_Attribute_Grade, value = itemdb.grade
                });

                table.EquipDataBase equipdb = GameTableManager.Instance.GetTableItem <table.EquipDataBase>(itemdb.itemID);
                if (equipdb == null)
                {
                    continue;
                }
                item.numbers.Add(new GameCmd.PairNumber()
                {
                    id = (int)GameCmd.eItemAttribute.Item_Attribute_Dur, value = equipdb.maxDurable
                });
                item.numbers.Add(new GameCmd.PairNumber()
                {
                    id = (int)GameCmd.eItemAttribute.Item_Attribute_HoleNum, value = 0
                });
                item.numbers.Add(new GameCmd.PairNumber()
                {
                    id = (int)GameCmd.eItemAttribute.Item_Attribute_FightPower, value = equipdb.fightPower
                });

                retData.itemList.Add(item);

                if (equipdb.act_show != 0)
                {
                    table.SuitDataBase suitDb = GameTableManager.Instance.GetTableItem <table.SuitDataBase>(equipdb.act_show, 1);
                    if (suitDb != null)
                    {
                        retData.suit_data.Add(new GameCmd.SuitData()
                        {
                            baseid = suitDb.base_id, suit_type = (GameCmd.EquipSuitType)suitDb.type
                        });
                    }
                }
            }
        }

        return(retData);
    }
Ejemplo n.º 5
0
    /// <summary>
    /// 基本属性
    /// </summary>
    /// <param name="showInfo"></param>
    private void OnShowPropety(ViewPlayerData showInfo)
    {
        m_label_powerLabel.text = showInfo.power.ToString();
        m_trans_propRoot.parent.GetComponent <UIScrollView>().ResetPosition();
        GameCmd.ViewRoleData roledata = showInfo.viewRoleData;
        foreach (var item in m_dicLabls_Player)
        {
            PlayerLabelEnum type = item.Key;
            switch (type)
            {
            case PlayerLabelEnum.Name:
                item.Value.text = showInfo.username;
                break;

            case PlayerLabelEnum.ID:
                item.Value.text = showInfo.userid.ToString();
                break;

            case PlayerLabelEnum.Clan:
                if (string.IsNullOrEmpty(showInfo.clan_name))
                {
                    item.Value.text = "未加入";
                }
                else
                {
                    item.Value.text = showInfo.clan_name.ToString();
                }
                break;

            case PlayerLabelEnum.Level:
                item.Value.text = showInfo.user_level.ToString();
                break;

            case PlayerLabelEnum.DemonLv:
                item.Value.text = showInfo.god_level.ToString();
                break;

            case PlayerLabelEnum.HpMax:
                item.Value.text = roledata.maxhp.ToString();
                break;

            case PlayerLabelEnum.MpMax:
                item.Value.text = roledata.maxsp.ToString();
                break;

            case PlayerLabelEnum.PATK:
                item.Value.text = string.Format("{0}-{1}", roledata.pdam_min, roledata.pdam_max);
                break;

            case PlayerLabelEnum.MATK:
                item.Value.text = string.Format("{0}-{1}", roledata.mdam_min, roledata.mdam_max);
                break;

            case PlayerLabelEnum.PDEF:
                item.Value.text = string.Format("{0}-{1}", roledata.pdef_min, roledata.pdef_max);
                break;

            case PlayerLabelEnum.MDEF:
                item.Value.text = string.Format("{0}-{1}", roledata.mdef_min, roledata.mdef_max);
                break;

            case PlayerLabelEnum.Power:
                item.Value.text = roledata.liliang.ToString();
                break;

            case PlayerLabelEnum.Agile:
                item.Value.text = roledata.minjie.ToString();
                break;

            case PlayerLabelEnum.Intellect:
                item.Value.text = roledata.zhili.ToString();
                break;

            case PlayerLabelEnum.Strength:
                item.Value.text = roledata.tizhi.ToString();
                break;

            case PlayerLabelEnum.Spirit:
                item.Value.text = roledata.jingshen.ToString();
                break;

            case PlayerLabelEnum.FireATK:
                item.Value.text = roledata.esdam.ToString();
                break;

            case PlayerLabelEnum.IceATK:
                item.Value.text = roledata.ssdam.ToString();
                break;

            case PlayerLabelEnum.ElectricATK:
                item.Value.text = roledata.lsdam.ToString();
                break;

            case PlayerLabelEnum.DarkATK:
                item.Value.text = roledata.vsdam.ToString();
                break;

            case PlayerLabelEnum.FireDEF:
                item.Value.text = roledata.esdef.ToString();
                break;

            case PlayerLabelEnum.IceDEF:
                item.Value.text = roledata.ssdef.ToString();
                break;

            case PlayerLabelEnum.ElectricDEF:
                item.Value.text = roledata.lsdef.ToString();
                break;

            case PlayerLabelEnum.DarkDEF:
                item.Value.text = roledata.vsdef.ToString();
                break;

            case PlayerLabelEnum.PCrit:
                item.Value.text = string.Format("{0}%", roledata.lucky / 100.0f);
                break;

            case PlayerLabelEnum.MCrit:
                item.Value.text = string.Format("{0}%", roledata.mlucky / 100.0f);
                break;

            case PlayerLabelEnum.CritDamg:
                item.Value.text = string.Format("{0}%", roledata.criti_ratio / 100.0f);
                break;

            case PlayerLabelEnum.Cure:
                item.Value.text = roledata.cure.ToString();
                break;

            case PlayerLabelEnum.HitRate:
                item.Value.text = string.Format("{0}%", roledata.phit / 100.0f);
                break;

            case PlayerLabelEnum.Miss:
                item.Value.text = string.Format("{0}%", roledata.hide_per / 100.0f);
                break;

            case PlayerLabelEnum.PDamgAbsorb:
                item.Value.text = roledata.pabs.ToString();
                break;

            case PlayerLabelEnum.MDamgAbsorb:
                item.Value.text = roledata.mabs.ToString();
                break;

            case PlayerLabelEnum.DamgDeepen:
                item.Value.text = string.Format("{0}%", roledata.harm_add_per / 100.0f);
                break;

            case PlayerLabelEnum.DamgAbsorb:
                item.Value.text = string.Format("{0}%", roledata.harm_sub_per / 100.0f);
                break;

            case PlayerLabelEnum.Max:
                break;

            default:
                break;
            }
        }
    }
Ejemplo n.º 6
0
    protected override void OnShow(object data)
    {
        base.OnShow(data);
        RegisterGlobalEvent(true);

        Vector3 pos = Vector3.zero;

        if (null != data && data is SuitPanelParam)
        {
            SuitPanelParam par = (SuitPanelParam)data;
            pos           = (Vector3)par.vec;
            m_CurType     = par.m_type;
            isOtherPlayer = par.isOther;
        }
        if (null != m_trans_Content)
        {
            m_trans_Content.transform.localPosition = pos;
        }
        StrengthenDataDes.Clear();
        m_lstSuitLv.Clear();
        if (isOtherPlayer)
        {
            ViewPlayerData retData = ViewPlayerData.GetViewPlayerData();
            if (retData == null)
            {
                return;
            }
            List <GemInlayList>  gem_data     = retData.gem_data;
            List <StrengthList>  strengthList = retData.strengthList;
            List <ItemSerialize> itemList     = retData.itemList;
            List <uint>          tempStrength = new List <uint>();
            #region 宝石等级
            ActiveStoneSuitLv = 0;
            for (int i = 0; i < gem_data.Count; i++)
            {
                uint itemID             = gem_data[i].base_id;
                table.ItemDataBase item = GameTableManager.Instance.GetTableItem <table.ItemDataBase>(itemID);
                if (item != null)
                {
                    ActiveStoneSuitLv += item.grade;
                }
            }
            #endregion
            #region 颜色等级
            ActiveColorSuitLv = 0;
            List <BaseItem> items = new List <BaseItem>();
            for (int i = 0; i < itemList.Count; i++)
            {
                BaseItem baseItem = new BaseItem(itemList[i].dwObjectID, itemList[i]);
                if (baseItem != null)
                {
                    if (baseItem.EquipColor >= EquipDefine.EquipColor.Orange)
                    {
                        items.Add(baseItem);
                    }
                }
            }
            for (int j = 0; j < colors.Count; j++)
            {
                uint count = 0;
                for (int x = 0; x < items.Count; x++)
                {
                    if (items[x].Grade >= colors[j].grade)
                    {
                        count++;
                    }
                }
                if (count >= colors[j].equip_num)
                {
                    ActiveColorSuitLv = colors[j].level;
                }
            }
            #endregion
            #region 套装强化等级
            ActiveStrengthenSuitLv = 0;
            List <GridStrengthenSuitDataBase> StrengthenDataBase = GameTableManager.Instance.GetTableList <GridStrengthenSuitDataBase>();

            for (int i = 0; i < StrengthenDataBase.Count; i++)
            {
                if (StrengthenDataBase[i].job == retData.job)
                {
                    uint matchNum = 0;
                    m_lstSuitLv.Add(StrengthenDataBase[i].suitlv);
                    StrengthenDataDes.Add(StrengthenDataBase[i].des);
                    for (int j = 0; j < strengthList.Count; j++)
                    {
                        if (strengthList[j].level >= StrengthenDataBase[i].triggerStrengLv)
                        {
                            matchNum++;
                        }
                    }
                    if (matchNum >= StrengthenDataBase[i].triggerPosNum)
                    {
                        ActiveStrengthenSuitLv = StrengthenDataBase[i].suitlv;
                    }
                }
            }

            #endregion
        }
        else
        {
            ActiveStrengthenSuitLv = DataManager.Manager <EquipManager>().ActiveStrengthenSuitLv;
            ActiveColorSuitLv      = DataManager.Manager <EquipManager>().ActiveColorSuitLv;
            ActiveStoneSuitLv      = DataManager.Manager <EquipManager>().ActiveStoneSuitLv;
            m_lstSuitLv.AddRange(DataManager.Manager <EquipManager>().CurGroupSuitData.GetStrengthenLvDatas());
            for (int i = 0; i < m_lstSuitLv.Count; i++)
            {
                string des = DataManager.Manager <EquipManager>().CurGroupSuitData.GetLocalStrengthenData(m_lstSuitLv[i]).Des;
                StrengthenDataDes.Add(des);
            }
        }
        CreateData();
    }
Ejemplo n.º 7
0
    public void Excute(GameCmd.stViewRoleReturnPropertyUserCmd_S cmd)
    {
        //         IEntitySystem es = ClientGlobal.Instance().GetEntitySystem();
        //         if (es == null)
        //         {
        //             Engine.Utility.Log.Error("严重错误:EntitySystem is null!");
        //             return;
        //         }
        //
        //         EntityCreateData data = new EntityCreateData();
        //         data.PropList = new EntityAttr[(int)PlayerProp.End - (int)EntityProp.Begin];
        //         data.ID = cmd.userdata.dwUserID;
        //         RoleUtil.BuildPlayerPropList(cmd.userdata, ref data.PropList);
        //         IPlayer player = es.FindPlayer(cmd.userdata.dwUserID);
        //         if (player != null)
        //         {
        //             player.UpdateProp(data);
        //             DataManager.Manager<UIPanelManager>().ShowPanel(PanelID.PropPanel, data: cmd.userdata.dwUserID);
        //         }

        DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.ViewPlayerPanel, data: ViewPlayerData.BuildViewData(cmd));
    }