Files
Cielonos/Assets/Scripts/MainGame/Items/Base/MainWeaponBase.cs
SoulliesOfficial ef7b479712 initial
2025-11-25 08:19:33 -05:00

128 lines
2.4 KiB
C#

using Cielonos.MainGame.Characters;
using MoreMountains.FeedbacksForThirdParty;
using UnityEngine;
namespace Cielonos.MainGame.Inventory
{
public abstract partial class MainWeaponBase : ItemBase
{
public BaseAnimationGroup baseAnimationGroup;
}
public partial class MainWeaponBase
{
public virtual void OnEquipped()
{
baseAnimationGroup.SetUp(animationSc);
}
public virtual void OnUnequipped()
{
RemoveAllRegisteredFunctions();
}
}
public partial class MainWeaponBase
{
protected Transform muzzle => viewObject.functionalParts["Muzzle"].transform;
}
public partial class MainWeaponBase
{
public bool disablePrimaryPreinput;
public bool disableSecondaryPreinput;
public virtual void OnPrimaryPress()
{
}
public virtual void OnPrimaryHold()
{
}
public virtual void OnPrimaryRelease()
{
}
public virtual void OnSecondaryPress()
{
}
public virtual void OnSecondaryHold()
{
}
public virtual void OnSecondaryRelease()
{
}
public virtual void OnTertiaryPress()
{
}
public virtual void OnTertiaryHold()
{
}
public virtual void OnTertiaryRelease()
{
}
public virtual void OnQuaternaryPress()
{
}
public virtual void OnQuaternaryHold()
{
}
public virtual void OnQuaternaryRelease()
{
}
public virtual void OnQuinaryPress()
{
}
public virtual void OnQuinaryHold()
{
}
public virtual void OnQuinaryRelease()
{
}
}
public partial class MainWeaponBase
{
protected void Swing(string swingAudio = "", string feedBackName = "", Vector3 force = default)
{
if (!string.IsNullOrEmpty(swingAudio))
{
audioContainer.PlaySoundFX(swingAudio, null, true);
}
if (force != default)
{
feedbackSc[feedBackName].feedback.GetFeedbackOfType<MMF_CinemachineImpulse>().Velocity = force;
feedbackSc[feedBackName].Play();
}
}
}
}