mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Add sphere collider to custom items
This commit is contained in:
parent
b0e9437b42
commit
9a0dbdf0a7
@ -171,6 +171,11 @@ namespace NewHorizons.Builder.Props
|
||||
if (detail.item != null)
|
||||
{
|
||||
ItemBuilder.MakeItem(prop, go, sector, detail.item, mod);
|
||||
isItem = true;
|
||||
if (detail.hasPhysics)
|
||||
{
|
||||
NHLogger.LogWarning($"An item with the path {detail.path} has both '{nameof(DetailInfo.hasPhysics)}' and '{nameof(DetailInfo.item)}' set. This will usually result in undesirable behavior.");
|
||||
}
|
||||
}
|
||||
|
||||
if (detail.itemSocket != null)
|
||||
|
||||
@ -79,6 +79,12 @@ namespace NewHorizons.Builder.Props
|
||||
item.ClearPickupConditionOnDrop = info.clearPickupConditionOnDrop;
|
||||
item.PickupFact = info.pickupFact;
|
||||
|
||||
if (info.colliderRadius > 0f)
|
||||
{
|
||||
go.AddComponent<SphereCollider>().radius = info.colliderRadius;
|
||||
go.GetAddComponent<OWCollider>();
|
||||
}
|
||||
|
||||
Delay.FireOnNextUpdate(() =>
|
||||
{
|
||||
if (item != null && !string.IsNullOrEmpty(info.pathToInitialSocket))
|
||||
|
||||
@ -19,7 +19,7 @@ namespace NewHorizons.External.Modules.Props.Item
|
||||
/// </summary>
|
||||
public string name;
|
||||
/// <summary>
|
||||
/// The type of the item, which determines its orientation when held and what sockets it fits into. This can be a custom string, or a vanilla ItemType (Scroll, WarpCode, SharedStone, ConversationStone, Lantern, SlideReel, DreamLantern, or VisionTorch). Defaults to the item name.
|
||||
/// The type of the item, which determines its orientation when held and what sockets it fits into. This can be a custom string, or a vanilla ItemType (Scroll, WarpCore, SharedStone, ConversationStone, Lantern, SlideReel, DreamLantern, or VisionTorch). Defaults to the item name.
|
||||
/// </summary>
|
||||
public string itemType;
|
||||
/// <summary>
|
||||
@ -27,6 +27,11 @@ namespace NewHorizons.External.Modules.Props.Item
|
||||
/// </summary>
|
||||
[DefaultValue(2f)] public float interactRange = 2f;
|
||||
/// <summary>
|
||||
/// The radius that the added sphere collider will use for collision and hover detection.
|
||||
/// If there's already a collider on the detail, you can make this 0.
|
||||
/// </summary>
|
||||
[DefaultValue(0.5f)] public float colliderRadius = 0.5f;
|
||||
/// <summary>
|
||||
/// Whether the item can be dropped. Defaults to true.
|
||||
/// </summary>
|
||||
[DefaultValue(true)] public bool droppable = true;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user