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 bool disableSpecialAPreinput; public bool disableSpecialBPreinput; 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 OnSpecialAPress() { } public virtual void OnSpecialAHold() { } public virtual void OnSpecialARelease() { } public virtual void OnSpecialBPress() { } public virtual void OnSpecialBHold() { } public virtual void OnSpecialBRelease() { } } 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().Velocity = force; feedbackSc[feedBackName].Play(); } } } }