using System.Collections.Generic; using Kitchen.Layouts; using Kitchen.Layouts.Modules; using KitchenData; using KitchenLib.Customs; using KitchenLib.References; using KitchenLib.Utils; using UnityEngine; using CustomSettingsAndLayouts; using Easter2025.Customs.RestaurantSettings; namespace Easter2025.Customs.LayoutProfiles { public class BunnyLayout : CustomLayoutProfile { public override string UniqueNameID => "BunnyLayout"; public override LayoutGraph Graph => GenerateLayout(UniqueNameID); public override int MaximumTables => 3; public override List RequiredAppliances => ((LayoutProfile)GDOUtils.GetExistingGDO(LayoutProfileReferences.DinerLayout)).RequiredAppliances; public override GameDataObject Table => ((LayoutProfile)GDOUtils.GetExistingGDO(LayoutProfileReferences.DinerLayout)).Table; public override GameDataObject Counter => ((LayoutProfile)GDOUtils.GetExistingGDO(LayoutProfileReferences.DinerLayout)).Counter; public override Appliance ExternalBin => ((LayoutProfile)GDOUtils.GetExistingGDO(LayoutProfileReferences.DinerLayout)).ExternalBin; // This script was generated by Layout Builder public static LayoutGraph GenerateLayout(string graphName) { // Creating the graph LayoutGraph graph = ScriptableObject.CreateInstance(); // Creating all the nodes RecentreLayout RecentreLayout0 = ScriptableObject.CreateInstance(); NewFromTexture NewFromTexture0 = ScriptableObject.CreateInstance(); FindAllFeatures FindAllFeatures0 = ScriptableObject.CreateInstance(); FilterByRoom FilterByRoom0 = ScriptableObject.CreateInstance(); FilterOnePerPair FilterOnePerPair0 = ScriptableObject.CreateInstance(); CreateFrontDoor CreateFrontDoor0 = ScriptableObject.CreateInstance(); FilterByRoom FilterByRoom1 = ScriptableObject.CreateInstance(); Output Output0 = ScriptableObject.CreateInstance(); RequireAccessible RequireAccessible0 = ScriptableObject.CreateInstance(); AppendFeatures AppendFeatures0 = ScriptableObject.CreateInstance(); AppendFeatures AppendFeatures1 = ScriptableObject.CreateInstance(); SwitchFeatures SwitchFeatures0 = ScriptableObject.CreateInstance(); // Setting all the values RecentreLayout0.FixSeed = 0; RecentreLayout0.position = new Vector2(-500f, 488); NewFromTexture0.SourceTexture = ResourceUtils.LoadTextureFromBase64("iVBORw0KGgoAAAANSUhEUgAAAA4AAAARCAYAAADtyJ2fAAAAeklEQVQoFcVSQQ7AIAiD/f/PDpAi0UTDPAwzq0ClQ4ncGlHTD/sFm8R0uLHiTBCn+ZGUCeZjYp5JSA5yqoKY4pM3lfUPxPiXik5pzp3UUlWppuJsGir1DeyMIz8W/eHsSIh1shNPlUAC8mVzcE4FP1/HbXMg8tSkcR0vsCgaGOy4qGgAAAAASUVORK5CYII="); NewFromTexture0.Map = new List(); NewFromTexture.ColorRoom NewFromTexture0_colorRoom0 = new NewFromTexture.ColorRoom(); NewFromTexture0_colorRoom0.Color = new Color(0f, 0f, 0f, 0f); NewFromTexture0_colorRoom0.Room = new Room(-1616784683, RoomType.NoRoom); NewFromTexture0.Map.Add(NewFromTexture0_colorRoom0); NewFromTexture.ColorRoom NewFromTexture0_colorRoom1 = new NewFromTexture.ColorRoom(); NewFromTexture0_colorRoom1.Color = new Color(1f, 0f, 0f, 1f); NewFromTexture0_colorRoom1.Room = new Room(-794953739, RoomType.Kitchen); NewFromTexture0.Map.Add(NewFromTexture0_colorRoom1); NewFromTexture.ColorRoom NewFromTexture0_colorRoom2 = new NewFromTexture.ColorRoom(); NewFromTexture0_colorRoom2.Color = new Color(0f, 0f, 1f, 1f); NewFromTexture0_colorRoom2.Room = new Room(1686145292, RoomType.Dining); NewFromTexture0.Map.Add(NewFromTexture0_colorRoom2); NewFromTexture.ColorRoom NewFromTexture0_colorRoom3 = new NewFromTexture.ColorRoom(); NewFromTexture0_colorRoom3.Color = new Color(0f, 1f, 0f, 1f); NewFromTexture0_colorRoom3.Room = new Room(1773383595, RoomType.Kitchen); NewFromTexture0.Map.Add(NewFromTexture0_colorRoom3); NewFromTexture0.FixSeed = 0; NewFromTexture0.position = new Vector2(-1150f, 488); FindAllFeatures0.Feature = FeatureType.Door; FindAllFeatures0.FixSeed = 0; FindAllFeatures0.position = new Vector2(-287f, 738); FilterByRoom0.RemoveMode = false; FilterByRoom0.Type1 = RoomType.Kitchen; FilterByRoom0.FilterSecond = true; FilterByRoom0.Type2 = RoomType.Dining; FilterByRoom0.FixSeed = 0; FilterByRoom0.position = new Vector2(-87f, 738); FilterOnePerPair0.FixSeed = 0; FilterOnePerPair0.position = new Vector2(263f, 738); CreateFrontDoor0.Type = RoomType.Dining; CreateFrontDoor0.ForceFirstHalf = true; CreateFrontDoor0.FixSeed = 0; CreateFrontDoor0.position = new Vector2(-275f, 488); FilterByRoom1.RemoveMode = false; FilterByRoom1.Type1 = RoomType.Kitchen; FilterByRoom1.FilterSecond = true; FilterByRoom1.Type2 = RoomType.Dining; FilterByRoom1.FixSeed = 0; FilterByRoom1.position = new Vector2(-87f, 988); Output0.FixSeed = 0; Output0.position = new Vector2(1286f, 500); RequireAccessible0.AllowGardens = false; RequireAccessible0.ResultStatus = true; RequireAccessible0.FixSeed = 0; RequireAccessible0.position = new Vector2(948f, 500); AppendFeatures0.FixSeed = 0; AppendFeatures0.position = new Vector2(463f, 500); AppendFeatures1.FixSeed = 0; AppendFeatures1.position = new Vector2(673f, 500); SwitchFeatures0.SetToFeature = FeatureType.Hatch; SwitchFeatures0.FixSeed = 0; SwitchFeatures0.position = new Vector2(248f, 988); // Connecting all the nodes RecentreLayout0.GetPort("Input").Connect(NewFromTexture0.GetPort("Output")); FindAllFeatures0.GetPort("Input").Connect(RecentreLayout0.GetPort("Output")); FilterByRoom0.GetPort("Input").Connect(FindAllFeatures0.GetPort("Output")); FilterOnePerPair0.GetPort("Input").Connect(FilterByRoom0.GetPort("Output")); CreateFrontDoor0.GetPort("Input").Connect(RecentreLayout0.GetPort("Output")); FilterByRoom1.GetPort("Input").Connect(FindAllFeatures0.GetPort("Output")); Output0.GetPort("Input").Connect(RequireAccessible0.GetPort("Output")); RequireAccessible0.GetPort("Input").Connect(AppendFeatures1.GetPort("Output")); AppendFeatures0.GetPort("AppendFrom").Connect(FilterOnePerPair0.GetPort("Output")); AppendFeatures0.GetPort("Input").Connect(CreateFrontDoor0.GetPort("Output")); AppendFeatures1.GetPort("AppendFrom").Connect(SwitchFeatures0.GetPort("Output")); AppendFeatures1.GetPort("Input").Connect(AppendFeatures0.GetPort("Output")); SwitchFeatures0.GetPort("Input").Connect(FilterByRoom1.GetPort("Output")); // Adding all the nodes to the graph and setting the graph graph.nodes.Add(RecentreLayout0); RecentreLayout0.graph = graph; graph.nodes.Add(NewFromTexture0); NewFromTexture0.graph = graph; graph.nodes.Add(FindAllFeatures0); FindAllFeatures0.graph = graph; graph.nodes.Add(FilterByRoom0); FilterByRoom0.graph = graph; graph.nodes.Add(FilterOnePerPair0); FilterOnePerPair0.graph = graph; graph.nodes.Add(CreateFrontDoor0); CreateFrontDoor0.graph = graph; graph.nodes.Add(FilterByRoom1); FilterByRoom1.graph = graph; graph.nodes.Add(Output0); Output0.graph = graph; graph.nodes.Add(RequireAccessible0); RequireAccessible0.graph = graph; graph.nodes.Add(AppendFeatures0); AppendFeatures0.graph = graph; graph.nodes.Add(AppendFeatures1); AppendFeatures1.graph = graph; graph.nodes.Add(SwitchFeatures0); SwitchFeatures0.graph = graph; graph.name = graphName; return graph; } public override void OnRegister(LayoutProfile gameDataObject) { base.OnRegister(gameDataObject); Registry.AddSettingLayout((RestaurantSetting)GDOUtils.GetCustomGameDataObject().GameDataObject, gameDataObject); } } }