Exemplo n.º 1
0
    private void ChangeSelect(object obj)
    {
        EquipVo equipVo = (EquipVo)obj;

        if (nowVo == equipVo)
        {
            bool result = DataManager.Instance.equipModel.SetNow(equipVo);
            if (result == true)
            {
                GameRoot.Instance.evt.CallEvent(GameEventDefine.UPDATE_PLAYER_UNIT, null);
                OnUpdate(null);
            }
            else
            {
                UIManager.Instance.CreateTipPanel("当前职业不能装备");
            }
        }
        nowVo = equipVo;
        ShowTip(nowVo);
        btnRemove.gameObject.SetActive(false);
        for (int i = 0; i < barList.Count; i++)
        {
            barList[i].ChangeSelect(nowVo.id);
        }
    }
Exemplo n.º 2
0
    public int LevelUp(EquipVo vo)
    {
        //-1 已经满级 0 灵魂不足 1 强化失败 2 强化成功
        StaticEquipLevelVo staticVo = StaticDataPool.Instance.staticEquipLevelPool.GetStaticDataVo(vo.equipId, vo.level);

        if (staticVo.level == 10)
        {
            return(-1);
        }
        if (DataManager.Instance.roleVo.exp < staticVo.upPrice)
        {
            return(0);
        }
        else
        {
            DataManager.Instance.roleVo.exp -= staticVo.upPrice;
            GameRoot.Instance.evt.CallEvent(GameEventDefine.ROLE_INFO, null);
            float random = Random.Range(0, 1);
            if (random <= staticVo.upRate)
            {
                vo.level += 1;
                return(2);
            }
            else
            {
                return(1);
            }
        }
    }
Exemplo n.º 3
0
    private void ShowTip(EquipVo vo)
    {
        Tools.ClearChildFromParent(tsAffect);
        if (vo == null)
        {
            return;
        }
        StaticEquipLevelVo staticEquipLevelVo = StaticDataPool.Instance.staticEquipLevelPool.GetStaticDataVo(vo.equipId, vo.level);
        StaticEquipVo      staticEquipVo      = StaticDataPool.Instance.staticEquipPool.GetStaticDataVo(vo.equipId);

        textName.text = staticEquipLevelVo.equipName + "+" + vo.level;
        switch (staticEquipVo.role)
        {
        case -1: textRole.text = "全职业通用"; break;

        case 0: textRole.text = "猎人专用"; break;

        case 1: textRole.text = "战士专用"; break;

        case 2: textRole.text = "法师专用"; break;

        case 3: textRole.text = "菜鸟专用"; break;
        }
        int i = 0;

        foreach (var d in staticEquipLevelVo.effect)
        {
            string str = "";
            switch (d.Key)
            {
            case 1: str = "生命:+"; break;

            case 2: str = "攻击:+"; break;

            case 3: str = "法攻:+"; break;

            case 4: str = "护甲:+"; break;

            case 5: str = "暴击:+"; break;

            case 6: str = "闪避:+"; break;

            case 7: str = "暴伤:+"; break;

            case 8: str = "法力:+"; break;

            case 9: str = "速度:+"; break;

            case 10: str = "法抗:+"; break;

            case 11: str = "格挡率:+"; break;
            }
            str += (int)d.Value;
            GameObject obj = Tools.CreateGameObject("UI/EquipPanel/affectCell", tsAffect, new Vector3(0, -30 * i, 0), Vector3.one);
            obj.GetComponent <Text>().text = str;
            i++;
        }
    }
Exemplo n.º 4
0
    public void Sell(EquipVo vo)
    {
        StaticEquipLevelVo staticVo = StaticDataPool.Instance.staticEquipLevelPool.GetStaticDataVo(vo.equipId, vo.level);

        _dataList.Remove(vo);

        DataManager.Instance.roleVo.exp += staticVo.sellPrice;
        GameRoot.Instance.evt.CallEvent(GameEventDefine.ROLE_INFO, null);
    }
Exemplo n.º 5
0
    public void Add(StaticEquipLevelVo vo)
    {
        if (_dataList.Count >= DataManager.Instance.roleVo.maxEquipNum)
        {
            return;
        }

        EquipVo equipVo = new EquipVo();

        equipVo.id      = _dataList.Count;
        equipVo.equipId = vo.equipId;
        equipVo.level   = vo.level;
        equipVo.locked  = false;
        _dataList.Add(equipVo);
    }
Exemplo n.º 6
0
 public void Create(EquipVo equipVo, CallBackFunctionWithObject callback)
 {
     this.equipVo = equipVo;
     if (equipVo != null)
     {
         StaticEquipVo      staticEquipVo      = StaticDataPool.Instance.staticEquipPool.GetStaticDataVo(equipVo.equipId);
         StaticEquipLevelVo staticEquipLevelVo = StaticDataPool.Instance.staticEquipLevelPool.GetStaticDataVo(equipVo.equipId, equipVo.level);
         icon.sprite = ResourceManager.Instance.GetEquipIcon(staticEquipVo.icon);
     }
     else
     {
         icon.sprite = null;
     }
     this.callback = callback;
 }
Exemplo n.º 7
0
        /// <summary>更新装备信息</summary>
        private void EquipUpdate(tg_role role, tg_bag nequip, Int64 id)
        {
            var s = Variable.OnlinePlayer.ContainsKey(role.user_id);

            if (!s)
            {
                return;
            }
            var session = Variable.OnlinePlayer[role.user_id] as TGGSession;

            if (session == null)
            {
                return;
            }

            if (id == 0)   //未穿戴同类型装备
            {
                var player = session.Player.CloneEntity();
                player.Bag.Surplus += 1;                            //剩余格子数+1
                if (player.Bag.BagIsFull)
                {
                    player.Bag.BagIsFull = false;
                }
                session.Player = player;
            }
            else
            {
                var equip = tg_bag.GetEntityByEquipId(id);
                if (equip == null)
                {
                    return;
                }
                equip.state = (int)LoadStateType.UNLOAD;
                equip.Update();
                Common.GetInstance().RoleInfoCheck(role, equip, (int)RoleDatatype.ROLEDATA_LOSE); //武将属性削减
                _equipvo = EntityToVo.ToEquipVo(equip);
            }

            var logdata = string.Format("{0}_{1}_{2}_{3}", "EquipLoad", role.id, id, nequip.id);     //记录武将穿戴装备信息

            (new Share.Log()).WriteLog(role.user_id, (int)LogType.Use, (int)ModuleNumber.ROLE, (int)RoleCommand.ROLE_EQUIP_LOAD, logdata);

            nequip.state = (int)LoadStateType.LOAD;                                           //新装备
            nequip.Update();
            Common.GetInstance().RoleInfoCheck(role, nequip, (int)RoleDatatype.ROLEDATA_ADD); //武将属性加成
            RoleUpdate(role, nequip);
        }
Exemplo n.º 8
0
        private String AttributeToString(EquipVo vo)
        {
            var sb = String.Empty;

            if (vo.att1 != 0)
            {
                sb += string.Format("{0}-{1},", vo.att1, vo.value1);
            }
            else if (vo.att2 != 0)
            {
                sb += string.Format("{0}-{1},", vo.att2, vo.value2);
            }
            else if (vo.att3 != 0)
            {
                sb += string.Format("{0}-{1},", vo.att3, vo.value3);
            }
            return(sb.TrimEnd(","));
        }
Exemplo n.º 9
0
    private void ChangeSelectCell(object obj)
    {
        ArrayList list       = (ArrayList)obj;
        EquipVo   equipVo    = (EquipVo)list[0];
        int       selectCell = (int)list[1];

        nowCell   = selectCell;
        nowCellVo = equipVo;
        ShowTip(equipVo);
        if (equipVo != null)
        {
            btnRemove.gameObject.SetActive(true);
        }
        for (int i = 0; i < equipCell.Length; i++)
        {
            equipCell[i].ChangeSelect(selectCell);
        }
    }
Exemplo n.º 10
0
        public ASObject CommandStart(TGGSession session, ASObject data)
        {
            try
            {
#if DEBUG
                XTrace.WriteLine("{0}:{1}", "ROLE_EQUIP_LOAD", "武将装备穿戴");
#endif
                var roleid  = Convert.ToInt64(data.FirstOrDefault(m => m.Key == "roleId").Value.ToString());      //主将主键id
                var equipid = Convert.ToInt64(data.FirstOrDefault(m => m.Key == "equipId").Value.ToString());     //装备主键id
                _equipvo = null;

                var role  = tg_role.GetEntityById(roleid);
                var equip = tg_bag.GetEntityByEquipId(equipid);
                if (equip == null || role == null)
                {
                    return(Result((int)ResultType.DATABASE_ERROR));                                //验证装备武将信息
                }
                if (equip.state == (int)LoadStateType.LOAD)
                {
                    return(Result((int)ResultType.ROLE_EQUIP_LOAD));                                          //验证装备是否已经穿戴
                }
                //验证武将等级
                if (!CheckRoleLevel(equip.base_id, role.role_level))
                {
                    return(Result((int)ResultType.BASE_ROLE_LEVEL_ERROR));
                }

                RoleEquipCheck(role, equip);     //根据装备类型处理
                if (session.Player.Role.Kind.id == role.id)
                {
                    session.Player.Role.Kind = role;                                              //更新session武将信息
                }
                var rolevo = (new Share.Role()).BuildRole(role.id);
                return(new ASObject(Common.GetInstance().RoleLoadEquipData((int)ResultType.SUCCESS, rolevo, _equipvo)));
            }
            catch (Exception ex)
            {
                XTrace.WriteException(ex);
                return(new ASObject());
            }
        }
Exemplo n.º 11
0
 public void Load(string str)
 {
     string[] arr    = str.Split('|');
     string[] nowArr = arr[0].Split('#');
     for (int i = 1; i < arr.Length; i++)
     {
         if (arr[i] != "")
         {
             EquipVo vo = new EquipVo();
             vo.Update(arr[i]);
             _dataList.Add(vo);
         }
     }
     for (int i = 0; i < nowArr.Length; i++)
     {
         if (nowArr[i] != "")
         {
             nowEquip.Add(_dataList.Find(p => p.id == int.Parse(nowArr[i])));
         }
     }
 }
Exemplo n.º 12
0
    public bool SetNow(EquipVo vo)
    {
        StaticEquipVo staticEquipVo = StaticDataPool.Instance.staticEquipPool.GetStaticDataVo(vo.equipId);

        if (staticEquipVo.role != -1)
        {
            if (DataManager.Instance.roleVo.charactor != staticEquipVo.role)
            {
                return(false);
            }
        }
        int     part  = StaticDataPool.Instance.staticEquipLevelPool.GetStaticDataVo(vo.equipId, vo.level).part;
        EquipVo nowVo = nowEquip.Find(p => part == StaticDataPool.Instance.staticEquipLevelPool.GetStaticDataVo(p.equipId, p.level).part);

        if (nowVo != null)
        {
            nowEquip.Remove(nowVo);
            _dataList.Add(nowVo);
        }
        nowEquip.Add(vo);
        _dataList.Remove(vo);
        return(true);
    }
Exemplo n.º 13
0
    public void Create(EquipVo equipVo, CallBackFunctionWithObject clickCallback)
    {
        StaticEquipVo staticEquipVo = StaticDataPool.Instance.staticEquipPool.GetStaticDataVo(equipVo.equipId);

        icon.sprite    = ResourceManager.Instance.GetEquipIcon(staticEquipVo.icon);
        textName.text  = staticEquipVo.equipName;
        textDesc.text  = staticEquipVo.desc;
        textLevel.text = equipVo.level.ToString();
        switch (staticEquipVo.role)
        {
        case -1: textRole.text = "全职业"; break;

        case 0: textRole.text = "猎人"; break;

        case 1: textRole.text = "战士"; break;

        case 2: textRole.text = "法师"; break;

        case 3: textRole.text = "菜鸟"; break;
        }
        this.equipVo = equipVo;
        id           = equipVo.id;
        callback     = clickCallback;
    }
Exemplo n.º 14
0
 public void RemoveNow(EquipVo vo)
 {
     nowEquip.Remove(vo);
     _dataList.Add(vo);
 }
Exemplo n.º 15
0
        /// <summary>装备穿戴组装数据</summary>
        public Dictionary <String, Object> RoleLoadEquipData(int result, RoleInfoVo rolevo, EquipVo equipvo)
        {
            var dic = new Dictionary <string, object> {
                { "result", result }, { "role", rolevo }, { "equip", equipvo },
            };

            return(dic);
        }