1
This commit is contained in:
@@ -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)
|
||||
|
Reference in New Issue
Block a user