Пример #1
0
    public static uint getGender(uint fashionID)
    {
        uint            gener           = 0;
        GoodsAttrConfig goodsAttrConfig = GameSystem.Instance.GoodsConfigData.GetgoodsAttrConfig(fashionID);

        if (goodsAttrConfig != null)
        {
            gener = goodsAttrConfig.gender;
        }
        else
        {
            Debug.LogError("cannot find  the gender by fashionId:" + fashionID);
        }

        return(gener);
    }
Пример #2
0
    public void Init(GoodsProto data)
    {
        //uuid = data.uuid;
        //id = data.id;
        //category = data.category;
        //num = data.num;
        //level = data.level;
        //quality = data.quality;
        //is_equip = data.is_equip == 1 ? true : false;
        //_timeLeft = data.time_left;
        //_isUsed = data.is_used == 1;
        //_exp = data.exp;
        //fashionAttrList = data.fashion_attr_id;
        uuid            = data.uuid;
        id              = data.id;
        category        = data.category;
        num             = data.num == 0 ? num : data.num;
        level           = data.level == 0 ? level : data.level;
        quality         = data.quality == GoodsQuality.GQ_NONE ? quality : data.quality;
        is_equip        = data.is_equip == 1 ? true : false;
        _timeLeft       = data.time_left == 0 ? _timeLeft : data.time_left;
        _isUsed         = data.is_used == 1 ? true : false;
        _exp            = data.exp == 0 ? _exp : data.exp;
        fashionAttrList = data.fashion_attr_id;

        GoodsAttrConfig config = GameSystem.Instance.GoodsConfigData.GetgoodsAttrConfig(id);

        if (config != null)
        {
            suit_id = config.suit_id;
            icon    = config.icon;
            uint subUint = 0;
            canUse  = config.can_use == 1 ? true : false;
            canSell = config.can_sell == 1 ? true : false;

            if (category == GoodsCategory.GC_EQUIPMENT || category == GoodsCategory.GC_CONSUME)
            {
                if (config.sub_category != "")
                {
                    subUint = uint.Parse(config.sub_category);
                }
                subCategory = (EquipmentType)subUint;
            }
            if (category == GoodsCategory.GC_BADGE)
            {
                if (config.sub_category != "")
                {
                    subUint = uint.Parse(config.sub_category);
                }
                badgeCategory = (BadgeCG)subUint;
            }

            if (category == GoodsCategory.GC_FASHION)
            {
                _fashionSubCategory.Clear();
                string[] strA = config.sub_category.Split('&');
                foreach (string s in strA)
                {
                    subUint = uint.Parse(s);
                    _fashionSubCategory.Add(subUint);
                }
            }

            name = config.name;
            if (suit_id != 0) //套装
            {
                subName = CommonFunction.GetConstString("STR_SUIT_PART" + subUint);
            }
            else
            {
                subName = "";
            }
        }
    }
Пример #3
0
    public void ReadGoodsAttrData()
    {
        //string text = ResourceLoadManager.Instance.GetConfigText(name1);
        //if (text == null)
        //{
        //    Debug.LogError("LoadConfig failed: " + name1);
        //    return;
        //}
        goodsAttrConfig.Clear();
        suitAttrConfig.Clear();
        //TextAsset conf = ResourceLoadManager.Instance.GetResources(GlobalConst.DIR_XML_GOODSATTR) as TextAsset;
        //TextAsset conf = obj as TextAsset;

        MemoryStream stream        = new MemoryStream(ResourceLoadManager.Instance.GetConfigByte(GlobalConst.DIR_XML_GOODSATTR));
        BinaryReader objBinaryRead = new BinaryReader(stream);

        int count = objBinaryRead.ReadInt32();

        for (int i = 0; i < count; ++i)
        {
            GoodsAttrConfig config = new GoodsAttrConfig();
            config.id                  = (uint)objBinaryRead.ReadInt32();
            config.name                = objBinaryRead.ReadString();
            config.icon                = objBinaryRead.ReadString();
            config.purpose             = objBinaryRead.ReadString();
            config.intro               = objBinaryRead.ReadString();
            config.category            = (uint)objBinaryRead.ReadInt32();
            config.sub_category        = objBinaryRead.ReadString();
            config.gender              = (uint)objBinaryRead.ReadInt32();
            config.suit_id             = (uint)objBinaryRead.ReadInt32();
            config.suit_addn_attr      = objBinaryRead.ReadString();
            config.suit_multi_attr     = objBinaryRead.ReadString();
            config.quality             = (uint)objBinaryRead.ReadInt32();
            config.stack_num           = (uint)objBinaryRead.ReadInt32();
            config.can_use             = (uint)objBinaryRead.ReadInt32();
            config.use_result_id       = (uint)objBinaryRead.ReadInt32();
            config.can_sell            = (uint)objBinaryRead.ReadInt32();
            config.sell_id             = (uint)objBinaryRead.ReadInt32();
            config.sell_price          = (uint)objBinaryRead.ReadInt32();
            config.access_way_type     = (uint)objBinaryRead.ReadInt32();
            config.access_way          = objBinaryRead.ReadString();
            config.show_special_effect = objBinaryRead.ReadString();

            if (config.suit_id != 0)
            {
                SuitAddnAttrData suitAttrData = new SuitAddnAttrData();
                suitAttrData.goodsID = config.id;
                suitAttrData.suitID  = config.suit_id;
                suitAttrData.parts.Add(uint.Parse(config.sub_category));
                //加系数
                string[] entirety1 = config.suit_addn_attr.Split('|');
                for (uint dei = 0; dei < entirety1.Length; ++dei)
                {
                    Dictionary <uint, uint> addn_attr = new Dictionary <uint, uint>();
                    string[] items = entirety1[dei].Split('&');
                    for (int dej = 0; dej < items.Length; ++dej)
                    {
                        string[] detail = items[dej].Split(':');
                        if (detail.Length < 2)
                        {
                            continue;
                        }
                        addn_attr[uint.Parse(detail[0])] = uint.Parse(detail[1]);
                    }
                    suitAttrData.addn_attr.Add(dei + 1, addn_attr);
                }
                //乘系数
                string[] entirety2 = config.suit_multi_attr.Split('|');
                for (uint dei = 0; dei < entirety2.Length; ++dei)
                {
                    Dictionary <uint, uint> addn_attr = new Dictionary <uint, uint>();
                    string[] items = entirety2[dei].Split('&');
                    for (int dej = 0; dej < items.Length; ++dej)
                    {
                        string[] detail = items[dej].Split(':');
                        if (detail.Length < 2)
                        {
                            continue;
                        }
                        addn_attr[uint.Parse(detail[0])] = uint.Parse(detail[1]);
                    }
                    suitAttrData.multi_attr.Add(dei + 1, addn_attr);
                }
                suitAttrConfig.Add(config.id, suitAttrData);
            }

            if (!goodsAttrConfig.ContainsKey(config.id))
            {
                goodsAttrConfig.Add(config.id, config);
            }
        }

        objBinaryRead.Close();
        stream.Close();
        //读取以及处理XML文本的类
        //XmlDocument xmlDoc = CommonFunction.LoadXmlConfig(GlobalConst.DIR_XML_GOODSATTR);
        //解析xml的过程

        /*XmlNodeList nodelist = xmlDoc.SelectSingleNode("Data").ChildNodes;
         * foreach (XmlElement xe in nodelist)
         * {
         *  XmlNode comment = xe.SelectSingleNode(GlobalConst.CONFIG_SWITCH_COLUMN);
         *  if (comment != null && comment.InnerText == GlobalConst.CONFIG_SWITCH)
         *      continue;
         *  GoodsAttrConfig config = new GoodsAttrConfig();
         *  foreach (XmlElement xel in xe)
         *  {
         *      uint value = 0;
         *      if (xel.Name == "id")
         *      {
         *          uint.TryParse(xel.InnerText, out value);
         *          config.id = value;
         *      }
         *      else if (xel.Name == "name")
         *      {
         *          config.name = xel.InnerText;
         *      }
         *      else if (xel.Name == "icon")
         *      {
         *          config.icon = xel.InnerText;
         *      }
         *      else if (xel.Name == "intro")
         *      {
         *          config.intro = xel.InnerText;
         *      }
         *      else if (xel.Name == "category")
         *      {
         *          uint.TryParse(xel.InnerText, out value);
         *          config.category = value;
         *      }
         *      else if (xel.Name == "sub_category")
         *      {
         *         // uint.TryParse(xel.InnerText, out value);
         *          config.sub_category = xel.InnerText;
         *      }
         *      else if (xel.Name == "quality")
         *      {
         *          uint.TryParse(xel.InnerText, out value);
         *          config.quality = value;
         *      }
         *      else if (xel.Name == "can_use")
         *      {
         *          uint.TryParse(xel.InnerText, out value);
         *          config.can_use = value;
         *      }
         *      else if (xel.Name == "use_result_id")
         *      {
         *          uint.TryParse(xel.InnerText, out value);
         *          config.use_result_id = value;
         *      }
         *      else if (xel.Name == "stack_num")
         *      {
         *          uint.TryParse(xel.InnerText, out value);
         *          config.stack_num = value;
         *      }
         *      else if (xel.Name == "can_sell")
         *      {
         *          uint.TryParse(xel.InnerText, out value);
         *          config.can_sell = value;
         *      }
         *      else if (xel.Name == "sell_price")
         *      {
         *          uint.TryParse(xel.InnerText, out value);
         *          config.sell_price = value;
         *      }
         *      else if (xel.Name == "can_composite")
         *      {
         *          uint.TryParse(xel.InnerText, out value);
         *          config.can_composite = value;
         *      }
         *      else if( xel.Name == "gender" )
         *      {
         *          uint.TryParse(xel.InnerText, out value);
         *          config.gender = value;
         *      }
         *      else if (xel.Name == "purpose")
         *      {
         *          config.purpose = xel.InnerText;
         *      }
         *  }
         *  if (!goodsAttrConfig.ContainsKey(config.id))
         *  {
         *      goodsAttrConfig.Add(config.id, config);
         *  }
         * }*/
    }