//返回当前玩家的装备栏信息 public List <EquipData> GetBarList() { if (userName == "") { userName = UserModel.Instance.GetMyUserId(); } if (barList == null) { barList = new List <EquipData>(); barDic = new Dictionary <EquipType, EquipData>(); if (!File.Exists(Application.persistentDataPath + "/EquipBarData.Json")) { allBarList = new List <BarquipData>(); return(barList); } else { string json = File.ReadAllText(Application.persistentDataPath + "/EquipBarData.Json"); allBarList = JsonMapper.ToObject <List <BarquipData> >(json); for (int i = 0; i < allBarList.Count; i++) { if (allBarList[i].username == userName) { //数据转换 LocalEquipData localEquip = EquipDataMgr.Instance.GetEquipDataById(allBarList[i].id); EquipData equipData = EquipDataModel.Instance.Local2MyEquipData(localEquip); barList.Add(equipData); barDic.Add(equipData.equipType, equipData); } } } return(barList); } return(barList); }
/// <summary> /// 游戏装备转换为本地装备 /// </summary> /// <param name="myLocalEquipData"></param> /// <returns></returns> public LocalEquipData MyEquipData2Local(EquipData myEquipData) { LocalEquipData equipData = new LocalEquipData(myEquipData.id, myEquipData.name, myEquipData.des, myEquipData.addAtk, myEquipData.addDef, myEquipData.icon, myEquipData.price, myEquipData.addMana, myEquipData.addHp, myEquipData.addSpeed, myEquipData.equipType); return(equipData); }
/// <summary> /// 本地装备转换为游戏装备 /// </summary> /// <param name="myLocalEquipData"></param> /// <returns></returns> public EquipData Local2MyEquipData(LocalEquipData myLocalEquipData) { EquipData equipData = new EquipData(myLocalEquipData.id, myLocalEquipData.name, myLocalEquipData.des, myLocalEquipData.addAtk, myLocalEquipData.addDef, myLocalEquipData.icon, myLocalEquipData.price, myLocalEquipData.addMana, myLocalEquipData.addHp, myLocalEquipData.addSpeed, myLocalEquipData.equipType); return(equipData); }
//商店的初始化 public void Init(LocalEquipData equipData, EquipItemCallback callback = null) { nowType = EquipViewType.Store; click.onClick.RemoveAllListeners(); this.callback = callback; click.onClick.AddListener(Click); myEquipData = equipData; SpriteAtlas sa = ResManager.Instance.Load <SpriteAtlas>("UI/equip/EquipAtlas"); equipImage.sprite = sa.GetSprite(equipData.icon); }
public void Init(LocalEquipData equipData) { string addType = ""; int ValueText = 0; switch (equipData.equipType) { case EquipType.Armor: addType = "增加防御:"; ValueText = equipData.addDef; break; case EquipType.Helmet: addType = "增加血量:"; ValueText = equipData.addHp; break; case EquipType.Necklace: addType = "增加魔法:"; ValueText = equipData.addMana; break; case EquipType.Ring: addType = "增加血量:"; ValueText = equipData.addHp; break; case EquipType.shoes: addType = "增加移速:"; ValueText = equipData.addSpeed; break; case EquipType.weapon: addType = "增加攻击:"; ValueText = equipData.addAtk; break; } EquipNameText.text = equipData.name; EquipPropertyText.text = addType; EquipValueText.text = ValueText.ToString(); EquipDesText.text = equipData.des; SpriteAtlas sa = ResManager.Instance.Load <SpriteAtlas>("UI/equip/EquipAtlas"); skillimage.sprite = sa.GetSprite(equipData.icon); }
public void ShowEquip(List <EquipData> equipDataList, EquipItemCallback2 callback = null) { //1.如果当前图标数小于传进来的数据那么就添加 //2.如果大于就失活 if (equipDataList == null) { return; } Debug.Log("更新"); for (int i = 0; i < equipDataList.Count; i++) { GameObject item = null; if (i < equipItemContent.childCount) { item = equipItemContent.GetChild(i).gameObject; } else { //实例化到场景中 item = PoolManager.Instance.GetObj("Prafebs/UI/equipItem"); //设置父对象 item.transform.SetParent(equipItemContent); (item.transform as RectTransform).localScale = Vector3.one; } EquipItemController si = item.GetComponent <EquipItemController>(); //初始化图标 LocalEquipData localEquip = EquipDataModel.Instance.MyEquipData2Local(equipDataList[i]); si.Init(equipDataList[i], callback); } int num = equipItemContent.childCount; for (int i = equipDataList.Count; i < num; i++) { PoolManager.Instance.PushObj(equipItemContent.GetChild(equipDataList.Count).gameObject); } }
public void OnPointerEnter(PointerEventData eventData) { GameObject desModel = PoolManager.Instance.GetObj("Prafebs/UI/EquipDetailsPanel"); UIManager.Instance.ShowPanel <EquipItemView>("EquipDetailsPanel", (obj) => { switch (nowType) { case EquipViewType.Bag: LocalEquipData temp = EquipDataModel.Instance.MyEquipData2Local(myEquipData2); obj.Init(temp); break; case EquipViewType.Store: obj.Init(myEquipData); break; } Vector3 localPos = GetPosition(gameObject.transform.localPosition, gameObject.transform); obj.gameObject.transform.localPosition = new Vector3(localPos.x + 210, localPos.y, localPos.z); //obj.gameObject.transform.localPosition = new Vector2(gameObject.transform.localPosition.x, gameObject.transform.localPosition.y + equipItemContent.transform.localPosition.y); }, E_UI_Layer.Top); }
public void OnClickBuy(LocalEquipData equipData) { myLocalEquipData = equipData; storePanalView.ShowPrice(equipData.price); }
/// <summary> /// 返回当前玩家拥有的装备列表 /// </summary> /// <returns></returns> public List <EquipData> GetEquipList() { //找当当前的用户名 if (userName == "") { userName = UserModel.Instance.GetMyUserId(); } if (EquipDataList.Count == 0) { //如果没有初始数据,就创建一个用户初始数据 if (!File.Exists(Application.persistentDataPath + "/EquipData.Json")) { //创建初始数据,合并服务器数据和本地数据 //创建服务器数据并存下来 ServerEquipData serverEquipData = new ServerEquipData(userName, 8001); playerDatas.Add(serverEquipData); //根据服务器数据到本地获取数据 LocalEquipData localEquipData = EquipDataMgr.Instance.GetEquipDataById(serverEquipData.id); //合并数据 EquipData equipData = new EquipData(serverEquipData.id, localEquipData.name, localEquipData.des, localEquipData.addAtk, localEquipData.addDef, localEquipData.icon, localEquipData.price, localEquipData.addMana, localEquipData.addHp, localEquipData.addSpeed, localEquipData.equipType); //存到玩家当前数据 EquipDataList.Add(equipData); ServerEquipData serverEquipData2 = new ServerEquipData(userName, 8007); playerDatas.Add(serverEquipData2); LocalEquipData localEquipData2 = EquipDataMgr.Instance.GetEquipDataById(serverEquipData2.id); EquipData equipData2 = new EquipData(serverEquipData2.id, localEquipData2.name, localEquipData2.des, localEquipData2.addAtk, localEquipData2.addDef, localEquipData2.icon, localEquipData2.price, localEquipData2.addMana, localEquipData2.addHp, localEquipData2.addSpeed, localEquipData2.equipType); EquipDataList.Add(equipData2); //读入json SaveData(); } else { string json = File.ReadAllText(Application.persistentDataPath + "/EquipData.Json"); //读Json playerDatas = JsonMapper.ToObject <List <ServerEquipData> >(json); //取出表里面当前玩家的数据,存在当前玩家的服务器数据中 for (int i = 0; i < playerDatas.Count; i++) { if (playerDatas[i].username == userName) { //serverSkillData.Add(playerDatas[i]); LocalEquipData localEquipData2 = EquipDataMgr.Instance.GetEquipDataById(playerDatas[i].id); EquipData equipData2 = new EquipData(localEquipData2.id, localEquipData2.name, localEquipData2.des, localEquipData2.addAtk, localEquipData2.addDef, localEquipData2.icon, localEquipData2.price, localEquipData2.addMana, localEquipData2.addHp, localEquipData2.addSpeed, localEquipData2.equipType); //服务器数据加上本地数据 EquipDataList.Add(equipData2); } } } return(EquipDataList); } else { return(EquipDataList); } }