158 lines
3.3 KiB
C#
158 lines
3.3 KiB
C#
using System.Collections.Generic;
|
|
using Cielonos.MainGame.Characters;
|
|
using Cielonos.MainGame.UI;
|
|
using Sirenix.OdinInspector;
|
|
using UnityEngine;
|
|
|
|
namespace Cielonos.MainGame.Characters.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
|
|
{
|
|
[TitleGroup("UI")]
|
|
public GameObject extraUIContainerPrefab;
|
|
|
|
[TitleGroup("UI")]
|
|
protected MainWeaponUIArea mainWeaponUIArea => PlayerCanvas.Instance.mainWeaponUIArea;
|
|
|
|
[TitleGroup("UI")]
|
|
protected MainWeaponExtraUIContainer extraUIContainer;
|
|
}
|
|
|
|
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);
|
|
activeAttributeSm?.RefreshAllModifiedAttributes();
|
|
SpawnViewObjects();
|
|
}
|
|
|
|
public virtual void OnUnequipped()
|
|
{
|
|
RemoveAllRegisteredFunctions();
|
|
activeAttributeSm?.RefreshAllModifiedAttributes();
|
|
DespawnViewObjects();
|
|
}
|
|
}
|
|
|
|
public partial class MainWeaponBase
|
|
{
|
|
protected override void Update()
|
|
{
|
|
if (player.inventorySc.equipmentSm.currentMainWeapon == this)
|
|
{
|
|
base.Update();
|
|
}
|
|
}
|
|
}
|
|
|
|
public partial class MainWeaponBase
|
|
{
|
|
[TitleGroup("Input Settings")]
|
|
public bool disablePrimaryPreinput;
|
|
public bool disableSecondaryPreinput;
|
|
public bool disableSpecialAPreinput;
|
|
public bool disableSpecialBPreinput;
|
|
public bool disableSpecialCPreinput;
|
|
|
|
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 virtual void OnSpecialCPress()
|
|
{
|
|
|
|
}
|
|
|
|
public virtual void OnSpecialCHold()
|
|
{
|
|
|
|
}
|
|
|
|
public virtual void OnSpecialCRelease()
|
|
{
|
|
|
|
}
|
|
}
|
|
|
|
public partial class MainWeaponBase
|
|
{
|
|
|
|
}
|
|
} |