This commit is contained in:
SoulliesOfficial
2026-01-03 18:19:39 -05:00
parent 3bcd7c1cf8
commit 33b1795c1f
7387 changed files with 2762819 additions and 716926 deletions

View File

@@ -2,47 +2,45 @@ using System.Collections.Generic;
using Cielonos.MainGame.Characters;
using MoreMountains.Feedbacks;
using MoreMountains.FeedbacksForThirdParty;
using Sirenix.OdinInspector;
using UnityEngine;
namespace Cielonos.MainGame.Inventory
{
public abstract partial class MainWeaponBase : ItemBase
{
[TitleGroup("Data")]
public BaseAnimationGroup baseAnimationGroup;
[TitleGroup("Data")]
public AttributeData activeAttributeData;
}
public partial class MainWeaponBase
{
[TitleGroup("Submodules")]
public AttributeSubmodule activeAttributeSm;
}
public partial class MainWeaponBase
{
public override void Initialize()
{
base.Initialize();
if (activeAttributeData != null) activeAttributeSm = new AttributeSubmodule(this, activeAttributeData);
}
public virtual void OnEquipped()
{
baseAnimationGroup.SetUp(animationSc);
foreach (ViewObjectData.ViewObjectDataUnit unit in viewObjectData.viewObjectUnits)
{
Transform attachPoint = !unit.isCustomAttachPoint ?
player.bodyPartsSc.GetPart(unit.normalAttachBodyPart) :
player.bodyPartsSc.GetPart(unit.customAttachPartName);
if (attachPoint != null)
{
ItemViewObject view = Instantiate(unit.objectPrefab, attachPoint).GetComponent<ItemViewObject>();
if (unit.applyOffset)
{
view.transform.localPosition = unit.positionOffset;
view.transform.localEulerAngles = unit.rotationOffset;
}
viewObjects[unit.objectName] = view;
}
}
activeAttributeSm?.RefreshAllModifiedAttributes();
SpawnViewObjects();
}
public virtual void OnUnequipped()
{
RemoveAllRegisteredFunctions();
foreach (ItemViewObject view in viewObjects.Values)
{
Destroy(view.gameObject);
}
viewObjects.Clear();
activeAttributeSm?.RefreshAllModifiedAttributes();
DespawnViewObjects();
}
}
@@ -59,6 +57,7 @@ namespace Cielonos.MainGame.Inventory
public partial class MainWeaponBase
{
[TitleGroup("Input Settings")]
public bool disablePrimaryPreinput;
public bool disableSecondaryPreinput;
public bool disableSpecialAPreinput;