Initial Commit
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
using System.Collections.Generic;
|
||||
using Easter2025.Customs.Generics;
|
||||
using Easter2025.Utilies;
|
||||
using KitchenData;
|
||||
using KitchenLib.Utils;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Easter2025.Customs.Appliances.Decorations
|
||||
{
|
||||
public class GrassBunny : GenericDecorationAppliance
|
||||
{
|
||||
public override string UniqueNameID => "GrassBunny";
|
||||
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("GrassBunny").AssignMaterialsByNames();
|
||||
public override List<(Locale, ApplianceInfo)> InfoList => CenteralLang.Appliances.GrassBunny;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
using System.Collections.Generic;
|
||||
using Easter2025.Customs.Generics;
|
||||
using Easter2025.Utilies;
|
||||
using Kitchen;
|
||||
using KitchenData;
|
||||
using KitchenLib.Utils;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Easter2025.Customs.Appliances.Decorations
|
||||
{
|
||||
public class MountedCarrots : GenericDecorationAppliance
|
||||
{
|
||||
public override string UniqueNameID => "MountedCarrots";
|
||||
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("MountedCarrots").AssignMaterialsByNames();
|
||||
public override List<IApplianceProperty> Properties => new List<IApplianceProperty>
|
||||
{
|
||||
new CMustHaveWall()
|
||||
};
|
||||
public override OccupancyLayer Layer => OccupancyLayer.Wall;
|
||||
public override List<(Locale, ApplianceInfo)> InfoList => CenteralLang.Appliances.MountedCarrots;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
using System.Collections.Generic;
|
||||
using Easter2025.Utilies;
|
||||
using Kitchen;
|
||||
using KitchenData;
|
||||
using KitchenLib.Customs;
|
||||
using KitchenLib.Utils;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Easter2025.Customs.Appliances
|
||||
{
|
||||
public class DyeProvider : CustomAppliance
|
||||
{
|
||||
public override string UniqueNameID => "DyeProvider";
|
||||
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("DyeProvider").AssignMaterialsByNames();
|
||||
public override List<IApplianceProperty> Properties => new List<IApplianceProperty>
|
||||
{
|
||||
KitchenPropertiesUtils.GetUnlimitedCItemProvider(GDOReferences.RedDye.ID),
|
||||
new CVariableProvider
|
||||
{
|
||||
Current = 0,
|
||||
Provide1 = GDOReferences.RedDye.ID,
|
||||
Provide2 = GDOReferences.GreenDye.ID,
|
||||
Provide3 = GDOReferences.BlueDye.ID
|
||||
}
|
||||
};
|
||||
|
||||
public override bool SellOnlyAsDuplicate => true;
|
||||
public override bool IsPurchasable => true;
|
||||
public override PriceTier PriceTier => PriceTier.Medium;
|
||||
public override ShoppingTags ShoppingTags => ShoppingTags.Cooking | ShoppingTags.Misc;
|
||||
public override List<(Locale, ApplianceInfo)> InfoList => CenteralLang.Appliances.DyeProvider;
|
||||
|
||||
public override void OnRegister(Appliance gameDataObject)
|
||||
{
|
||||
base.OnRegister(gameDataObject);
|
||||
VariableProviderView variableProviderView = gameDataObject.Prefab.AddComponent<VariableProviderView>();
|
||||
variableProviderView.Animator = gameDataObject.Prefab.GetComponent<Animator>();
|
||||
gameDataObject.Prefab.GetChild("Bottles/BlueDyeBottle").AddComponent<ColourBlindMode>().Element = gameDataObject.Prefab.GetChild("Bottles/BlueDyeBottle/Octagon");
|
||||
gameDataObject.Prefab.GetChild("Bottles/GreenDyeBottle").AddComponent<ColourBlindMode>().Element = gameDataObject.Prefab.GetChild("Bottles/GreenDyeBottle/Square");
|
||||
gameDataObject.Prefab.GetChild("Bottles/RedDyeBottle").AddComponent<ColourBlindMode>().Element = gameDataObject.Prefab.GetChild("Bottles/RedDyeBottle/Circle");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
using System.Collections.Generic;
|
||||
using Easter2025.Utilies;
|
||||
using Kitchen;
|
||||
using KitchenData;
|
||||
using KitchenLib.Customs;
|
||||
using KitchenLib.Utils;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Easter2025.Customs.Appliances
|
||||
{
|
||||
public class EggBasketProvider : CustomAppliance
|
||||
{
|
||||
public override string UniqueNameID => "EggBasketProvider";
|
||||
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("EggBasketProvider").AssignMaterialsByNames();
|
||||
public override List<IApplianceProperty> Properties => new List<IApplianceProperty>
|
||||
{
|
||||
new CItemHolder(),
|
||||
new CItemProvider
|
||||
{
|
||||
Item = GDOReferences.EggBasket.ID,
|
||||
Available = 1,
|
||||
Maximum = 1,
|
||||
PreventReturns = true,
|
||||
AutoPlaceOnHolder = true
|
||||
}
|
||||
};
|
||||
|
||||
public override bool SellOnlyAsDuplicate => true;
|
||||
public override bool IsPurchasable => true;
|
||||
public override PriceTier PriceTier => PriceTier.Medium;
|
||||
public override ShoppingTags ShoppingTags => ShoppingTags.Cooking | ShoppingTags.Misc;
|
||||
public override List<Process> RequiresProcessForShop => new List<Process>
|
||||
{
|
||||
GDOReferences.SearchBush
|
||||
};
|
||||
|
||||
public override List<(Locale, ApplianceInfo)> InfoList => CenteralLang.Appliances.EggBasketProvider;
|
||||
|
||||
public override void OnRegister(Appliance gameDataObject)
|
||||
{
|
||||
base.OnRegister(gameDataObject);
|
||||
|
||||
HoldPointContainer holdPointContainer = gameDataObject.Prefab.AddComponent<HoldPointContainer>();
|
||||
LimitedItemSourceView limitedItemSourceView = gameDataObject.Prefab.AddComponent<LimitedItemSourceView>();
|
||||
|
||||
holdPointContainer.HoldPoint = gameDataObject.Prefab.GetChild("HoldPoint").transform;
|
||||
|
||||
limitedItemSourceView.HeldItemPosition = gameDataObject.Prefab.GetChild("HoldPoint").transform;
|
||||
limitedItemSourceView.Items = new List<GameObject>
|
||||
{
|
||||
gameDataObject.Prefab.GetChild("HoldPoint/EggBasket")
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
using System.Collections.Generic;
|
||||
using Easter2025.Utilies;
|
||||
using Kitchen;
|
||||
using KitchenData;
|
||||
using KitchenLib.Customs;
|
||||
using KitchenLib.Utils;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Easter2025.Customs.Appliances
|
||||
{
|
||||
public class EggMouldProvider : CustomAppliance
|
||||
{
|
||||
public override string UniqueNameID => "EggMouldProvider";
|
||||
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("EggMouldProvider").AssignMaterialsByNames();
|
||||
public override List<IApplianceProperty> Properties => new List<IApplianceProperty>
|
||||
{
|
||||
new CItemHolder(),
|
||||
new CItemProvider
|
||||
{
|
||||
Item = GDOReferences.EggMould.ID,
|
||||
Available = 1,
|
||||
Maximum = 1,
|
||||
PreventReturns = true,
|
||||
AutoPlaceOnHolder = true
|
||||
}
|
||||
};
|
||||
|
||||
public override bool SellOnlyAsDuplicate => true;
|
||||
public override bool IsPurchasable => true;
|
||||
public override PriceTier PriceTier => PriceTier.Medium;
|
||||
public override ShoppingTags ShoppingTags => ShoppingTags.Cooking | ShoppingTags.Misc;
|
||||
public override List<(Locale, ApplianceInfo)> InfoList => CenteralLang.Appliances.EggMouldProvider;
|
||||
|
||||
public override void OnRegister(Appliance gameDataObject)
|
||||
{
|
||||
base.OnRegister(gameDataObject);
|
||||
|
||||
HoldPointContainer holdPointContainer = gameDataObject.Prefab.AddComponent<HoldPointContainer>();
|
||||
LimitedItemSourceView limitedItemSourceView = gameDataObject.Prefab.AddComponent<LimitedItemSourceView>();
|
||||
|
||||
holdPointContainer.HoldPoint = gameDataObject.Prefab.GetChild("HoldPoint").transform;
|
||||
|
||||
limitedItemSourceView.HeldItemPosition = gameDataObject.Prefab.GetChild("HoldPoint").transform;
|
||||
limitedItemSourceView.Items = new List<GameObject>
|
||||
{
|
||||
gameDataObject.Prefab.GetChild("HoldPoint/EggMould")
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
using System.Collections.Generic;
|
||||
using Easter2025.Utilies;
|
||||
using KitchenData;
|
||||
using KitchenLib.Customs;
|
||||
|
||||
namespace Easter2025.Customs.Appliances
|
||||
{
|
||||
public class GenerousBunnies : CustomAppliance
|
||||
{
|
||||
public override string UniqueNameID => "GenerousBunnies";
|
||||
public override bool IsPurchasable => false;
|
||||
public override List<(Locale, ApplianceInfo)> InfoList => CenteralLang.Appliances.GenerousBunnies;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
using System.Collections.Generic;
|
||||
using Easter2025.Customs.Generics;
|
||||
using Easter2025.Utilies;
|
||||
using KitchenData;
|
||||
using KitchenLib.Utils;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Easter2025.Customs.Appliances
|
||||
{
|
||||
public class HotCrossBunsProvider : GenericProvider
|
||||
{
|
||||
public override Item ProvidedItem => GDOReferences.RawHotCrossBun;
|
||||
public override string UniqueNameID => "HotCrossBunsProvider";
|
||||
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("HotCrossBunsProvider").AssignMaterialsByNames();
|
||||
public override List<(Locale, ApplianceInfo)> InfoList => CenteralLang.Appliances.HotCrossBunsProvider;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
using System.Collections.Generic;
|
||||
using Easter2025.Components;
|
||||
using Easter2025.Customs.Generics;
|
||||
using Easter2025.Utilies;
|
||||
using Easter2025.Views;
|
||||
using Easter2025.Views.Local;
|
||||
using Kitchen;
|
||||
using KitchenData;
|
||||
using KitchenLib.Utils;
|
||||
using Shapes;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Easter2025.Customs.Appliances.SceneAppliances
|
||||
{
|
||||
public class Bush : GenericSceneAppliance
|
||||
{
|
||||
public override string UniqueNameID => "Bush";
|
||||
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("VanillaBush").AssignMaterialsByNames();
|
||||
public override List<IApplianceProperty> Properties => new List<IApplianceProperty>
|
||||
{
|
||||
new CEggBush(),
|
||||
new CCanHideItem(),
|
||||
new CItemHolder(),
|
||||
new CImmovable(),
|
||||
new CTakesDuration
|
||||
{
|
||||
Total = 1,
|
||||
Manual = true,
|
||||
Mode = InteractionMode.Items
|
||||
},
|
||||
new CDisplayDuration
|
||||
{
|
||||
Process = GDOReferences.SearchBush.ID
|
||||
}
|
||||
};
|
||||
|
||||
public override bool IsNonInteractive => false;
|
||||
|
||||
public override void OnRegister(Appliance gameDataObject)
|
||||
{
|
||||
base.OnRegister(gameDataObject);
|
||||
HoldPointContainer holdPointContainer = gameDataObject.Prefab.AddComponent<HoldPointContainer>();
|
||||
holdPointContainer.HoldPoint = gameDataObject.Prefab.GetChild("HoldPoint").transform;
|
||||
BushView bushView = gameDataObject.Prefab.AddComponent<BushView>();
|
||||
bushView.Animator = gameDataObject.Prefab.GetComponentInChildren<Animator>();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using Easter2025.Customs.Generics;
|
||||
using KitchenLib.Utils;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Easter2025.Customs.Appliances.SceneAppliances
|
||||
{
|
||||
public class EasterGround : GenericSceneAppliance
|
||||
{
|
||||
public override string UniqueNameID => "EasterGround";
|
||||
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("EasterGround").AssignMaterialsByNames();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
using System.Collections.Generic;
|
||||
using Easter2025.Customs.Generics;
|
||||
using Easter2025.Views.Local;
|
||||
using KitchenData;
|
||||
using KitchenLib.Utils;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Easter2025.Customs.Appliances.SceneAppliances
|
||||
{
|
||||
public class EasterTree : GenericSceneAppliance
|
||||
{
|
||||
public override string UniqueNameID => "EasterTree";
|
||||
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("EasterTree").AssignMaterialsByNames();
|
||||
|
||||
|
||||
public override void OnRegister(Appliance gameDataObject)
|
||||
{
|
||||
EggPileView eggPileView = Prefab.AddComponent<EggPileView>();
|
||||
eggPileView.EggContainers = new List<GameObject>
|
||||
{
|
||||
gameDataObject.Prefab.GetChild("Eggs/Egg Container 1"),
|
||||
gameDataObject.Prefab.GetChild("Eggs/Egg Container 2"),
|
||||
gameDataObject.Prefab.GetChild("Eggs/Egg Container 3"),
|
||||
gameDataObject.Prefab.GetChild("Eggs/Egg Container 4"),
|
||||
gameDataObject.Prefab.GetChild("Eggs/Egg Container 5"),
|
||||
gameDataObject.Prefab.GetChild("Eggs/Egg Container 6"),
|
||||
};
|
||||
base.OnRegister(gameDataObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
using Easter2025.Customs.Generics;
|
||||
using Easter2025.Views.Local;
|
||||
using KitchenData;
|
||||
using KitchenLib.Utils;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Easter2025.Customs.Appliances.SceneAppliances
|
||||
{
|
||||
public class EggCobblestone : GenericSceneAppliance
|
||||
{
|
||||
public override string UniqueNameID => "EggCobblestone";
|
||||
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("EggCobblestone").AssignMaterialsByNames();
|
||||
|
||||
|
||||
public override void OnRegister(Appliance gameDataObject)
|
||||
{
|
||||
base.OnRegister(gameDataObject);
|
||||
RandomRotationView randomRotationView = gameDataObject.Prefab.AddComponent<RandomRotationView>();
|
||||
randomRotationView.Container = gameDataObject.Prefab.GetChild("Container");
|
||||
randomRotationView.min = 0;
|
||||
randomRotationView.max = 360;
|
||||
|
||||
|
||||
RandomPlacementView randomPlacementView = gameDataObject.Prefab.AddComponent<RandomPlacementView>();
|
||||
randomPlacementView.Container = gameDataObject.Prefab.GetChild("Container");
|
||||
randomPlacementView.min = new(-0.1f,0,-0.1f);
|
||||
randomPlacementView.max = new (0.1f,0,0.1f);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
using System.Collections.Generic;
|
||||
using Easter2025.Customs.Generics;
|
||||
using Easter2025.Views.Local;
|
||||
using KitchenData;
|
||||
using KitchenLib.Utils;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Easter2025.Customs.Appliances.SceneAppliances
|
||||
{
|
||||
public class EggPile : GenericSceneAppliance
|
||||
{
|
||||
public override string UniqueNameID => "EggPile";
|
||||
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("EggPile").AssignMaterialsByNames();
|
||||
|
||||
|
||||
public override void OnRegister(Appliance gameDataObject)
|
||||
{
|
||||
base.OnRegister(gameDataObject);
|
||||
EggPileView eggPileView = gameDataObject.Prefab.AddComponent<EggPileView>();
|
||||
eggPileView.EggContainers = new List<GameObject>
|
||||
{
|
||||
gameDataObject.Prefab.GetChild("EggContainer/Egg_1"),
|
||||
gameDataObject.Prefab.GetChild("EggContainer/Egg_2"),
|
||||
gameDataObject.Prefab.GetChild("EggContainer/Egg_3"),
|
||||
};
|
||||
|
||||
RandomRotationView randomRotationView = gameDataObject.Prefab.AddComponent<RandomRotationView>();
|
||||
randomRotationView.Container = gameDataObject.Prefab.GetChild("EggContainer");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
using System.Collections.Generic;
|
||||
using Easter2025.Utilies;
|
||||
using Kitchen;
|
||||
using KitchenData;
|
||||
using KitchenLib.Customs;
|
||||
using KitchenLib.Utils;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Easter2025.Customs.Appliances
|
||||
{
|
||||
public class WrapperProvider : CustomAppliance
|
||||
{
|
||||
public override string UniqueNameID => "WrapperProvider";
|
||||
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("WrapperProvider").AssignMaterialsByNames();
|
||||
public override List<IApplianceProperty> Properties => new List<IApplianceProperty>
|
||||
{
|
||||
new CItemHolder(),
|
||||
new CItemProvider
|
||||
{
|
||||
Item = GDOReferences.WrapperRoll.ID,
|
||||
Available = 1,
|
||||
Maximum = 1,
|
||||
PreventReturns = true,
|
||||
AutoPlaceOnHolder = true
|
||||
}
|
||||
};
|
||||
|
||||
public override bool SellOnlyAsDuplicate => true;
|
||||
public override bool IsPurchasable => true;
|
||||
public override PriceTier PriceTier => PriceTier.Medium;
|
||||
public override ShoppingTags ShoppingTags => ShoppingTags.Cooking | ShoppingTags.Misc;
|
||||
public override List<(Locale, ApplianceInfo)> InfoList => CenteralLang.Appliances.WrapperProvider;
|
||||
|
||||
public override void OnRegister(Appliance gameDataObject)
|
||||
{
|
||||
base.OnRegister(gameDataObject);
|
||||
|
||||
HoldPointContainer holdPointContainer = gameDataObject.Prefab.AddComponent<HoldPointContainer>();
|
||||
LimitedItemSourceView limitedItemSourceView = gameDataObject.Prefab.AddComponent<LimitedItemSourceView>();
|
||||
|
||||
holdPointContainer.HoldPoint = gameDataObject.Prefab.GetChild("HoldPoint").transform;
|
||||
|
||||
limitedItemSourceView.HeldItemPosition = gameDataObject.Prefab.GetChild("HoldPoint").transform;
|
||||
limitedItemSourceView.Items = new List<GameObject>
|
||||
{
|
||||
gameDataObject.Prefab.GetChild("HoldPoint/WrapperRoll")
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user