大修改调整

This commit is contained in:
2026-01-11 23:58:02 +08:00
parent ca68084264
commit f7d44f1f8d
72 changed files with 584396 additions and 20533 deletions

View File

@@ -19363,21 +19363,6 @@ MonoBehaviour:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/Anim2/PlayerAnimator.controller
Address: Plyaer/PlayerAnimator
Type: AnimatorController
Bundle: main/plyaer.bundle
Tags:
Group:
Name: Plyaer
Enable: 1
BundleMode: 0
AddressMode: 2
Tags:
Collectors:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/Anim2/Precise Cast idle.anim
Address: Plyaer/Precise Cast idle
Type: AnimationClip
@@ -19423,7 +19408,22 @@ MonoBehaviour:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/canKao/first_m1_tele_from_backpack_stage_FOUR.anim
- Path: Assets/ResRaw/Prefabs/Player/canKao/tele/first_m1_idle_w_rod_stage_FOUR.anim
Address: Plyaer/first_m1_idle_w_rod_stage_FOUR
Type: AnimationClip
Bundle: main/plyaer.bundle
Tags:
Group:
Name: Plyaer
Enable: 1
BundleMode: 0
AddressMode: 2
Tags:
Collectors:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/canKao/tele/first_m1_tele_from_backpack_stage_FOUR.anim
Address: Plyaer/first_m1_tele_from_backpack_stage_FOUR
Type: AnimationClip
Bundle: main/plyaer.bundle
@@ -19438,6 +19438,111 @@ MonoBehaviour:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/canKao/tele/first_m1_tele_idle_powerup_wait_stage_FIVE.anim
Address: Plyaer/first_m1_tele_idle_powerup_wait_stage_FIVE
Type: AnimationClip
Bundle: main/plyaer.bundle
Tags:
Group:
Name: Plyaer
Enable: 1
BundleMode: 0
AddressMode: 2
Tags:
Collectors:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/canKao/tele/first_m1_tele_powerup_stage_FIVE.anim
Address: Plyaer/first_m1_tele_powerup_stage_FIVE
Type: AnimationClip
Bundle: main/plyaer.bundle
Tags:
Group:
Name: Plyaer
Enable: 1
BundleMode: 0
AddressMode: 2
Tags:
Collectors:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/canKao/tele/first_m1_tele_thrown_part1.anim
Address: Plyaer/first_m1_tele_thrown_part1
Type: AnimationClip
Bundle: main/plyaer.bundle
Tags:
Group:
Name: Plyaer
Enable: 1
BundleMode: 0
AddressMode: 2
Tags:
Collectors:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/canKao/tele/first_m1_tele_thrown_part2.anim
Address: Plyaer/first_m1_tele_thrown_part2
Type: AnimationClip
Bundle: main/plyaer.bundle
Tags:
Group:
Name: Plyaer
Enable: 1
BundleMode: 0
AddressMode: 2
Tags:
Collectors:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/canKao/tele/thrown_idle_1.anim
Address: Plyaer/thrown_idle_1
Type: AnimationClip
Bundle: main/plyaer.bundle
Tags:
Group:
Name: Plyaer
Enable: 1
BundleMode: 0
AddressMode: 2
Tags:
Collectors:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/canKao/tele/thrown_idle_2.anim
Address: Plyaer/thrown_idle_2
Type: AnimationClip
Bundle: main/plyaer.bundle
Tags:
Group:
Name: Plyaer
Enable: 1
BundleMode: 0
AddressMode: 2
Tags:
Collectors:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/canKao/tele/thrown_idle_3.anim
Address: Plyaer/thrown_idle_3
Type: AnimationClip
Bundle: main/plyaer.bundle
Tags:
Group:
Name: Plyaer
Enable: 1
BundleMode: 0
AddressMode: 2
Tags:
Collectors:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/FishingLight.prefab
Address: Plyaer/FishingLight
Type: GameObject
@@ -19618,8 +19723,128 @@ MonoBehaviour:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/NewAnim/HeldFishingHandRod.anim
Address: Plyaer/HeldFishingHandRod
- Path: Assets/ResRaw/Prefabs/Player/NewAnim/HandRodIdle_1.anim
Address: Plyaer/HandRodIdle_1
Type: AnimationClip
Bundle: main/plyaer.bundle
Tags:
Group:
Name: Plyaer
Enable: 1
BundleMode: 0
AddressMode: 2
Tags:
Collectors:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/NewAnim/HandRodIdle_2.anim
Address: Plyaer/HandRodIdle_2
Type: AnimationClip
Bundle: main/plyaer.bundle
Tags:
Group:
Name: Plyaer
Enable: 1
BundleMode: 0
AddressMode: 2
Tags:
Collectors:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/NewAnim/HandRodIdle_3.anim
Address: Plyaer/HandRodIdle_3
Type: AnimationClip
Bundle: main/plyaer.bundle
Tags:
Group:
Name: Plyaer
Enable: 1
BundleMode: 0
AddressMode: 2
Tags:
Collectors:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/NewAnim/HandRodPowerup.anim
Address: Plyaer/HandRodPowerup
Type: AnimationClip
Bundle: main/plyaer.bundle
Tags:
Group:
Name: Plyaer
Enable: 1
BundleMode: 0
AddressMode: 2
Tags:
Collectors:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/NewAnim/HandRodPowerupWait.anim
Address: Plyaer/HandRodPowerupWait
Type: AnimationClip
Bundle: main/plyaer.bundle
Tags:
Group:
Name: Plyaer
Enable: 1
BundleMode: 0
AddressMode: 2
Tags:
Collectors:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/NewAnim/HandRodThrown.anim
Address: Plyaer/HandRodThrown
Type: AnimationClip
Bundle: main/plyaer.bundle
Tags:
Group:
Name: Plyaer
Enable: 1
BundleMode: 0
AddressMode: 2
Tags:
Collectors:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/NewAnim/HandRodWaitIdle.anim
Address: Plyaer/HandRodWaitIdle
Type: AnimationClip
Bundle: main/plyaer.bundle
Tags:
Group:
Name: Plyaer
Enable: 1
BundleMode: 0
AddressMode: 2
Tags:
Collectors:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/NewAnim/PlayerAnimator.controller
Address: Plyaer/PlayerAnimator
Type: AnimatorController
Bundle: main/plyaer.bundle
Tags:
Group:
Name: Plyaer
Enable: 1
BundleMode: 0
AddressMode: 2
Tags:
Collectors:
- {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3}
FilterEnum: 0
Filter: '*'
- Path: Assets/ResRaw/Prefabs/Player/NewAnim/RodIdle.anim
Address: Plyaer/RodIdle
Type: AnimationClip
Bundle: main/plyaer.bundle
Tags:

File diff suppressed because it is too large Load Diff

View File

@@ -10,7 +10,7 @@ GameObject:
m_Component:
- component: {fileID: 5757538020472164704}
m_Layer: 0
m_Name: Rod_Parent_L
m_Name: RodRoot
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -25,7 +25,7 @@ Transform:
m_GameObject: {fileID: 661944087655102286}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0.0842, y: 0.021, z: 0.004}
m_LocalPosition: {x: -0.0813, y: 0.0252, z: 0.0167}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -73,7 +73,7 @@ GameObject:
m_Component:
- component: {fileID: 2827152078700489346}
m_Layer: 0
m_Name: Rod_Parent_R
m_Name: RodRoot
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -88,7 +88,7 @@ Transform:
m_GameObject: {fileID: 6590233066953704931}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0.0842, y: -0.021, z: 0.004}
m_LocalPosition: {x: 0.0813, y: -0.0252, z: 0.0167}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -2105,7 +2105,7 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1127680710956633387}
m_Enabled: 0
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 44abb7c9bc2052d4a99b93e20bd7724c, type: 3}
m_Name:
@@ -2197,7 +2197,7 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1127680710956633387}
m_Enabled: 0
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 809ba6e8da7306649bb856682a915b13, type: 3}
m_Name:

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 8bfc96efea48fbf4995bbe8b161d52fc
guid: 86338af7d1027b048bec31c6d62a5176
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c9d51666d9fd52d4db7f26a90625d34a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c364366459eed9b488c7888b6dd7bda1
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: aed671f9706de7042a199faf3e20efaa
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 97040bd49a59b0a48bea09e1b11df5b5
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8406b636a873cfa4aaf06ca8151ad4d0
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 776df24050b7bf340a8bb2b6d773b883
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 57736775cb2870349963a5d1e28e87d6
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0be8b91d77089504e9507f0c3eda1335
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 96d3dd940c605724d8e7548b050470cb
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 47467c2164e78d8488729496b9ccf023
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6456a87af1052b44fae15b7cf0ff36ba
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: da9e3cadab2e152478cf93248ee36a98
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ea01141148883334fb8d47428d998939
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 989f394014b7de647a5a5a7b89b5e23d
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 3894ddf900eee734f9644e348a0a3f6d
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b1ec1b1a905f66742b7f03951f315a09
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -5,31 +5,11 @@ using UnityEngine;
namespace NBF
{
[Serializable]
public enum PlayerState
{
idle = 0,
move = 1,
prepare = 2,
casting = 3,
fishing = 4,
baitFlies = 5,
fight = 6,
fishView = 7,
collectFish = 8,
throwFish = 9,
vehicle = 10,
swiming = 11,
flyModeDebug = 12,
vehicleFishing = 13,
preciseCastIdle = 14,
preciseCastThrow = 15
}
public class PlayerModelAsset : MonoBehaviour
{
public Animator Animator { get; private set; }
public PlayerIK IK { get; private set; }
public PlayerAnimator PlayerAnimator { get; private set; }
public MagicBlending MagicBlending { get; private set; }
public Transform NeckTransform;
@@ -46,6 +26,7 @@ namespace NBF
Animator.keepAnimatorStateOnDisable = true;
MagicBlending = GetComponent<MagicBlending>();
IK = GetComponent<PlayerIK>();
PlayerAnimator = GetComponent<PlayerAnimator>();
}
}
}

View File

@@ -4,43 +4,6 @@
{
public const uint None = 0;
public static class Player
{
/// <summary>
/// 闲置
/// </summary>
public const uint Idle = 2;
/// <summary>
/// 拿着鱼竿闲置
/// </summary>
public const uint RodIdle = 3;
/// <summary>
/// 等待抛竿,蓄力中
/// </summary>
public const uint WaitThrow = 4;
/// <summary>
/// 抛竿中
/// </summary>
public const uint Throw = 5;
/// <summary>
/// 钓鱼中
/// </summary>
public const uint Fishing = 6;
/// <summary>
/// 上鱼搏斗中
/// </summary>
public const uint Fight = 7;
/// <summary>
/// 展示鱼获
/// </summary>
public const uint ShowFish = 8;
}
public static class Fish
{

View File

@@ -4,6 +4,7 @@ using System.Collections.Generic;
using ECM2;
using ECM2.Examples.FirstPerson;
using Fantasy;
using NBC;
using NBF.Fishing2;
using NBF.Utils;
using UnityEngine;
@@ -28,6 +29,7 @@ namespace NBF
public readonly List<FRod> Tackles = new List<FRod>();
public FRod Rod { get; private set; }
public Fsm<FPlayer> Fsm { get; private set; }
public event Action<FHandItem> OnFishingSetEquiped;
public event Action OnFishingSetUnequip;
@@ -42,6 +44,7 @@ namespace NBF
private void Start()
{
InitFsm();
AddInputEvent();
CreatePlayerModel();
}
@@ -56,6 +59,20 @@ namespace NBF
RemoveInputEvent();
}
#region
private void InitFsm()
{
Fsm = new Fsm<FPlayer>("Player", this, true);
Fsm.RegisterState<PlayerStateIdle>();
Fsm.RegisterState<PlayerStateThrow>();
Fsm.RegisterState<PlayerStateFishing>();
Fsm.RegisterState<PlayerStateFight>();
Fsm.RegisterState<PlayerStatePrepare>();
Fsm.Start<PlayerStateIdle>();
}
#endregion
#region
@@ -117,6 +134,7 @@ namespace NBF
Destroy(Rod.gameObject);
Tackles.Remove(Rod);
Rod = null;
yield return new WaitForSeconds(0.15f);
}
}

View File

@@ -3,9 +3,60 @@ using UnityEngine;
namespace NBF
{
// [Serializable]
// public enum PlayerState
// {
// idle = 0,
// move = 1,
// prepare = 2,
// casting = 3,
// fishing = 4,
// baitFlies = 5,
// fight = 6,
// fishView = 7,
// collectFish = 8,
// throwFish = 9,
// vehicle = 10,
// swiming = 11,
// flyModeDebug = 12,
// vehicleFishing = 13,
// preciseCastIdle = 14,
// preciseCastThrow = 15
// }
[Serializable]
public enum PlayerState : uint
{
None = 0,
/// <summary>
/// 闲置等待中
/// </summary>
Idle = 1,
/// <summary>
/// 准备抛竿
/// </summary>
Prepare = 2,
/// <summary>
/// 抛竿中
/// </summary>
Throw = 3,
/// <summary>
/// 钓鱼中
/// </summary>
Fishing = 4,
/// <summary>
/// 溜鱼中
/// </summary>
Fight = 5
}
public class FPlayerData : MonoService<FPlayerData>
{
private PlayerState _previousPlayerState = PlayerState.idle;
private PlayerState _previousPlayerState = PlayerState.Idle;
private PlayerState _playerState;
public bool ChangeItem;

View File

@@ -18,36 +18,62 @@ namespace NBF
#region
public static readonly int IsSwiming = Animator.StringToHash("Swim");
public static readonly int ThrowFar = Animator.StringToHash("ThrowFar");
public static readonly int BoatDriving = Animator.StringToHash("BoatDriving");
public static readonly int BaitInWater = Animator.StringToHash("BaitInWater");
public static readonly int HeldRod = Animator.StringToHash("HeldRod");
public static readonly int RodArming = Animator.StringToHash("RodArming");
// public static readonly int IsSwiming = Animator.StringToHash("Swim");
//
// public static readonly int ThrowFar = Animator.StringToHash("ThrowFar");
//
// public static readonly int BoatDriving = Animator.StringToHash("BoatDriving");
//
// public static readonly int BaitInWater = Animator.StringToHash("BaitInWater");
//
// public static readonly int HeldRod = Animator.StringToHash("HeldRod");
//
// public static readonly int RodArming = Animator.StringToHash("RodArming");
public static readonly int Forward = Animator.StringToHash("Forward");
public static readonly int Turn = Animator.StringToHash("Turn");
public static readonly int OnGround = Animator.StringToHash("OnGround");
public static readonly int RodRight = Animator.StringToHash("rod right");
public static readonly int RodForward = Animator.StringToHash("rod forward");
public static readonly int PreciseCast = Animator.StringToHash("Precise Cast");
public static readonly int PreciseIdle = Animator.StringToHash("Precise Idle");
public static readonly int OnGroundHash = Animator.StringToHash("OnGround");
public static readonly int PrepareThrowHash = Animator.StringToHash("PrepareThrow");
public static readonly int StartThrowHash = Animator.StringToHash("StartThrow");
public static readonly int BaitThrownHash = Animator.StringToHash("BaitThrown");
private static readonly int FishingUpHash = Animator.StringToHash("FishingUp");
public static readonly string LureRodLayer = "LureRod";
public static readonly string HandRodLayer = "HandRod";
public float FishingUp
{
get => _Animator.GetFloat(FishingUpHash);
set => _Animator.SetFloat(FishingUpHash, value);
}
public bool OnGround
{
get => _Animator.GetBool(OnGroundHash);
set => _Animator.SetBool(OnGroundHash, value);
}
public bool StartThrow
{
get => _Animator.GetBool(StartThrowHash);
set => _Animator.SetBool(StartThrowHash, value);
}
public bool BaitThrown
{
get => _Animator.GetBool(BaitThrownHash);
set => _Animator.SetBool(BaitThrownHash, value);
}
public bool PrepareThrow
{
get => _Animator.GetBool(PrepareThrowHash);
set => _Animator.SetBool(PrepareThrowHash, value);
}
#endregion
@@ -64,6 +90,7 @@ namespace NBF
Player.Data.OnStateChange += PlayerFSMState_OnValueChanged;
}
private void OnDestroy()
{
Player.OnFishingSetEquiped -= OnFishingSetEquiped_OnRaised;
@@ -78,21 +105,6 @@ namespace NBF
_IK.SetBipedLeftHandIK(enabled: false, null);
}
private void OnCastLure()
{
Player.Data.State = PlayerState.baitFlies;
// SFXGameManagement.PlaySound("Cast Fishing Rod", base.transform);
}
private void OnBailUnnarm()
{
// if (IsThrowButtonPressed.Value)
// {
// _Animator.SetBool(ThrowFar, value: true);
// Player.Data.State = PlayerState.casting;
// OnBailOpen?.Invoke();
// }
}
private void OnFishingSetEquiped_OnRaised(FHandItem item)
{
@@ -107,16 +119,6 @@ namespace NBF
}
}
private void PlayAnimation(string state, string layer)
{
_Animator.CrossFade(state, 0.3f, _Animator.GetLayerIndex(layer));
}
public void PlayPreciseCastAnimation()
{
_Animator.SetBool(PreciseIdle, value: false);
_Animator.SetTrigger(PreciseCast);
}
public void SetLayerWeight(string layer, float weight)
{
@@ -125,94 +127,119 @@ namespace NBF
private void PlayerFSMState_OnValueChanged(PlayerState state)
{
switch (Player.Data.PreviousState)
{
case PlayerState.vehicle:
_IsInVehicle = false;
_Animator.SetBool(BoatDriving, value: false);
break;
case PlayerState.swiming:
_Animator.SetBool(IsSwiming, value: false);
break;
case PlayerState.preciseCastIdle:
_Animator.SetBool(PreciseIdle, value: false);
break;
case PlayerState.prepare:
_Animator.SetBool(RodArming, value: false);
break;
case PlayerState.casting:
_Animator.SetBool(ThrowFar, value: false);
break;
case PlayerState.collectFish:
_magicBlending.BlendAsset.globalWeight = 0f;
break;
}
switch (state)
{
case PlayerState.idle:
case PlayerState.move:
_Animator.SetBool(BaitInWater, value: false);
_Animator.SetBool(HeldRod, value: false);
_Animator.SetBool(ThrowFar, value: false);
_Animator.SetBool(RodArming, value: false);
break;
case PlayerState.prepare:
_Animator.SetBool(RodArming, value: true);
_Animator.SetBool(HeldRod, value: true);
break;
case PlayerState.fishing:
_Animator.SetBool(HeldRod, value: true);
_Animator.SetBool(BaitInWater, value: true);
break;
case PlayerState.vehicle:
_Animator.SetBool(BaitInWater, value: false);
_Animator.SetBool(HeldRod, value: false);
_Animator.SetBool(ThrowFar, value: false);
_Animator.SetBool(RodArming, value: false);
_Animator.SetBool(BoatDriving, value: true);
_IK.SetBipedLeftHandIK(enabled: true);
_IsInVehicle = true;
break;
case PlayerState.vehicleFishing:
_Animator.SetBool(BaitInWater, value: false);
_Animator.SetBool(HeldRod, value: false);
_Animator.SetBool(ThrowFar, value: false);
_Animator.SetBool(RodArming, value: false);
_IsInVehicle = true;
break;
case PlayerState.swiming:
_Animator.SetBool(IsSwiming, value: true);
break;
case PlayerState.collectFish:
_Animator.SetBool(BaitInWater, value: false);
_IK.SetAimIK(enabled: false);
_magicBlending.BlendAsset.globalWeight = 1f;
break;
case PlayerState.preciseCastIdle:
_Animator.SetBool(PreciseIdle, value: true);
break;
case PlayerState.casting:
case PlayerState.baitFlies:
case PlayerState.fight:
case PlayerState.fishView:
case PlayerState.throwFish:
case PlayerState.flyModeDebug:
break;
}
// switch (Player.Data.PreviousState)
// {
// case PlayerState.vehicle:
// _IsInVehicle = false;
// _Animator.SetBool(BoatDriving, value: false);
// break;
// case PlayerState.swiming:
// _Animator.SetBool(IsSwiming, value: false);
// break;
// case PlayerState.preciseCastIdle:
// _Animator.SetBool(PreciseIdle, value: false);
// break;
// case PlayerState.prepare:
// _Animator.SetBool(RodArming, value: false);
// break;
// case PlayerState.casting:
// _Animator.SetBool(ThrowFar, value: false);
// break;
// case PlayerState.collectFish:
// _magicBlending.BlendAsset.globalWeight = 0f;
// break;
// }
//
// switch (state)
// {
// switch (Player.Data.PreviousState)
// {
// case PlayerState.vehicle:
// _IsInVehicle = false;
// _Animator.SetBool(BoatDriving, value: false);
// break;
// case PlayerState.swiming:
// _Animator.SetBool(IsSwiming, value: false);
// break;
// case PlayerState.preciseCastIdle:
// _Animator.SetBool(PreciseIdle, value: false);
// break;
// case PlayerState.prepare:
// _Animator.SetBool(RodArming, value: false);
// break;
// case PlayerState.casting:
// _Animator.SetBool(ThrowFar, value: false);
// break;
// case PlayerState.collectFish:
// _magicBlending.BlendAsset.globalWeight = 0f;
// break;
// }
//
// switch (state)
// {
// case PlayerState.idle:
// case PlayerState.move:
// _Animator.SetBool(BaitInWater, value: false);
// _Animator.SetBool(HeldRod, value: false);
// _Animator.SetBool(ThrowFar, value: false);
// _Animator.SetBool(RodArming, value: false);
// break;
// case PlayerState.prepare:
// _Animator.SetBool(RodArming, value: true);
// _Animator.SetBool(HeldRod, value: true);
// break;
// case PlayerState.fishing:
// _Animator.SetBool(HeldRod, value: true);
// _Animator.SetBool(BaitInWater, value: true);
// break;
// case PlayerState.vehicle:
// _Animator.SetBool(BaitInWater, value: false);
// _Animator.SetBool(HeldRod, value: false);
// _Animator.SetBool(ThrowFar, value: false);
// _Animator.SetBool(RodArming, value: false);
// _Animator.SetBool(BoatDriving, value: true);
// _IK.SetBipedLeftHandIK(enabled: true);
// _IsInVehicle = true;
// break;
// case PlayerState.vehicleFishing:
// _Animator.SetBool(BaitInWater, value: false);
// _Animator.SetBool(HeldRod, value: false);
// _Animator.SetBool(ThrowFar, value: false);
// _Animator.SetBool(RodArming, value: false);
// _IsInVehicle = true;
// break;
// case PlayerState.swiming:
// _Animator.SetBool(IsSwiming, value: true);
// break;
// case PlayerState.collectFish:
// _Animator.SetBool(BaitInWater, value: false);
// _IK.SetAimIK(enabled: false);
// _magicBlending.BlendAsset.globalWeight = 1f;
// break;
// case PlayerState.preciseCastIdle:
// _Animator.SetBool(PreciseIdle, value: true);
// break;
// case PlayerState.casting:
// case PlayerState.baitFlies:
// case PlayerState.fight:
// case PlayerState.fishView:
// case PlayerState.throwFish:
// case PlayerState.flyModeDebug:
// break;
// }
}
private void LateUpdate()
{
if (Player.Data.State == PlayerState.swiming)
{
float value = Mathf.Lerp(_Animator.GetFloat(Forward), Player.Data.Speed / 2.5f,
Time.deltaTime * 5f);
float value2 = Mathf.Lerp(_Animator.GetFloat(Turn), Player.Data.RotationSpeed, Time.deltaTime * 5f);
_Animator.SetFloat(Forward, Mathf.Clamp01(value));
_Animator.SetFloat(Turn, Mathf.Clamp(value2, -1f, 1f));
}
else
// if (Player.Data.State == PlayerState.swiming)
// {
// float value = Mathf.Lerp(_Animator.GetFloat(Forward), Player.Data.Speed / 2.5f,
// Time.deltaTime * 5f);
// float value2 = Mathf.Lerp(_Animator.GetFloat(Turn), Player.Data.RotationSpeed, Time.deltaTime * 5f);
// _Animator.SetFloat(Forward, Mathf.Clamp01(value));
// _Animator.SetFloat(Turn, Mathf.Clamp(value2, -1f, 1f));
// }
// else
{
float value3 = Mathf.Lerp(_Animator.GetFloat(Forward), Player.Data.Speed / 5f,
Time.deltaTime * 20f);
@@ -221,16 +248,14 @@ namespace NBF
_Animator.SetFloat(Turn, Mathf.Clamp(value4, -1f, 1f));
}
var rod = Vector3.zero;
if (Player.Rod)
{
rod = Player.Rod.transform.position;
}
// var rod = Vector3.zero;
// if (Player.Rod)
// {
// rod = Player.Rod.transform.position;
// }
_Animator.SetBool(OnGroundHash, _IsInVehicle || Player.Data.IsGrounded);
_Animator.SetBool(OnGround, _IsInVehicle || Player.Data.IsGrounded);
_Animator.SetFloat(RodRight, rod.x);
_Animator.SetFloat(RodForward, rod.y);
var isHandRodLayerEnabled = _isRodLayerEnabled && !Player.Data.IsLureRod ? 1 : 0;
@@ -244,5 +269,30 @@ namespace NBF
SetLayerWeight(LureRodLayer,
Mathf.MoveTowards(lureRodLayerWeight, isLureRodLayerEnabled, Time.deltaTime * 3f));
}
#region
/// <summary>
/// 抬杆到底动画事件
/// </summary>
public void OnRodPowerUp()
{
}
/// <summary>
/// 开始抛出动画事件
/// </summary>
public void OnRodThrowStart()
{
}
/// <summary>
/// 抛竿结束动画事件
/// </summary>
public void OnRodThrownEnd()
{
}
#endregion
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: a3b57223c7f94237869524280afe1672
timeCreated: 1768138483

View File

@@ -0,0 +1,21 @@
using NBC;
using UnityEngine;
namespace NBF
{
public abstract class PlayerStateBase : FsmBaseState<FPlayer>
{
protected FPlayer Player => _owner;
/// <summary>
/// 检查状态超时
/// </summary>
public void CheckStateTimeout(float time)
{
if (Time.time - EnterTime >= time)
{
Root.Start<PlayerStateIdle>();
}
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 080f1176c3ac4eefa37f615b22cac7ed
timeCreated: 1768138530

View File

@@ -0,0 +1,20 @@
namespace NBF
{
public class PlayerStateFight : PlayerStateBase
{
public override uint StateId => (uint)PlayerState.Fishing;
protected override void onEnter()
{
}
protected override void onExit()
{
}
protected override uint onUpdate()
{
return States.None;
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 0720dd0d400641bea639e36f169aafde
timeCreated: 1768138922

View File

@@ -0,0 +1,23 @@
namespace NBF
{
/// <summary>
/// 钓鱼中
/// </summary>
public class PlayerStateFishing : PlayerStateBase
{
public override uint StateId => (uint)PlayerState.Fishing;
protected override void onEnter()
{
}
protected override void onExit()
{
}
protected override uint onUpdate()
{
return States.None;
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 6953fd92b2c54c6e846a0363520a9010
timeCreated: 1768138900

View File

@@ -0,0 +1,41 @@
namespace NBF
{
/// <summary>
/// 闲置中
/// </summary>
public class PlayerStateIdle : PlayerStateBase
{
public override uint StateId => (uint)PlayerState.Idle;
private bool _nextState = false;
protected override void onEnter()
{
_nextState = false;
InputManager.OnOp1Action += OnOp1Action;
}
private void OnOp1Action(bool performed)
{
if (!Player.Rod) return;
if (performed)
{
_nextState = true;
}
}
protected override void onExit()
{
InputManager.OnOp1Action -= OnOp1Action;
}
protected override uint onUpdate()
{
if (_nextState)
{
return (uint)PlayerState.Prepare;
}
return States.None;
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: a6146dcfbaf54972ac75c8115041ed3e
timeCreated: 1768138510

View File

@@ -0,0 +1,74 @@
using UnityEngine;
namespace NBF
{
/// <summary>
/// 准备抛竿中
/// </summary>
public class PlayerStatePrepare : PlayerStateBase
{
public override uint StateId => (uint)PlayerState.Prepare;
public enum Phase
{
/// <summary>
/// 蓄力
/// </summary>
Charged,
/// <summary>
/// 确认蓄力结果
/// </summary>
Confirm,
}
public Phase Stage = Phase.Charged;
public float ChargedProgress;
protected override void onEnter()
{
Stage = Phase.Charged;
Player.ModelAsset.PlayerAnimator.PrepareThrow = true;
Player.ModelAsset.PlayerAnimator.FishingUp = 0;
}
protected override uint onUpdate()
{
if (Stage == Phase.Charged)
{
ThrowPowerCharged();
}
else if (Stage == Phase.Confirm)
{
//确认蓄力结果,
Debug.Log($"确认蓄力结果,ChargedProgress={ChargedProgress}");
Params.Add(ChargedProgress);
return (uint)PlayerState.Throw;
}
return base.onUpdate();
}
#region
private void ThrowPowerCharged()
{
if (ChargedProgress < 1)
{
ChargedProgress += Time.deltaTime;
}
else if (ChargedProgress > 1)
{
ChargedProgress = 1;
}
if (!InputManager.IsOp1)
{
Stage = Phase.Confirm;
}
}
#endregion
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 1301b70435cd44c8ba3cc6085f35a782
timeCreated: 1768138823

View File

@@ -0,0 +1,145 @@
using NBC;
using UnityEngine;
namespace NBF
{
/// <summary>
/// 抛竿中
/// </summary>
public class PlayerStateThrow : PlayerStateBase
{
public override uint StateId => (uint)PlayerState.Throw;
public enum Phase
{
/// <summary>
/// 等待动画事件回调
/// </summary>
Waiting,
/// <summary>
/// 前摇动画
/// </summary>
AnimBegin,
/// <summary>
/// 抛线动画
/// </summary>
ThrowAnim,
/// <summary>
/// 结束
/// </summary>
Done,
ErrorDone
}
public Phase Stage = Phase.Waiting;
public float ChargedProgress;
protected override void onEnter()
{
_owner.ModelAsset.PlayerAnimator.StartThrow = true;
ChargedProgress = (float)Params.Get(0);
Debug.Log($"PlayerThrow ChargedProgress={ChargedProgress}");
Stage = Phase.Waiting;
// _owner.Gears.Reel?.Unlock();
}
protected override uint onUpdate()
{
CheckStateTimeout(10);
if (Stage == Phase.AnimBegin)
{
AnimBegin();
ThrowPosition();
}
else if (Stage == Phase.ThrowAnim)
{
ThrowAnim();
}
else if (Stage == Phase.Done)
{
return (uint)PlayerState.Fishing;
}
else if (Stage == Phase.ErrorDone)
{
return (uint)PlayerState.Idle;
}
return base.onUpdate();
}
#region
/// <summary>
/// 抛竿动画事件
/// </summary>
public void RodForceThrowStart()
{
// Debug.LogError($"RodForceThrowStart==");
_owner.ModelAsset.PlayerAnimator.PrepareThrow = false;
_owner.ModelAsset.PlayerAnimator.StartThrow = false;
Stage = Phase.AnimBegin;
}
#endregion
#region 线
private void AnimBegin()
{
_owner.ModelAsset.PlayerAnimator.PrepareThrow = false;
_owner.ModelAsset.PlayerAnimator.StartThrow = false;
_owner.ModelAsset.PlayerAnimator.BaitThrown = true;
Stage = Phase.ThrowAnim;
}
#endregion
#region 竿线
private NTask _throwAnim;
private void ThrowPosition()
{
// if (_owner.PlayerAnimatorCtrl.ThrowMode == ThrowModeEnum.Float)
// {
// _owner.Gears.Rod.lineHandler.pinchController?.ReleasePinch();
// _throwAnim = new BobThrowAnim(_owner);
// _throwAnim.Run(DefRunner.Scheduler);
// }
// else
// {
// _throwAnim = new LureThrowAnim(_owner);
// _throwAnim.Run(DefRunner.Scheduler);
// }
}
private void ThrowAnim()
{
if (_throwAnim.IsDone)
{
// if (_throwAnim.Status == NTaskStatus.Success)
// {
// if (_owner.PlayerAnimatorCtrl.ThrowMode == ThrowModeEnum.Spin)
// {
// SetArm();
// }
//
// Stage = Phase.Done;
// Debug.LogError($"抛线后,线长度={_owner.Data.lineLength}");
// }
// else
// {
// Stage = Phase.ErrorDone;
// }
}
}
#endregion
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 1a0b4bc6f668446cab7baf752da60477
timeCreated: 1768138870

View File

@@ -12,5 +12,5 @@ MonoBehaviour:
m_Script: {fileID: -1063058285, guid: 448d62fcada76fd4ab5702190add98fd, type: 3}
m_Name: EditorUndoStackPointer
m_EditorClassIdentifier: "UMotionEditor.dll::\u0389\u0389\u0389\u0389\u038A\u0389\u0389\u0389\u038A\u038A\u038A\u038A\u038A\u0389\u038A\u038A\u038A\u0389\u038A\u038A\u0389\u0389\u0389\u038A\u038A\u038A\u038A\u038A\u038A\u0389\u038A\u038A\u0389\u038A\u038A\u0389\u038A\u0389\u0389\u0389\u038A\u0389\u0389\u0389\u0389\u0389\u038A"
"\u0389\u038A\u0389\u038A\u0389\u038A\u0389\u038A\u038A\u038A\u038A\u0389\u038A\u0389\u038A\u0389\u0389\u038A\u0389\u038A\u0389\u038A\u0389\u038A\u0389\u038A\u0389\u0389\u038A\u0389\u0389\u038A\u0389\u038A\u038A\u0389\u0389\u038A\u038A\u0389\u0389\u038A\u0389\u038A\u038A\u0389\u038A":
"\u038A\u038A\u0389\u038A\u038A\u0389\u0389\u0389\u038A\u0389\u038A\u038A\u038A\u0389\u038A\u0389\u0389\u0389\u038A\u0389\u038A\u0389\u038A\u038A\u038A\u038A\u038A\u0389\u0389\u0389\u0389\u0389\u038A\u038A\u0389\u038A\u0389\u0389\u0389\u0389\u038A\u038A\u0389\u038A\u0389\u0389\u0389": -1
"\u0389\u038A\u0389\u038A\u0389\u038A\u0389\u038A\u038A\u038A\u038A\u0389\u038A\u0389\u038A\u0389\u0389\u038A\u0389\u038A\u0389\u038A\u0389\u038A\u0389\u038A\u0389\u0389\u038A\u0389\u0389\u038A\u0389\u038A\u038A\u0389\u0389\u038A\u038A\u0389\u0389\u038A\u0389\u038A\u038A\u0389\u038A": 1.29p03
"\u038A\u038A\u0389\u038A\u038A\u0389\u0389\u0389\u038A\u0389\u038A\u038A\u038A\u0389\u038A\u0389\u0389\u0389\u038A\u0389\u038A\u0389\u038A\u038A\u038A\u038A\u038A\u0389\u0389\u0389\u0389\u0389\u038A\u038A\u0389\u038A\u0389\u0389\u0389\u0389\u038A\u038A\u0389\u038A\u0389\u0389\u0389": 30

View File

@@ -60,6 +60,7 @@
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AShadowCastingMode_002Ecs_002Fl_003AC_0021_003FUsers_003FFIREBAT_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb4c8c45fec274213bfac03ee0e9a3d621f5a00_003Fd9_003F3be02aeb_003FShadowCastingMode_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ASphereCollider_002Ecs_002Fl_003AC_0021_003FUsers_003F60527_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F03ef825315384b1cab81c4b53eb03d922ac00_003F31_003F871dbbe1_003FSphereCollider_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AStageUtility_002Ecs_002Fl_003AC_0021_003FUsers_003F60527_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F1acad9deef3549c4b9617dfa169c66599f7e00_003F55_003F33325e88_003FStageUtility_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AStateMachineBehaviour_002Ecs_002Fl_003AC_0021_003FUsers_003F60527_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F3df5fd9b66044de485550adfb7f27fb636200_003F53_003F95570149_003FStateMachineBehaviour_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AString_002Ecs_002Fl_003AC_0021_003FUsers_003FFIREBAT_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F59bd7c40c082431db25e1e728ab6278946ae00_003Fe2_003F16978e70_003FString_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ASystemLanguage_002Ecs_002Fl_003AC_0021_003FUsers_003Fbob_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F021f30a9a92b48ce98ae6b39956dd76a1df600_003F90_003F0e6861e6_003FSystemLanguage_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AThrowHelper_002Ecs_002Fl_003AC_0021_003FUsers_003F60527_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F59bd7c40c082431db25e1e728ab6278946ae00_003Ff2_003F10674937_003FThrowHelper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>

Binary file not shown.

Binary file not shown.

View File

@@ -24,17 +24,17 @@ EditorUserSettings:
value: 5307565150535b0b0c5a552711700644474e19297a29206379704b37e7b86368
flags: 0
RecentlyUsedSceneGuid-5:
value: 00050c5150005f5f54560f2640270d4410161c28282b72357e7c4835e4b63760
flags: 0
RecentlyUsedSceneGuid-6:
value: 5b520400060d5a5a5b5b557641770b43424f1c28787d25612b2d196ab0b66068
flags: 0
RecentlyUsedSceneGuid-7:
RecentlyUsedSceneGuid-6:
value: 52530c5601535f020f565a2043770d1612154d2f747975692c7b4e66b5e3303b
flags: 0
RecentlyUsedSceneGuid-8:
RecentlyUsedSceneGuid-7:
value: 5309035757065a0a54575f7216265c4444151d28792e72627d2f1935bbb8673a
flags: 0
RecentlyUsedSceneGuid-8:
value: 00050c5150005f5f54560f2640270d4410161c28282b72357e7c4835e4b63760
flags: 0
RecentlyUsedSceneGuid-9:
value: 5505015f5c515a085f5b092149760f441716407a787d7564287b1b36e7e1366e
flags: 0