示例#1
0
    public void AddBodyPart(Body_part part)
    {
        try
        {
            Body_draw sr = Body_sprites[part.type];
            sr.LoadSR();
        }
        catch
        {
            Transform child = Instantiate(SpriteContainer).transform;
            child.name = part.type.ToString();
            Body_draw sr = child.gameObject.AddComponent <Body_draw>();
            sr.part = part;

            child.SetParent(transform);
            child.localPosition    = Vector3.zero;
            child.localEulerAngles = Vector3.zero;
            child.localScale       = new Vector3(1, 1, 1);

            Body_sprites.Add(part.type, sr);
            //sprites.Add(part.category, sr);
        }
    }
示例#2
0
    public void ADDITEMS()
    {
        foreach (SpriteGender g in Enum.GetValues(typeof(SpriteGender)))
        {
            body_parts.Add(g, new Dictionary <Skin_type, Dictionary <body_part, List <Body_part> > >());
            foreach (Skin_type skin in Enum.GetValues(typeof(Skin_type)))
            {
                body_parts[g].Add(skin, new Dictionary <body_part, List <Body_part> >());
                foreach (body_part p in Enum.GetValues(typeof(body_part)))
                {
                    body_parts[g][skin].Add(p, new List <Body_part>());
                }
            }

            Game_Items.Add(g, new Dictionary <item_type, Dictionary <int, game_item> >());
            foreach (item_type type in Enum.GetValues(typeof(item_type)))
            {
                Game_Items[g].Add(type, new Dictionary <int, game_item>());
            }
        }

        foreach (string sdl in DataBase.Sprite_DataBase.Data.Keys)
        {
            foreach (SpriteData sd in DataBase.Sprite_DataBase.Data[sdl])
            {
                string pp = "";
                try
                {
                    pp = sd.path.Split(new string[] { "sub_", "\\" }, StringSplitOptions.None)[2];
                }
                catch
                {
                    pp = sd.path.Split(new string[] { "sub_", "/" }, StringSplitOptions.None)[2];
                }
                if (pp.Contains("body"))
                {
                    foreach (Skin_type s in Enum.GetValues(typeof(Skin_type)))
                    {
                        bool exception = sd.key.Contains(body_part.hair.ToString());

                        if (sd.name.Contains(s.ToString()) || exception)
                        {
                            foreach (body_part p in Enum.GetValues(typeof(body_part)))
                            {
                                if (sd.key.Contains(p.ToString()))
                                {
                                    if (p == body_part.hair)
                                    {
                                        if (s != Skin_type.red_orc)
                                        {
                                            for (float r = 0; r < 1f; r += 0.2f)
                                            {
                                                for (float g = 0; g < 1f; g += 0.2f)
                                                {
                                                    for (float b = 0; b < 1f; b += 0.2f)
                                                    {
                                                        Body_part hair = new Body_part();
                                                        hair.id       = sd.id;
                                                        hair.gender   = sd.sg;
                                                        hair.skin     = s;
                                                        hair.type     = p;
                                                        hair.color    = new Color(r, g, b);
                                                        hair.InListID = body_parts[sd.sg][s][p].Count;

                                                        body_parts[sd.sg][s][p].Add(hair);
                                                    }
                                                }
                                            }
                                            break;
                                        }
                                        else
                                        {
                                            break;
                                        }
                                    }
                                    Body_part part = new Body_part();
                                    part.id       = sd.id;
                                    part.gender   = sd.sg;
                                    part.skin     = s;
                                    part.type     = p;
                                    part.InListID = body_parts[sd.sg][s][p].Count;

                                    body_parts[sd.sg][s][p].Add(part);

                                    break;
                                }
                            }
                            if (!exception)
                            {
                                break;
                            }
                        }
                    }

                    continue;
                }

                CreateItems(sd);
                lIcons.Add(sd);
            }
        }
    }