Browse Source

Fix missing initial values; add dynamic BG loading

denikson 5 years ago
parent
commit
a5c59f611c

+ 230 - 249
MultipleMaids/CM3D2/MultipleMaids/Plugin/MultipleMaids.Gui.cs

@@ -574,6 +574,24 @@ namespace CM3D2.MultipleMaids.Plugin
                         case "HeroineRoom_C_Night":
                             bgCombo2List[index] = new GUIContent("純真部屋(夜)");
                             break;
+                        case "HeroineRoom_D1":
+                            bgCombo2List[index] = new GUIContent("Bookworm Room");
+                            break;
+                        case "HeroineRoom_D1_Night":
+                            bgCombo2List[index] = new GUIContent("Bookworm Room (Night)");
+                            break;
+                        case "HeroineRoom_D":
+                            bgCombo2List[index] = new GUIContent("Oneechan Room");
+                            break;
+                        case "HeroineRoom_D_Night":
+                            bgCombo2List[index] = new GUIContent("Oneechan Room (Night)");
+                            break;
+                        case "HeroineRoom_E":
+                            bgCombo2List[index] = new GUIContent("Sadist Room");
+                            break;
+                        case "HeroineRoom_E_Night":
+                            bgCombo2List[index] = new GUIContent("Sadist Room (Night)");
+                            break;
                         case "HoneymoonRoom":
                             bgCombo2List[index] = new GUIContent("ハネムーンルーム");
                             break;
@@ -764,7 +782,7 @@ namespace CM3D2.MultipleMaids.Plugin
                             bgCombo2List[index] = new GUIContent("劇場(夜)");
                             break;
                         case "Toilet":
-                            bgCombo2List[index] = new GUIContent("トイレ");
+                            bgCombo2List[index] = new GUIContent("Neightlet");
                             break;
                         case "Town":
                             bgCombo2List[index] = new GUIContent("街");
@@ -1997,444 +2015,368 @@ namespace CM3D2.MultipleMaids.Plugin
                         goto IL_1692;
                     }
 
-                    if (dicts[1] == null)
+                    switch (text)
                     {
-                        dicts[1] = new Dictionary<string, int>(106)
-                        {
-                                {"Salon", 0},
-                                {"Syosai", 1},
-                                {"Syosai_Night", 2},
-                                {"DressRoom_NoMirror", 3},
-                                {"MyBedRoom", 4},
-                                {"MyBedRoom_Night", 5},
-                                {"MyBedRoom_NightOff", 6},
-                                {"Bathroom", 7},
-                                {"PlayRoom", 8},
-                                {"Pool", 9},
-                                {"SMRoom", 10},
-                                {"PlayRoom2", 11},
-                                {"Salon_Garden", 12},
-                                {"LargeBathRoom", 13},
-                                {"MaidRoom", 14},
-                                {"OiranRoom", 15},
-                                {"Penthouse", 16},
-                                {"Town", 17},
-                                {"Kitchen", 18},
-                                {"Kitchen_Night", 19},
-                                {"Shitsumu", 20},
-                                {"Shitsumu_Night", 21},
-                                {"Salon_Entrance", 22},
-                                {"Bar", 23},
-                                {"Toilet", 24},
-                                {"Train", 25},
-                                {"SMRoom2", 26},
-                                {"LockerRoom", 27},
-                                {"Oheya", 28},
-                                {"Salon_Day", 29},
-                                {"ClassRoom", 30},
-                                {"ClassRoom_Play", 31},
-                                {"HoneymoonRoom", 32},
-                                {"OutletPark", 33},
-                                {"BigSight", 34},
-                                {"BigSight_Night", 35},
-                                {"PrivateRoom", 36},
-                                {"PrivateRoom_Night", 37},
-                                {"Sea", 38},
-                                {"Sea_Night", 39},
-                                {"Yashiki", 40},
-                                {"Yashiki_Day", 41},
-                                {"Yashiki_Pillow", 42},
-                                {"rotenburo", 43},
-                                {"rotenburo_night", 44},
-                                {"villa", 45},
-                                {"villa_night", 46},
-                                {"villa_bedroom", 47},
-                                {"villa_bedroom_night", 48},
-                                {"villa_farm", 49},
-                                {"villa_farm_night", 50},
-                                {"karaokeroom", 51},
-                                {"Theater", 52},
-                                {"Theater_LightOff", 53},
-                                {"LiveStage", 54},
-                                {"LiveStage_Side", 55},
-                                {"LiveStage_use_dance", 56},
-                                {"BackStage", 57},
-                                {"DanceRoom", 58},
-                                {"EmpireClub_Rotary", 59},
-                                {"EmpireClub_Rotary_Night", 60},
-                                {"EmpireClub_Entrance", 61},
-                                {"ShinShitsumu", 62},
-                                {"ShinShitsumu_ChairRot", 63},
-                                {"ShinShitsumu_Night", 64},
-                                {"MyRoom", 65},
-                                {"MyRoom_Night", 66},
-                                {"OpemCafe", 67},
-                                {"OpemCafe_Night", 68},
-                                {"Restaurant", 69},
-                                {"Restaurant_Night", 70},
-                                {"MainKitchen", 71},
-                                {"MainKitchen_Night", 72},
-                                {"MainKitchen_LightOff", 73},
-                                {"BarLounge", 74},
-                                {"Casino", 75},
-                                {"CasinoMini", 76},
-                                {"SMClub", 77},
-                                {"Soap", 78},
-                                {"Spa", 79},
-                                {"Spa_Night", 80},
-                                {"ShoppingMall", 81},
-                                {"ShoppingMall_Night", 82},
-                                {"GameShop", 83},
-                                {"MusicShop", 84},
-                                {"HeroineRoom_A1", 85},
-                                {"HeroineRoom_A1_Night", 86},
-                                {"HeroineRoom_B1", 87},
-                                {"HeroineRoom_B1_Night", 88},
-                                {"HeroineRoom_C1", 89},
-                                {"HeroineRoom_C1_Night", 90},
-                                {"HeroineRoom_A", 91},
-                                {"HeroineRoom_A_Night", 92},
-                                {"HeroineRoom_B", 93},
-                                {"HeroineRoom_B_Night", 94},
-                                {"HeroineRoom_C", 95},
-                                {"HeroineRoom_C_Night", 96},
-                                {"Shukuhakubeya_BedRoom", 97},
-                                {"Shukuhakubeya_BedRoom_Night", 98},
-                                {"Shukuhakubeya_Other_BedRoom", 99},
-                                {"Shukuhakubeya_Living", 100},
-                                {"Shukuhakubeya_Living_Night", 101},
-                                {"Shukuhakubeya_Toilet", 102},
-                                {"Shukuhakubeya_Toilet_Night", 103},
-                                {"Shukuhakubeya_WashRoom", 104},
-                                {"Shukuhakubeya_WashRoom_Night", 105}
-                        };
-                    }
-
-                    if (dicts[1].TryGetValue(text, out num))
-                    {
-                        goto IL_1692;
-                    }
-
-                    switch (num)
-                    {
-                        case 0:
-                            bgComboList[i] = new GUIContent("サロン");
+                        case "Salon":
+                            bgComboList[i] = new GUIContent("Salon");
                             break;
-                        case 1:
-                            bgComboList[i] = new GUIContent("書斎");
+                        case "Syosai":
+                            bgComboList[i] = new GUIContent("Study");
                             break;
-                        case 2:
-                            bgComboList[i] = new GUIContent("書斎(夜)");
+                        case "Syosai_Night":
+                            bgComboList[i] = new GUIContent("Study (Night)");
                             break;
-                        case 3:
-                            bgComboList[i] = new GUIContent("ドレスルーム");
+                        case "DressRoom_NoMirror":
+                            bgComboList[i] = new GUIContent("Dress Room");
                             break;
-                        case 4:
-                            bgComboList[i] = new GUIContent("自室");
+                        case "MyBedRoom":
+                            bgComboList[i] = new GUIContent("MC's Room");
                             break;
-                        case 5:
-                            bgComboList[i] = new GUIContent("自室(夜)");
+                        case "MyBedRoom_Night":
+                            bgComboList[i] = new GUIContent("MC's Room (Night)");
                             break;
-                        case 6:
-                            bgComboList[i] = new GUIContent("自室(消灯)");
+                        case "MyBedRoom_NightOff":
+                            bgComboList[i] = new GUIContent("MC's Room (Dark)");
                             break;
-                        case 7:
-                            bgComboList[i] = new GUIContent("風呂");
+                        case "Bathroom":
+                            bgComboList[i] = new GUIContent("Bathroom");
                             break;
-                        case 8:
-                            bgComboList[i] = new GUIContent("プレイルーム");
+                        case "PlayRoom":
+                            bgComboList[i] = new GUIContent("Play Room");
                             break;
-                        case 9:
-                            bgComboList[i] = new GUIContent("プール");
+                        case "Pool":
+                            bgComboList[i] = new GUIContent("Pool");
                             break;
-                        case 10:
-                            bgComboList[i] = new GUIContent("SMルーム");
+                        case "SMRoom":
+                            bgComboList[i] = new GUIContent("SM Room");
                             break;
-                        case 11:
-                            bgComboList[i] = new GUIContent("プレイルーム2");
+                        case "PlayRoom2":
+                            bgComboList[i] = new GUIContent("Play Room 2");
                             break;
-                        case 12:
-                            bgComboList[i] = new GUIContent("サロン(中庭)");
+                        case "Salon_Garden":
+                            bgComboList[i] = new GUIContent("Courtyard");
                             break;
-                        case 13:
-                            bgComboList[i] = new GUIContent("大浴場");
+                        case "LargeBathRoom":
+                            bgComboList[i] = new GUIContent("Big Bath");
                             break;
-                        case 14:
-                            bgComboList[i] = new GUIContent("メイド部屋");
+                        case "MaidRoom":
+                            bgComboList[i] = new GUIContent("Maid Room");
                             break;
-                        case 15:
-                            bgComboList[i] = new GUIContent("花魁ルーム");
+                        case "OiranRoom":
+                            bgComboList[i] = new GUIContent("Cortesan Room");
                             break;
-                        case 16:
-                            bgComboList[i] = new GUIContent("ペントハウス");
+                        case "Penthouse":
+                            bgComboList[i] = new GUIContent("Penthouse");
                             break;
-                        case 17:
-                            bgComboList[i] = new GUIContent("");
+                        case "Town":
+                            bgComboList[i] = new GUIContent("Town");
                             break;
-                        case 18:
-                            bgComboList[i] = new GUIContent("キッチン");
+                        case "Kitchen":
+                            bgComboList[i] = new GUIContent("Kitchen");
                             break;
-                        case 19:
-                            bgComboList[i] = new GUIContent("キッチン(夜)");
+                        case "Kitchen_Night":
+                            bgComboList[i] = new GUIContent("Kitchen (Night)");
                             break;
-                        case 20:
+                        case "Shitsumu":
                             bgComboList[i] = new GUIContent("執務室");
                             break;
-                        case 21:
+                        case "Shitsumu_Night":
                             bgComboList[i] = new GUIContent("執務室(夜)");
                             break;
-                        case 22:
+                        case "Salon_Entrance":
                             bgComboList[i] = new GUIContent("エントランス");
                             break;
-                        case 23:
+                        case "Bar":
                             bgComboList[i] = new GUIContent("バー");
                             break;
-                        case 24:
+                        case "Toilet":
                             bgComboList[i] = new GUIContent("トイレ");
                             break;
-                        case 25:
+                        case "Train":
                             bgComboList[i] = new GUIContent("電車");
                             break;
-                        case 26:
+                        case "SMRoom2":
                             bgComboList[i] = new GUIContent("地下室");
                             break;
-                        case 27:
+                        case "LockerRoom":
                             bgComboList[i] = new GUIContent("ロッカールーム");
                             break;
-                        case 28:
+                        case "Oheya":
                             bgComboList[i] = new GUIContent("四畳半部屋");
                             break;
-                        case 29:
+                        case "Salon_Day":
                             bgComboList[i] = new GUIContent("サロン(昼)");
                             break;
-                        case 30:
+                        case "ClassRoom":
                             bgComboList[i] = new GUIContent("教室");
                             break;
-                        case 31:
+                        case "ClassRoom_Play":
                             bgComboList[i] = new GUIContent("教室(夜伽)");
                             break;
-                        case 32:
+                        case "HoneymoonRoom":
                             bgComboList[i] = new GUIContent("ハネムーンルーム");
                             break;
-                        case 33:
+                        case "OutletPark":
                             bgComboList[i] = new GUIContent("アウトレットパーク");
                             break;
-                        case 34:
+                        case "BigSight":
                             bgComboList[i] = new GUIContent("ビッグサイト");
                             break;
-                        case 35:
+                        case "BigSight_Night":
                             bgComboList[i] = new GUIContent("ビッグサイト(夜)");
                             break;
-                        case 36:
+                        case "PrivateRoom":
                             bgComboList[i] = new GUIContent("プライベートルーム");
                             break;
-                        case 37:
+                        case "PrivateRoom_Night":
                             bgComboList[i] = new GUIContent("プライベートルーム(夜)");
                             break;
-                        case 38:
+                        case "Sea":
                             bgComboList[i] = new GUIContent("海");
                             break;
-                        case 39:
+                        case "Sea_Night":
                             bgComboList[i] = new GUIContent("海(夜)");
                             break;
-                        case 40:
+                        case "Yashiki":
                             bgComboList[i] = new GUIContent("屋敷(夜)");
                             break;
-                        case 41:
+                        case "Yashiki_Day":
                             bgComboList[i] = new GUIContent("屋敷");
                             break;
-                        case 42:
+                        case "Yashiki_Pillow":
                             bgComboList[i] = new GUIContent("屋敷(夜・枕)");
                             break;
-                        case 43:
+                        case "rotenburo":
                             bgComboList[i] = new GUIContent("露天風呂");
                             break;
-                        case 44:
+                        case "rotenburo_night":
                             bgComboList[i] = new GUIContent("露天風呂(夜)");
                             break;
-                        case 45:
+                        case "villa":
                             bgComboList[i] = new GUIContent("ヴィラ1F");
                             break;
-                        case 46:
+                        case "villa_night":
                             bgComboList[i] = new GUIContent("ヴィラ1F(夜)");
                             break;
-                        case 47:
+                        case "villa_bedroom":
                             bgComboList[i] = new GUIContent("ヴィラ2F");
                             break;
-                        case 48:
+                        case "villa_bedroom_night":
                             bgComboList[i] = new GUIContent("ヴィラ2F(夜)");
                             break;
-                        case 49:
+                        case "villa_farm":
                             bgComboList[i] = new GUIContent("畑");
                             break;
-                        case 50:
+                        case "villa_farm_night":
                             bgComboList[i] = new GUIContent("畑(夜)");
                             break;
-                        case 51:
+                        case "karaokeroom":
                             bgComboList[i] = new GUIContent("カラオケルーム");
                             break;
-                        case 52:
+                        case "Theater":
                             bgComboList[i] = new GUIContent("劇場");
                             break;
-                        case 53:
+                        case "Theater_LightOff":
                             bgComboList[i] = new GUIContent("劇場(夜)");
                             break;
-                        case 54:
+                        case "LiveStage":
                             bgComboList[i] = new GUIContent("ステージ");
                             break;
-                        case 55:
+                        case "LiveStage_Side":
                             bgComboList[i] = new GUIContent("ステージ(ライト)");
                             break;
-                        case 56:
+                        case "LiveStage_use_dance":
                             bgComboList[i] = new GUIContent("ステージ(オフ)");
                             break;
-                        case 57:
+                        case "BackStage":
                             bgComboList[i] = new GUIContent("ステージ裏");
                             break;
-                        case 58:
+                        case "DanceRoom":
                             bgComboList[i] = new GUIContent("トレーニングルーム");
                             break;
-                        case 59:
+                        case "EmpireClub_Rotary":
                             bgComboList[i] = new GUIContent("ロータリー");
                             break;
-                        case 60:
+                        case "EmpireClub_Rotary_Night":
                             bgComboList[i] = new GUIContent("ロータリー(夜)");
                             break;
-                        case 61:
+                        case "EmpireClub_Entrance":
                             bgComboList[i] = new GUIContent("エントランス");
                             break;
-                        case 62:
+                        case "ShinShitsumu":
                             bgComboList[i] = new GUIContent("執務室");
                             break;
-                        case 63:
+                        case "ShinShitsumu_ChairRot":
                             bgComboList[i] = new GUIContent("執務室(椅子)");
                             break;
-                        case 64:
+                        case "ShinShitsumu_Night":
                             bgComboList[i] = new GUIContent("執務室(夜)");
                             break;
-                        case 65:
+                        case "MyRoom":
                             bgComboList[i] = new GUIContent("主人公部屋");
                             break;
-                        case 66:
+                        case "MyRoom_Night":
                             bgComboList[i] = new GUIContent("主人公部屋(夜)");
                             break;
-                        case 67:
+                        case "OpemCafe":
                             bgComboList[i] = new GUIContent("カフェ");
                             break;
-                        case 68:
+                        case "OpemCafe_Night":
                             bgComboList[i] = new GUIContent("カフェ(夜)");
                             break;
-                        case 69:
+                        case "Restaurant":
                             bgComboList[i] = new GUIContent("レストラン");
                             break;
-                        case 70:
+                        case "Restaurant_Night":
                             bgComboList[i] = new GUIContent("レストラン(夜)");
                             break;
-                        case 71:
+                        case "MainKitchen":
                             bgComboList[i] = new GUIContent("キッチン");
                             break;
-                        case 72:
+                        case "MainKitchen_Night":
                             bgComboList[i] = new GUIContent("キッチン(夜)");
                             break;
-                        case 73:
+                        case "MainKitchen_LightOff":
                             bgComboList[i] = new GUIContent("キッチン(オフ)");
                             break;
-                        case 74:
+                        case "BarLounge":
                             bgComboList[i] = new GUIContent("バー");
                             break;
-                        case 75:
+                        case "Casino":
                             bgComboList[i] = new GUIContent("カジノ");
                             break;
-                        case 76:
+                        case "CasinoMini":
                             bgComboList[i] = new GUIContent("カジノミニ");
                             break;
-                        case 77:
+                        case "SMClub":
                             bgComboList[i] = new GUIContent("SMクラブ");
                             break;
-                        case 78:
+                        case "Soap":
                             bgComboList[i] = new GUIContent("ソープ");
                             break;
-                        case 79:
+                        case "Spa":
                             bgComboList[i] = new GUIContent("スパ");
                             break;
-                        case 80:
+                        case "Spa_Night":
                             bgComboList[i] = new GUIContent("スパ(夜)");
                             break;
-                        case 81:
+                        case "ShoppingMall":
                             bgComboList[i] = new GUIContent("ショッピングモール");
                             break;
-                        case 82:
+                        case "ShoppingMall_Night":
                             bgComboList[i] = new GUIContent("ショッピングモール(夜)");
                             break;
-                        case 83:
+                        case "GameShop":
                             bgComboList[i] = new GUIContent("ゲームショップ");
                             break;
-                        case 84:
+                        case "MusicShop":
                             bgComboList[i] = new GUIContent("ミュージックショップ");
                             break;
-                        case 85:
+                        case "HeroineRoom_A1":
                             bgComboList[i] = new GUIContent("無垢部屋");
                             break;
-                        case 86:
+                        case "HeroineRoom_A1_Night":
                             bgComboList[i] = new GUIContent("無垢部屋(夜)");
                             break;
-                        case 87:
+                        case "HeroineRoom_B1":
                             bgComboList[i] = new GUIContent("真面目部屋");
                             break;
-                        case 88:
+                        case "HeroineRoom_B1_Night":
                             bgComboList[i] = new GUIContent("真面目部屋(夜)");
                             break;
-                        case 89:
+                        case "HeroineRoom_C1":
                             bgComboList[i] = new GUIContent("凜デレ部屋");
                             break;
-                        case 90:
+                        case "HeroineRoom_C1_Night":
                             bgComboList[i] = new GUIContent("凜デレ部屋(夜)");
                             break;
-                        case 91:
+                        case "HeroineRoom_A":
                             bgComboList[i] = new GUIContent("ツンデレ部屋");
                             break;
-                        case 92:
+                        case "HeroineRoom_A_Night":
                             bgComboList[i] = new GUIContent("ツンデレ部屋(夜)");
                             break;
-                        case 93:
+                        case "HeroineRoom_B":
                             bgComboList[i] = new GUIContent("クーデレ部屋");
                             break;
-                        case 94:
+                        case "HeroineRoom_B_Night":
                             bgComboList[i] = new GUIContent("クーデレ部屋(夜)");
                             break;
-                        case 95:
+                        case "HeroineRoom_C":
                             bgComboList[i] = new GUIContent("純真部屋");
                             break;
-                        case 96:
+                        case "HeroineRoom_C_Night":
                             bgComboList[i] = new GUIContent("純真部屋(夜)");
                             break;
-                        case 97:
+                        case "Shukuhakubeya_BedRoom":
                             bgComboList[i] = new GUIContent("宿泊-ベッドルーム");
                             break;
-                        case 98:
+                        case "Shukuhakubeya_BedRoom_Night":
                             bgComboList[i] = new GUIContent("宿泊-ベッドルーム(夜)");
                             break;
-                        case 99:
+                        case "Shukuhakubeya_Other_BedRoom":
                             bgComboList[i] = new GUIContent("宿泊-他ベッドルーム(夜)");
                             break;
-                        case 100:
+                        case "Shukuhakubeya_Living":
                             bgComboList[i] = new GUIContent("宿泊-リビング");
                             break;
-                        case 101:
+                        case "Shukuhakubeya_Living_Night":
                             bgComboList[i] = new GUIContent("宿泊-リビング(夜)");
                             break;
-                        case 102:
+                        case "Shukuhakubeya_Toilet":
                             bgComboList[i] = new GUIContent("宿泊-トイレ");
                             break;
-                        case 103:
+                        case "Shukuhakubeya_Toilet_Night":
                             bgComboList[i] = new GUIContent("宿泊-トイレ(夜)");
                             break;
-                        case 104:
+                        case "Shukuhakubeya_WashRoom":
                             bgComboList[i] = new GUIContent("宿泊-洗面所");
                             break;
-                        case 105:
+                        case "Shukuhakubeya_WashRoom_Night":
                             bgComboList[i] = new GUIContent("宿泊-洗面所(夜)");
                             break;
+                        case "HeroineRoom_D1":
+                            bgComboList[i] = new GUIContent("Bookworm Room");
+                            break;
+                        case "HeroineRoom_D1_Night":
+                            bgComboList[i] = new GUIContent("Bookworm Room (Night)");
+                            break;
+                        case "HeroineRoom_D":
+                            bgComboList[i] = new GUIContent("Oneechan Room");
+                            break;
+                        case "HeroineRoom_D_Night":
+                            bgComboList[i] = new GUIContent("Oneechan Room (Night)");
+                            break;
+                        case "HeroineRoom_E":
+                            bgComboList[i] = new GUIContent("Sadist Room");
+                            break;
+                        case "HeroineRoom_E_Night":
+                            bgComboList[i] = new GUIContent("Sadist Room (Night)");
+                            break;
+                        case "opemcafe_rance10":
+                            bgComboList[i] = new GUIContent("RanceCafe");
+                            break;
+                        case "opemcafe_rance10_night":
+                            bgComboList[i] = new GUIContent("RanceCafe (Night)");
+                            break;
+                        case "opemcafe_riddlejoker":
+                            bgComboList[i] = new GUIContent("RiddleCafe");
+                            break;
+                        case "opemcafe_riddlejoker_night":
+                            bgComboList[i] = new GUIContent("RiddleCafe (Night)");
+                            break;
+                        case "SeaCafe":
+                            bgComboList[i] = new GUIContent("SeaCafe");
+                            break;
+                        case "SeaCafe_Night":
+                            bgComboList[i] = new GUIContent("SeaCafe (Night)");
+                            break;
+                        case "com3d2pool":
+                            bgComboList[i] = new GUIContent("ClubPool");
+                            break;
+                        case "com3d2pool_night":
+                            bgComboList[i] = new GUIContent("ClubPool (Night)");
+                            break;
                         default: goto IL_1692;
                     }
 
@@ -2454,7 +2396,12 @@ namespace CM3D2.MultipleMaids.Plugin
                     i++;
                     continue;
                     IL_1692:
-                    bgComboList[i] = new GUIContent(bgArray[i]);
+                    string tmp = null;
+                    if (bgDict.TryGetValue(text, out tmp))
+                        bgComboList[i] = new GUIContent(tmp);
+                    else
+                        bgComboList[i] = new GUIContent(bgArray[i]);
+
                     goto IL_16AB;
                 }
 
@@ -3482,7 +3429,11 @@ namespace CM3D2.MultipleMaids.Plugin
                     i++;
                     continue;
                     IL_40C6:
-                    doguComboList[i] = new GUIContent(doguBArray[i]);
+                    PhotoBGObjectData tmp = null;
+                    if (doguDict.TryGetValue(text, out tmp))
+                        doguComboList[i] = new GUIContent(tmp.name);
+                    else
+                        doguComboList[i] = new GUIContent(doguBArray[i]);
                     goto IL_40DF;
                 }
 
@@ -5318,8 +5269,37 @@ namespace CM3D2.MultipleMaids.Plugin
                            "追加",
                            guistyle3))
             {
+                PhotoBGObjectData objResult = null;
                 GameObject gameObject2 = null;
-                if (!doguBArray[doguBIndex].StartsWith("mirror"))
+                if (doguDict.TryGetValue(doguBArray[doguBIndex], out objResult))
+                {
+                    if (!string.IsNullOrEmpty(objResult.create_prefab_name))
+                    {
+                        var tmpObj = Resources.Load("Prefab/" + objResult.create_prefab_name);
+                        if (tmpObj == null)
+                            gameObject2 = null;
+                        else
+                            gameObject2 = (Instantiate(tmpObj) as GameObject);
+                    }
+                    else if (!string.IsNullOrEmpty(objResult.create_asset_bundle_name))
+                    {
+                        GameObject gameObject3 = GameMain.Instance.BgMgr.CreateAssetBundle(objResult.create_asset_bundle_name);
+                        if (gameObject3 == null)
+                            gameObject2 = null;
+                        else
+                            gameObject2 = Instantiate<GameObject>(gameObject3);
+                    }
+                    else if (!string.IsNullOrEmpty(objResult.direct_file))
+                    {
+                        BasePhotoCustomObject basePhotoCustomObject =
+                                BasePhotoCustomObject.InstantiateFromFile(transform.gameObject, objResult.direct_file);
+                        gameObject2 = basePhotoCustomObject.gameObject;
+                    }
+
+                    if (gameObject2 != null)
+                        doguBObject.Add(gameObject2);
+                }
+                else if (!doguBArray[doguBIndex].StartsWith("mirror"))
                 {
                     Object @object;
                     if (doguBArray[doguBIndex].StartsWith("BG"))
@@ -5706,6 +5686,7 @@ namespace CM3D2.MultipleMaids.Plugin
             }
         }
 
+
         private void GuiFunc4(int winID)
         {
             GUIStyle style1 = (GUIStyle) "label";

+ 36 - 1
MultipleMaids/CM3D2/MultipleMaids/Plugin/MultipleMaids.Init.cs

@@ -2,6 +2,7 @@
 using System.Collections;
 using System.Collections.Generic;
 using System.IO;
+using System.Linq;
 using ExIni;
 using MyRoomCustom;
 using UnityEngine;
@@ -1153,7 +1154,20 @@ namespace CM3D2.MultipleMaids.Plugin
             };
             var strArray7 = new string[1] {"karaokeroom"};
             var stringList8 = new List<string>(50 + poseArray2.Length);
-            stringList8.AddRange(bgArray2);
+
+            PhotoBGData.Create();
+            bgDict = new Dictionary<string, string>();
+            var photList = PhotoBGData.data;
+            var neiList = photList.Select(bgdata => bgdata.create_prefab_name).Where(name => !string.IsNullOrEmpty(name));
+
+            foreach (var bgdata in photList)
+            {
+                if (!string.IsNullOrEmpty(bgdata.create_prefab_name))
+                    bgDict.Add(bgdata.create_prefab_name, bgdata.name);
+            }
+
+            stringList8.AddRange(neiList);
+
             var stringList9 = new List<string>();
             var saveDataDic = CreativeRoomManager.GetSaveDataDic();
             if (saveDataDic != null)
@@ -1259,7 +1273,28 @@ namespace CM3D2.MultipleMaids.Plugin
             stringList12.AddRange(parArray3);
             parArray = stringList12.ToArray();
             var stringList13 = new List<string>(50 + doguBArray.Length);
+
+            PhotoBGObjectData.Create();
+            doguDict = new Dictionary<string, PhotoBGObjectData>();
+            var filteredList = PhotoBGObjectData.data.Where(prpdata => prpdata.category != "パーティクル");
+            Console.WriteLine("ADDING DOGU DICT");
+            foreach (var bgObj in filteredList)
+            {
+                if (!string.IsNullOrEmpty(bgObj.create_prefab_name))
+                    doguDict.Add(bgObj.create_prefab_name, bgObj);
+                else if (!string.IsNullOrEmpty(bgObj.create_asset_bundle_name))
+                    doguDict.Add(bgObj.create_asset_bundle_name, bgObj);
+            }
+
+            var propList1 = filteredList.Where(prpdata => !string.IsNullOrEmpty(prpdata.create_prefab_name))
+                                        .Select(prpdata => prpdata.create_prefab_name);
+            var propList2 = filteredList.Where(prpdata => !string.IsNullOrEmpty(prpdata.create_asset_bundle_name))
+                                        .Select(prpdata => prpdata.create_asset_bundle_name);
+            var propList = propList1.ToList();
+            propList.AddRange(propList2.ToList());
+            stringList13.AddRange(propList);
             stringList13.AddRange(doguBArray);
+
             if (isCM3D2)
             {
                 if (isVA)

File diff suppressed because it is too large
+ 368 - 393
MultipleMaids/CM3D2/MultipleMaids/Plugin/MultipleMaids.cs