示例#1
0
 //返回当前玩家的装备栏信息
 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);
 }
示例#2
0
    /// <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);
    }
示例#3
0
    /// <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);
    }
示例#4
0
    //商店的初始化
    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);
    }
示例#5
0
    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);
    }
示例#6
0
    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);
        }
    }
示例#7
0
    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);
    }
示例#8
0
 public void OnClickBuy(LocalEquipData equipData)
 {
     myLocalEquipData = equipData;
     storePanalView.ShowPrice(equipData.price);
 }
示例#9
0
    /// <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);
        }
    }