コード例 #1
0
    public FashionAttr GetFashionAttr(uint attr_id)
    {
        FashionAttr fashionAttr = null;

        fashionAttrs.TryGetValue(attr_id, out fashionAttr);
        return(fashionAttr);
    }
コード例 #2
0
    static int GetRandomFashionAttr(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 1);
        FashionConfig obj = (FashionConfig)LuaScriptMgr.GetNetObjectSelf(L, 1, "FashionConfig");
        FashionAttr   o   = obj.GetRandomFashionAttr();

        LuaScriptMgr.PushObject(L, o);
        return(1);
    }
コード例 #3
0
    static int GetFashionAttr(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        FashionConfig obj  = (FashionConfig)LuaScriptMgr.GetNetObjectSelf(L, 1, "FashionConfig");
        uint          arg0 = (uint)LuaScriptMgr.GetNumber(L, 2);
        FashionAttr   o    = obj.GetFashionAttr(arg0);

        LuaScriptMgr.PushObject(L, o);
        return(1);
    }
コード例 #4
0
    public FashionAttr GetRandomFashionAttr()
    {
        FashionAttr attr     = null;
        uint        keyIndex = (uint)Random.Range(1, fashionAttrs.Count);
        uint        index    = 1;

        foreach (KeyValuePair <uint, FashionAttr> item in fashionAttrs)
        {
            if (index == keyIndex)
            {
                attr = item.Value;
                return(attr);
            }
            index += 1;
        }
        return(attr);
    }
コード例 #5
0
    static int _CreateFashionAttr(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

        if (count == 0)
        {
            FashionAttr obj = new FashionAttr();
            LuaScriptMgr.PushObject(L, obj);
            return(1);
        }
        else
        {
            LuaDLL.luaL_error(L, "invalid arguments to method: FashionAttr.New");
        }

        return(0);
    }
コード例 #6
0
    static int get_player_attr_id(IntPtr L)
    {
        object      o   = LuaScriptMgr.GetLuaObject(L, 1);
        FashionAttr obj = (FashionAttr)o;

        if (obj == null)
        {
            LuaTypes types = LuaDLL.lua_type(L, 1);

            if (types == LuaTypes.LUA_TTABLE)
            {
                LuaDLL.luaL_error(L, "unknown member name player_attr_id");
            }
            else
            {
                LuaDLL.luaL_error(L, "attempt to index player_attr_id on a nil value");
            }
        }

        LuaScriptMgr.Push(L, obj.player_attr_id);
        return(1);
    }
コード例 #7
0
    static int set_player_attr_num(IntPtr L)
    {
        object      o   = LuaScriptMgr.GetLuaObject(L, 1);
        FashionAttr obj = (FashionAttr)o;

        if (obj == null)
        {
            LuaTypes types = LuaDLL.lua_type(L, 1);

            if (types == LuaTypes.LUA_TTABLE)
            {
                LuaDLL.luaL_error(L, "unknown member name player_attr_num");
            }
            else
            {
                LuaDLL.luaL_error(L, "attempt to index player_attr_num on a nil value");
            }
        }

        obj.player_attr_num = (uint)LuaScriptMgr.GetNumber(L, 3);
        return(0);
    }
コード例 #8
0
    public void ReadConfig()
    {
        if (isLoadFinish == false)
        {
            return;
        }
        isLoadFinish = false;
        lock (LockObject) { GameSystem.Instance.readConfigCnt += 1; }

        Debug.Log("Config reading " + name1);
        string text = ResourceLoadManager.Instance.GetConfigText(name1);

        if (text == null)
        {
            Debug.LogError("LoadConfig failed: " + name1);
            return;
        }

        //读取以及处理XML文本的类
        XmlDocument doc = CommonFunction.LoadXmlConfig(name1, text);

        XmlNode node_data = doc.SelectSingleNode("Data");

        foreach (XmlNode node_line in node_data.SelectNodes("Line"))
        {
            if (node_line.SelectSingleNode("switch").InnerText == "#")
            {
                continue;
            }

            FashionItem data = new FashionItem();
            data.fashion_id = uint.Parse(node_line.SelectSingleNode("id").InnerText);

            for (int i = 0; i < 6; i++)
            {
                string tmp = "shape_id" + (i + 1);

                string shaderID = node_line.SelectSingleNode(tmp).InnerText;
                if (shaderID == "")
                {
                    continue;
                }

                FashionMatch item = new FashionMatch();

                item.shape_id = shaderID;

                tmp = "bone_id" + (i + 1);
                string   strHideId = node_line.SelectSingleNode(tmp).InnerText;
                string[] tokens    = strHideId.Split('&');
                foreach (string token in tokens)
                {
                    uint hide_Id;
                    if (uint.TryParse(token, out hide_Id))
                    {
                        item.hide_id.Add(hide_Id);
                    }
                }
                tmp            = "body_type" + (i + 1);
                item.body_type = node_line.SelectSingleNode(tmp).InnerText;


                data.fashion_matchs.Add(item.body_type, item);
            }



            configs.Add(data.fashion_id, data);
        }


        Debug.Log("Config reading " + name2);

        text = ResourceLoadManager.Instance.GetConfigText(name2);
        if (text == null)
        {
            Debug.LogError("LoadConfig failed: " + name2);
            return;
        }

        //读取以及处理XML文本的类
        doc       = CommonFunction.LoadXmlConfig(GlobalConst.DIR_XML_BONE_MAPPING, text);
        node_data = doc.SelectSingleNode("Data");
        foreach (XmlNode node_line in node_data.SelectNodes("Line"))
        {
            HidePart data = new HidePart();
            data.hide_id = uint.Parse(node_line.SelectSingleNode("id").InnerText);
            data.part_id = node_line.SelectSingleNode("part").InnerText;
            mapHideParts.Add(data.hide_id, data);
        }


        Debug.Log("Config reading " + name3);
        text = ResourceLoadManager.Instance.GetConfigText(name3);
        if (text == null)
        {
            Debug.LogError("LoadConfig failed: " + name3);
            return;
        }

        //读取以及处理XML文本的类
        doc       = CommonFunction.LoadXmlConfig(GlobalConst.DIR_XML_FASHIONATTR, text);
        node_data = doc.SelectSingleNode("Data");
        foreach (XmlNode node_line in node_data.SelectNodes("Line"))
        {
            if (node_line.SelectSingleNode("switch").InnerText == "#")
            {
                continue;
            }

            FashionAttr fashionAttr = new FashionAttr();
            fashionAttr.attr_id = uint.Parse(node_line.SelectSingleNode("attrs_id").InnerText);
            string   attrsStr = node_line.SelectSingleNode("attrs").InnerText.ToString();
            string[] attr     = attrsStr.Split(':');
            fashionAttr.player_attr_id  = uint.Parse(attr[0]);
            fashionAttr.player_attr_num = uint.Parse(attr[1]);

            if (!fashionAttrs.ContainsKey(fashionAttr.attr_id))
            {
                fashionAttrs.Add(fashionAttr.attr_id, fashionAttr);
            }
        }


        Debug.Log("Config reading " + name4);
        text = ResourceLoadManager.Instance.GetConfigText(name4);
        if (text == null)
        {
            Debug.LogError("LoadConfig failed: " + name4);
            return;
        }

        //读取以及处理XML文本的类
        doc       = CommonFunction.LoadXmlConfig(GlobalConst.DIR_XML_FASHIONDATA, text);
        node_data = doc.SelectSingleNode("Data");
        foreach (XmlNode node_line in node_data.SelectNodes("Line"))
        {
            if (node_line.SelectSingleNode("switch").InnerText == "#")
            {
                continue;
            }

            FashionData fashionData = new FashionData();
            fashionData.fashion_id = uint.Parse(node_line.SelectSingleNode("id").InnerText);
            string   resetInfo = node_line.SelectSingleNode("reset_price").InnerText.ToString();
            string[] resetArr  = resetInfo.Split(':');
            fashionData.reset_id  = uint.Parse(resetArr[0]);
            fashionData.reset_num = uint.Parse(resetArr[1]);

            if (!fashionDatas.ContainsKey(fashionData.fashion_id))
            {
                fashionDatas.Add(fashionData.fashion_id, fashionData);
            }
        }
    }