Upload from upload_mods.ps1

This commit is contained in:
Nathaniel Cosford
2025-06-04 16:13:32 +09:30
commit 7345f42201
470 changed files with 51966 additions and 0 deletions

View File

@@ -0,0 +1,94 @@
#if NotEditor
using KFCommonUtilityLib.Scripts.StaticManagers;
#endif
using UnityEngine;
public class AnimationCustomReloadState : StateMachineBehaviour
{
[SerializeField]
private float ForceCancelReloadDelay = 1f;
[SerializeField]
private bool DoNotForceCancel = false;
public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
animator.speed = 1f;
animator.SetWrappedBool(Animator.StringToHash("Reload"), false);
animator.SetWrappedBool(Animator.StringToHash("IsReloading"), true);
#if NotEditor
if (player == null)
{
player = animator.GetComponentInParent<EntityAlive>();
}
int actionIndex = MultiActionManager.GetActionIndexForEntity(player);
#if DEBUG
Log.Out($"start reload {actionIndex}");
#endif
actionData = player.inventory.holdingItemData.actionData[actionIndex] as ItemActionRanged.ItemActionDataRanged;
if (eventBridge == null)
{
eventBridge = animator.GetComponent<AnimationReloadEvents>();
}
#if DEBUG
Log.Out($"ANIMATOR STATE ENTER : {actionData.invData.item.Name}");
#endif
eventBridge.OnReloadStart(actionIndex);
//eventBridge.OnReloadUpdate();
#endif
}
public override void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
animator.speed = 1f;
#if NotEditor
//eventBridge.OnReloadUpdate();
if (actionData == null)
{
return;
}
if (actionData.isReloading)
{
eventBridge.OnReloadFinish();
}
#endif
//actionData.isReloading = false;
//actionData.isReloadCancelled = false;
//actionData.isChangingAmmoType = false;
#if DEBUG && NotEditor
Log.Out($"ANIMATOR STATE EXIT : {actionData.invData.item.Name}");
#endif
}
#if NotEditor
public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
//eventBridge.OnReloadUpdate();
if (actionData == null)
{
return;
}
if (actionData.isReloadCancelled)
{
animator.speed = 30f;
if (!DoNotForceCancel)
{
eventBridge.DelayForceCancelReload(ForceCancelReloadDelay);
}
#if DEBUG
Log.Out($"ANIMATOR UPDATE: RELOAD CANCELLED, ANIMATOR SPEED {animator.speed}");
#endif
}
if (!actionData.isReloadCancelled && actionData.isReloading)
{
actionData.invData.holdingEntity.MinEventContext.ItemActionData = actionData;
actionData.invData.holdingEntity.FireEvent(MinEventTypes.onReloadUpdate, true);
}
}
private ItemActionRanged.ItemActionDataRanged actionData;
private EntityAlive player;
private AnimationReloadEvents eventBridge;
#endif
}