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); } }
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); } } }
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++; } }
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); }
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); }
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; }
/// <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); }
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(",")); }
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); } }
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()); } }
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]))); } } }
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); }
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; }
public void RemoveNow(EquipVo vo) { nowEquip.Remove(vo); _dataList.Add(vo); }
/// <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); }