This commit is contained in:
CortexCore
2023-12-03 17:35:43 +08:00
parent ba342d6627
commit ba9f4eda80
702 changed files with 162078 additions and 21050 deletions

View File

@@ -10,9 +10,13 @@ using System.Security.Permissions;
using AYellowpaper.SerializedCollections;
using BITFALL;
using BITFALL.Entities.Equipment;
using BITFALL.Entities.Inventory;
using BITFALL.Guns.Modify;
using BITFALL.Player.Equip;
using BITFALL.Props;
using BITKit.Entities.Melee;
using BITKit.Entities.VFX;
using BITKit.UX;
using Cinemachine;
using Cysharp.Threading.Tasks;
using Unity.Mathematics;
@@ -34,14 +38,20 @@ namespace BITKit.Entities
[SerializeField] protected EntityAnimator entityAnimator;
[SerializeField] private Renderer[] renderers;
[SerializeField] protected Transform cameraTransform;
[SerializeField] protected Prop_Modify _modify;
[Header(Constant.Header.Services)]
[SerializeReference,SubclassSelector] protected IMeleeService meleeService;
[SerializeReference,SubclassSelector,Inject] private IUXPopup _popup;
public Entities.IEntity Entity { get; set; }
public Entity UnityEntity=>Entity as Entity;
public IBasicItem Item { get; set; }
public IBasicItem Item
{
get => _item;
set=>OnApply?.Invoke(_item = value);
}
private IBasicItem _item;
public IDictionary<string,float> AnimationProperties => animationProperties.ToDictionary(x=>x.Key,x=>x.Value.Value);
public readonly InputActionGroup inputActionGroup = new()
@@ -53,9 +63,12 @@ namespace BITKit.Entities
protected virtual Vector3 meleeForce => Transform.forward;
public bool IsEntered { get; set; }
private Quaternion _initialCameraRotation;
protected event Action<IBasicItem> OnApply;
[Inject] protected IEntityOverride _entityOverride;
[Inject(true)] protected IEntityInventory _inventory;
[Inject(true)] protected IUXPopup _uxPopup;
public virtual void Entry()
{
if (animator)
@@ -74,6 +87,7 @@ namespace BITKit.Entities
var animName = animator.animator.GetCurrentAnimatorStateInfo(0).shortNameHash;
animator.animator.Play(animName, -1, 0);
}
}
public virtual UniTask EntryAsync()
@@ -120,7 +134,12 @@ namespace BITKit.Entities
public virtual void OnAwake()
{
AllowRendering.AddListener(x => renderers.ForEach(y => { y.enabled = x; }));
AllowRendering.AddListener(x =>
{
renderers.ForEach(y => { y.enabled = x; });
if (_modify)
_modify.AllowModify.SetDisableElements(this,!x);
});
if (animator)
animator.enabled = false;
AllowRendering.Invoke();
@@ -133,6 +152,21 @@ namespace BITKit.Entities
vfxPlayer.enabled = false;
_entityOverride.OnOverride += OnOverride;
OnApply += (x) =>
{
if (!_modify) return;
if (x is not null && x.TryGetProperty<GunModify>(out var modify))
{
_modify.Modify(modify);
}
else
{
_modify.ClearModify();
}
};
if (_modify)
_modify.ClearModify();
}
private void OnOverride(bool obj)