动画修改

This commit is contained in:
2026-03-15 22:52:49 +08:00
parent 2be6ab915a
commit 1e1fec02cd
24 changed files with 34258 additions and 36910 deletions

View File

@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: 4ac59e4ab71247b790b959f91f53c285
timeCreated: 1772788069

View File

@@ -1,986 +0,0 @@
// using System;
// using System.Collections.Generic;
// using System.Text;
// using cfg;
// using UnityEngine;
//
// namespace NBF
// {
// /// <summary>
// /// 钓组类型
// /// </summary>
// public enum GearType
// {
// SpinningFloat = 0,
// Spinning = 1,
// Hand = 2,
// Feeder = 3,
// Pole = 4
// }
//
// /// <summary>
// /// 装备物品类型枚举(用于快速判断)
// /// </summary>
// public enum GearItemType
// {
// None = 0,
// Rod = 1,
// Reel = 2,
// Bobber = 3,
// Hook = 4,
// Bait = 5,
// Lure = 6,
// Weight = 7,
// Line = 8,
// Leader = 9,
// Feeder = 10
// }
//
//
// public enum HeldItemType
// {
// None = 0,
// Gear = 1, // 钓组
// Tool = 2, // 工具(铲子等)
// Consumable = 3, // 消耗品
// Special = 4 // 特殊物品
// }
//
// /// <summary>
// /// 手持物品信息
// /// </summary>
// [Serializable]
// public class HeldItemInfo
// {
// public HeldItemType ItemType; // 物品类型
// public int ConfigID; // 配置 ID钓组或普通物品
//
// // 如果是钓组,包含完整钓组数据
// public FPlayerGearData GearData;
// }
//
//
// [Serializable]
// public class FPlayerData
// {
// // ========== 基础标识 ==========
// public int PlayerID;
// public bool IsLocalPlayer; // 是否为本地玩家
// public bool IsServer; // 是否由服务器控制
//
// // ========== 持久化数据(低频同步) ==========
// /// <summary>
// /// 所有可用钓组
// /// </summary>
// public List<FPlayerGearData> AllGears = new();
//
// // ========== 当前状态(中高频同步) ==========
// /// <summary>
// /// 当前手持的物品
// /// </summary>
// public HeldItemInfo CurrentHeldItem = new();
//
// /// <summary>
// /// 当前装备的钓组(从 CurrentHeldItem 派生,方便访问)
// /// </summary>
// public FPlayerGearData CurrentGear =>
// CurrentHeldItem.ItemType == HeldItemType.Gear ? CurrentHeldItem.GearData : null;
//
// // ========== 物理状态(高频同步) ==========
// public Vector3 position;
// public Quaternion rotation;
// public Vector2 MoveInput;
// public float Speed;
// public float RotationSpeed;
// public bool IsGrounded;
// public bool Run;
//
// // ========== 钓鱼相关状态(中频同步) ==========
// public float currentReelingSpeed;
// public bool isHandOnHandle;
// public float lineLength;
// public float reelSpeed;
// public float EyeAngle;
// public bool IsLureRod;
//
// // ========== 动作和道具状态(低频同步) ==========
// public bool openLight;
// public bool openTelescope;
// public bool ChangeItem;
//
// // ========== 状态机 ==========
// private PlayerState _previousPlayerState = PlayerState.Idle;
// private PlayerState _playerState;
// public PlayerState PreviousState => _previousPlayerState;
//
// /// <summary>
// /// 当前状态的进入参数(本地和远程都适用)
// /// </summary>
// public StateEnterParams CurrentStateParams { get; private set; } = new StateEnterParams();
//
// public PlayerState State
// {
// get => _playerState;
// set
// {
// if (_playerState != value)
// {
// _previousPlayerState = _playerState;
// _playerState = value;
// NextState = value;
//
// // 先触发事件(带参数)
// OnStateChange?.Invoke(_playerState, CurrentStateParams);
//
// // 触发网络同步(如果有)
// if (PlayerDataManager.Instance != null)
// {
// PlayerDataManager.Instance.OnPlayerStateChanged(this, value);
// }
// }
// }
// }
//
// /// <summary>
// /// 设置状态并传入参数
// /// </summary>
// public void SetState(PlayerState newState, StateEnterParams enterParams = null)
// {
// // 复制参数到当前状态
// if (enterParams != null)
// {
// CurrentStateParams = enterParams.Clone();
// }
// else
// {
// CurrentStateParams.Clear();
// }
//
// State = newState;
// }
//
// [SerializeField] private PlayerState NextState;
// public event Action<PlayerState, StateEnterParams> OnStateChange;
//
//
// // ========== 网络同步相关 ==========
// /// <summary>
// /// 最后接收到的网络快照时间
// /// </summary>
// public float LastNetworkSyncTime { get; set; }
//
// /// <summary>
// /// 是否需要网络插值
// /// </summary>
// public bool NeedInterpolation => !IsLocalPlayer && !IsServer;
//
// // ========== 脏标记系统(关键优化) ==========
// private SyncFlags _dirtyFlags = SyncFlags.None;
//
// /// <summary>
// /// 标记某个数据块已变化,需要同步
// /// </summary>
// public void MarkDirty(SyncFlags flag)
// {
// _dirtyFlags |= flag;
// }
//
// /// <summary>
// /// 检查是否有数据需要同步
// /// </summary>
// public bool HasDirtyData => _dirtyFlags != SyncFlags.None;
//
// /// <summary>
// /// 获取并清除脏标记
// /// </summary>
// public SyncFlags GetAndClearDirtyFlags()
// {
// var flags = _dirtyFlags;
// _dirtyFlags = SyncFlags.None;
// return flags;
// }
//
// /// <summary>
// /// 清除所有脏标记
// /// </summary>
// public void ClearDirtyFlags()
// {
// _dirtyFlags = SyncFlags.None;
// }
//
//
// // ========== 生命周期 ==========
// private void Start()
// {
// NextState = State;
// InitializeDefaultItems();
// }
//
// private void Update()
// {
// if (NextState != State)
// {
// State = NextState;
// }
// }
//
// // ========== 物品系统方法 ==========
//
// /// <summary>
// /// 切换手持物品
// /// </summary>
// public void SwitchHeldItem(HeldItemInfo newItem)
// {
// CurrentHeldItem = newItem;
// ChangeItem = true;
//
// // 如果切换到钓组,更新 CurrentGear 引用
// if (newItem.ItemType == HeldItemType.Gear)
// {
// // 确保钓组数据有效
// if (newItem.GearData == null)
// {
// newItem.GearData = GetGearByConfigID(newItem.ConfigID);
// }
// }
//
// // 通知网络层
// if (PlayerDataManager.Instance != null)
// {
// PlayerDataManager.Instance.OnHeldItemChanged(this, newItem);
// }
// }
//
// /// <summary>
// /// 装备钓组
// /// </summary>
// public void EquipGear(int gearIndex)
// {
// if (gearIndex < 0 || gearIndex >= AllGears.Count) return;
//
// var gear = AllGears[gearIndex];
// var heldItem = new HeldItemInfo
// {
// ItemType = HeldItemType.Gear,
// ConfigID = gear.GetUnitId(),
// GearData = gear
// };
//
// SwitchHeldItem(heldItem);
// }
//
// /// <summary>
// /// 根据配置 ID 获取钓组
// /// </summary>
// public FPlayerGearData GetGearByConfigID(int configID)
// {
// return AllGears.Find(g => g.GetUnitId() == configID);
// }
//
// /// <summary>
// /// 初始化默认物品(示例)
// /// </summary>
// private void InitializeDefaultItems()
// {
// // 这里可以加载默认钓组和物品
// // 实际逻辑应该从存档或服务器加载
// }
//
// // ========== 网络快照转换 ==========
//
// /// <summary>
// /// 转换为网络快照
// /// </summary>
// public PlayerStateSnapshot ToNetworkSnapshot(uint sequenceNumber)
// {
// var snapshot = new PlayerStateSnapshot
// {
// PlayerID = PlayerID,
// SequenceNumber = sequenceNumber,
// Timestamp = Time.time,
//
// Position = position,
// Rotation = rotation,
// MoveInput = MoveInput,
// Speed = Speed,
// IsGrounded = IsGrounded,
// IsRunning = Run,
//
// State = State,
// LineLength = lineLength,
// ReelSpeed = reelSpeed,
// EyeAngle = EyeAngle,
// IsHandOnHandle = isHandOnHandle,
//
// HeldItem = CurrentHeldItem,
//
// // 同步状态参数
// StateParams = CurrentStateParams,
//
// FloatPosition = null, // 根据需要设置
// HookPosition = null,
// CaughtFishID = 0
// };
//
// // 设置标志位
// snapshot.SetFlag(0, openLight);
// snapshot.SetFlag(1, openTelescope);
// snapshot.SetFlag(2, ChangeItem);
// snapshot.SetFlag(3, IsLureRod);
//
// return snapshot;
// }
//
// /// <summary>
// /// 从网络快照应用状态
// /// </summary>
// public void ApplyFromNetworkSnapshot(PlayerStateSnapshot snapshot)
// {
// if (snapshot.PlayerID != PlayerID) return;
//
// LastNetworkSyncTime = (float)snapshot.Timestamp;
//
// // 保存旧状态用于对比
// var oldState = State;
// var stateChanged = snapshot.State != oldState;
//
// position = snapshot.Position;
// rotation = snapshot.Rotation;
// MoveInput = snapshot.MoveInput;
// Speed = snapshot.Speed;
// IsGrounded = snapshot.IsGrounded;
// Run = snapshot.IsRunning;
//
// // 如果状态改变,先更新状态和参数
// if (stateChanged)
// {
// _previousPlayerState = oldState;
// _playerState = snapshot.State;
// NextState = snapshot.State;
//
// // 应用状态参数
// if (snapshot.StateParams != null)
// {
// CurrentStateParams = snapshot.StateParams.Clone();
// }
//
// // 触发事件(带参数)
// OnStateChange?.Invoke(_playerState, CurrentStateParams);
// }
//
// lineLength = snapshot.LineLength;
// reelSpeed = snapshot.ReelSpeed;
// EyeAngle = snapshot.EyeAngle;
// isHandOnHandle = snapshot.IsHandOnHandle;
//
// CurrentHeldItem = snapshot.HeldItem;
//
// // 读取标志位
// openLight = snapshot.GetFlag(0);
// openTelescope = snapshot.GetFlag(1);
// ChangeItem = snapshot.GetFlag(2);
// IsLureRod = snapshot.GetFlag(3);
// }
// }
//
// /// <summary>
// /// 同步标志位枚举
// /// </summary>
// [Flags]
// public enum SyncFlags : byte
// {
// None = 0,
// Physics = 1 << 0, // 位置、旋转、移动
// Fishing = 1 << 1, // 钓鱼相关状态
// HeldItem = 1 << 2, // 手持物品
// Flags = 1 << 3, // 布尔标志
// Extension = 1 << 4, // 扩展数据
// All = Physics | Fishing | HeldItem | Flags | Extension
// }
//
// /// <summary>
// /// 网络同步用的玩家状态快照(精简、可序列化)
// /// </summary>
// [Serializable]
// public class PlayerStateSnapshot
// {
// // ========== 元数据 ==========
// public int PlayerID;
// public uint SequenceNumber; // 序列号,处理乱序包
// public double Timestamp; // 时间戳,用于插值
//
// // ========== 同步标志位(关键优化) ==========
// /// <summary>
// /// 指示哪些数据块需要同步(位掩码)
// /// bit0: 基础物理状态 | bit1: 钓鱼状态 | bit2: 手持物品 | bit3: 布尔标志 | bit4: 扩展数据
// /// </summary>
// public SyncFlags SyncFlags = SyncFlags.All;
//
// // ========== 基础状态(高频同步 - 可选) ==========
// public Vector3 Position;
// public Quaternion Rotation;
// public Vector2 MoveInput;
// public float Speed;
// public bool IsGrounded;
// public bool IsRunning;
//
// // ========== 钓鱼状态(中频同步 - 可选) ==========
// public PlayerState State;
// public float LineLength;
// public float ReelSpeed;
// public float EyeAngle;
// public bool IsHandOnHandle;
//
// // ========== 手持物品信息(低频同步 - 可选) ==========
// public HeldItemInfo HeldItem;
//
// // ========== 状态进入参数(状态变化时同步 - 可选) ==========
// public StateEnterParams StateParams;
//
// // ========== 布尔标志位(用 byte 压缩 - 可选) ==========
// public byte Flags; // bit0:开灯 bit1:望远镜 bit2:换物品 bit3:路亚竿
//
// // ========== 扩展数据(按需同步 - 可选) ==========
// public Vector3? FloatPosition; // 浮漂位置nullable
// public Vector3? HookPosition; // 鱼钩位置
// public uint CaughtFishID; // 钓到的鱼 ID
//
// // ========== 辅助方法 ==========
//
// public bool GetFlag(int index) => (Flags & (1 << index)) != 0;
//
// public void SetFlag(int index, bool value)
// {
// if (value) Flags |= (byte)(1 << index);
// else Flags &= (byte)~(1 << index);
// }
//
// public bool HasFlag(SyncFlags flag) => (SyncFlags & flag) != 0;
//
// public void SetFlag(SyncFlags flag, bool value)
// {
// if (value) SyncFlags |= flag;
// else SyncFlags &= ~flag;
// }
//
// /// <summary>
// /// 创建完整快照(所有字段)
// /// </summary>
// public static PlayerStateSnapshot CreateFull(FPlayerData player, uint sequenceNumber)
// {
// var snapshot = new PlayerStateSnapshot
// {
// PlayerID = player.PlayerID,
// SequenceNumber = sequenceNumber,
// Timestamp = Time.time,
// SyncFlags = SyncFlags.All,
//
// Position = player.position,
// Rotation = player.rotation,
// MoveInput = player.MoveInput,
// Speed = player.Speed,
// IsGrounded = player.IsGrounded,
// IsRunning = player.Run,
//
// State = player.State,
// LineLength = player.lineLength,
// ReelSpeed = player.reelSpeed,
// EyeAngle = player.EyeAngle,
// IsHandOnHandle = player.isHandOnHandle,
//
// HeldItem = player.CurrentHeldItem,
// StateParams = player.CurrentStateParams?.Clone(),
//
// FloatPosition = null,
// HookPosition = null,
// CaughtFishID = 0
// };
//
// snapshot.SetFlag(0, player.openLight);
// snapshot.SetFlag(1, player.openTelescope);
// snapshot.SetFlag(2, player.ChangeItem);
// snapshot.SetFlag(3, player.IsLureRod);
//
// return snapshot;
// }
//
// /// <summary>
// /// 创建增量快照(仅包含标记的字段)
// /// </summary>
// public static PlayerStateSnapshot CreateDelta(FPlayerData player, uint sequenceNumber, SyncFlags flags)
// {
// var snapshot = new PlayerStateSnapshot
// {
// PlayerID = player.PlayerID,
// SequenceNumber = sequenceNumber,
// Timestamp = Time.time,
// SyncFlags = flags
// };
//
// // 根据标志位选择性地填充数据
// if (flags.HasFlag(SyncFlags.Physics))
// {
// snapshot.Position = player.position;
// snapshot.Rotation = player.rotation;
// snapshot.MoveInput = player.MoveInput;
// snapshot.Speed = player.Speed;
// snapshot.IsGrounded = player.IsGrounded;
// snapshot.IsRunning = player.Run;
// }
//
// if (flags.HasFlag(SyncFlags.Fishing))
// {
// snapshot.State = player.State;
// snapshot.LineLength = player.lineLength;
// snapshot.ReelSpeed = player.reelSpeed;
// snapshot.EyeAngle = player.EyeAngle;
// snapshot.IsHandOnHandle = player.isHandOnHandle;
// snapshot.StateParams = player.CurrentStateParams?.Clone();
// }
//
// if (flags.HasFlag(SyncFlags.HeldItem))
// {
// snapshot.HeldItem = player.CurrentHeldItem;
// }
//
// if (flags.HasFlag(SyncFlags.Flags))
// {
// snapshot.Flags = 0;
// snapshot.SetFlag(0, player.openLight);
// snapshot.SetFlag(1, player.openTelescope);
// snapshot.SetFlag(2, player.ChangeItem);
// snapshot.SetFlag(3, player.IsLureRod);
// }
//
// if (flags.HasFlag(SyncFlags.Extension))
// {
// snapshot.FloatPosition = null; // 根据需要设置
// snapshot.HookPosition = null;
// snapshot.CaughtFishID = 0;
// }
//
// return snapshot;
// }
//
// /// <summary>
// /// 应用快照到玩家(智能合并)
// /// </summary>
// public void ApplyTo(FPlayerData player)
// {
// if (PlayerID != player.PlayerID) return;
//
// player.LastNetworkSyncTime = (float)Timestamp;
//
// // 根据标志位选择性应用
// if (SyncFlags.HasFlag(SyncFlags.Physics))
// {
// player.position = Position;
// player.rotation = Rotation;
// player.MoveInput = MoveInput;
// player.Speed = Speed;
// player.IsGrounded = IsGrounded;
// player.Run = IsRunning;
// }
//
// if (SyncFlags.HasFlag(SyncFlags.Fishing))
// {
// // 状态变化时才触发事件
// if (State != player.State)
// {
// player.SetState(State, StateParams);
// }
//
// player.lineLength = LineLength;
// player.reelSpeed = ReelSpeed;
// player.EyeAngle = EyeAngle;
// player.isHandOnHandle = IsHandOnHandle;
// }
//
// if (SyncFlags.HasFlag(SyncFlags.HeldItem))
// {
// player.CurrentHeldItem = HeldItem;
// }
//
// if (SyncFlags.HasFlag(SyncFlags.Flags))
// {
// player.openLight = GetFlag(0);
// player.openTelescope = GetFlag(1);
// player.ChangeItem = GetFlag(2);
// player.IsLureRod = GetFlag(3);
// }
//
// if (SyncFlags.HasFlag(SyncFlags.Extension))
// {
// if (FloatPosition.HasValue)
// {
// /* 应用浮漂位置 */
// }
//
// if (HookPosition.HasValue)
// {
// /* 应用鱼钩位置 */
// }
//
// if (CaughtFishID != 0)
// {
// /* 应用鱼 ID */
// }
// }
// }
// }
//
//
// /// <summary>
// /// 玩家钓组数据
// /// </summary>
// [Serializable]
// public class FPlayerGearData
// {
// public GearType Type = GearType.Spinning;
//
// public FRodData rod;
// public FReelData reel;
// public FBobberData bobber;
// public FHookData hook;
// public FBaitData bait;
// public FLureData lure;
// public FWeightData weight;
// public FLineData line;
// public FLeaderData leader;
// public FFeederData feeder;
//
// /// <summary>
// /// 获得唯一 id
// /// </summary>
// /// <returns></returns>
// public int GetUnitId()
// {
// int result = 0;
// if (rod != null)
// {
// result += rod.configId;
// }
//
// if (reel != null)
// {
// result += reel.configId;
// }
//
// if (bobber != null)
// {
// result += bobber.configId;
// }
//
// if (hook != null)
// {
// result += hook.configId;
// }
//
// if (bait != null)
// {
// result += bait.configId;
// }
//
// if (lure != null)
// {
// result += lure.configId;
// }
//
// if (weight != null)
// {
// result += weight.configId;
// }
//
// if (line != null)
// {
// result += line.configId;
// }
//
// if (leader != null)
// {
// result += leader.configId;
// }
//
// if (feeder != null)
// {
// result += feeder.configId;
// }
//
// return result;
// }
//
// public void SetBobberLastSetGroundValue(float value)
// {
// bobber.lastSetGroundValue = value;
// }
//
// public void SetReelSettings(int setType, float val, bool saveToPrefs = false)
// {
// if (setType == 0)
// {
// reel.currentSpeed = val;
// }
//
// if (setType == 1)
// {
// reel.currentDrag = val;
// }
//
// if (saveToPrefs)
// {
// // Instance._playerData.SaveEquipment(ItemType.Reel);
// }
// }
//
// /// <summary>
// /// 获取所有非空装备部件
// /// </summary>
// public List<FGearData> GetAllComponents()
// {
// var components = new List<FGearData>();
//
// if (rod != null) components.Add(rod);
// if (reel != null) components.Add(reel);
// if (bobber != null) components.Add(bobber);
// if (hook != null) components.Add(hook);
// if (bait != null) components.Add(bait);
// if (lure != null) components.Add(lure);
// if (weight != null) components.Add(weight);
// if (line != null) components.Add(line);
// if (leader != null) components.Add(leader);
// if (feeder != null) components.Add(feeder);
//
// return components;
// }
// }
//
// [Serializable]
// public abstract class FGearData
// {
// /// <summary>
// /// 唯一 id运行时生成区分同一配置的多个实例
// /// </summary>
// public int id;
//
// /// <summary>
// /// 配置 id来自表格
// /// </summary>
// public int configId;
//
// /// <summary>
// /// 物品类型(用于快速判断)
// /// </summary>
// public abstract GearItemType ItemType { get; }
//
// /// <summary>
// /// 获取基础物品配置
// /// </summary>
// public Item ItemConfig => Game.Tables.TbItem.Get(configId);
//
// /// <summary>
// /// 创建该类型的默认数据(用于网络同步时重建)
// /// </summary>
// public abstract FGearData CreateDefault();
//
// /// <summary>
// /// 是否已加载配置
// /// </summary>
// public bool HasConfigLoaded => configId != 0;
//
// /// <summary>
// /// 复制基础数据到新实例
// /// </summary>
// public void CopyBaseTo(FGearData other)
// {
// other.id = this.id;
// other.configId = this.configId;
// }
// }
//
// /// <summary>
// /// 鱼竿数据
// /// </summary>
// [Serializable]
// public class FRodData : FGearData
// {
// public override GearItemType ItemType => GearItemType.Rod;
//
// [NonSerialized] private Rod _config;
//
// public Rod Config => _config ??= Game.Tables.TbRod.Get(configId);
//
// public override FGearData CreateDefault()
// {
// return new FRodData { configId = this.configId };
// }
// }
//
// /// <summary>
// /// 线轴数据
// /// </summary>
// [Serializable]
// public class FReelData : FGearData
// {
// public override GearItemType ItemType => GearItemType.Reel;
//
// [NonSerialized] private Reel _config;
//
// public Reel Config => _config ??= Game.Tables.TbReel.Get(configId);
//
// public float currentSpeed = 0.5f;
// public float currentDrag = 0.7f;
//
// public override FGearData CreateDefault()
// {
// return new FReelData
// {
// configId = this.configId,
// currentSpeed = this.currentSpeed,
// currentDrag = this.currentDrag
// };
// }
// }
//
// /// <summary>
// /// 浮漂数据
// /// </summary>
// [Serializable]
// public class FBobberData : FGearData
// {
// public override GearItemType ItemType => GearItemType.Bobber;
//
// [NonSerialized] private Bobber _config;
//
// public Bobber Config => _config ??= Game.Tables.TbBobber.Get(configId);
//
// public float lastSetGroundValue;
//
// public override FGearData CreateDefault()
// {
// return new FBobberData
// {
// configId = this.configId,
// lastSetGroundValue = this.lastSetGroundValue
// };
// }
// }
//
// /// <summary>
// /// 鱼钩数据
// /// </summary>
// [Serializable]
// public class FHookData : FGearData
// {
// public override GearItemType ItemType => GearItemType.Hook;
//
// [NonSerialized] private Hook _config;
//
// public Hook Config => _config ??= Game.Tables.TbHook.Get(configId);
//
// public override FGearData CreateDefault()
// {
// return new FHookData { configId = this.configId };
// }
// }
//
// /// <summary>
// /// 鱼饵数据
// /// </summary>
// [Serializable]
// public class FBaitData : FGearData
// {
// public override GearItemType ItemType => GearItemType.Bait;
//
// [NonSerialized] private Bait _config;
//
// public Bait Config => _config ??= Game.Tables.TbBait.Get(configId);
//
// public override FGearData CreateDefault()
// {
// return new FBaitData { configId = this.configId };
// }
// }
//
// /// <summary>
// /// 假饵数据
// /// </summary>
// [Serializable]
// public class FLureData : FGearData
// {
// public override GearItemType ItemType => GearItemType.Lure;
//
// [NonSerialized] private Lure _config;
//
// public Lure Config => _config ??= Game.Tables.TbLure.Get(configId);
//
// public override FGearData CreateDefault()
// {
// return new FLureData { configId = this.configId };
// }
// }
//
// /// <summary>
// /// 沉子数据
// /// </summary>
// [Serializable]
// public class FWeightData : FGearData
// {
// public override GearItemType ItemType => GearItemType.Weight;
//
// public override FGearData CreateDefault()
// {
// return new FWeightData { configId = this.configId };
// }
// }
//
// /// <summary>
// /// 主线数据
// /// </summary>
// [Serializable]
// public class FLineData : FGearData
// {
// public override GearItemType ItemType => GearItemType.Line;
//
// [NonSerialized] private Line _config;
//
// public Line Config => _config ??= Game.Tables.TbLine.Get(configId);
//
// public override FGearData CreateDefault()
// {
// return new FLineData { configId = this.configId };
// }
// }
//
// /// <summary>
// /// 前导线数据
// /// </summary>
// [Serializable]
// public class FLeaderData : FGearData
// {
// public override GearItemType ItemType => GearItemType.Leader;
//
// public override FGearData CreateDefault()
// {
// return new FLeaderData { configId = this.configId };
// }
// }
//
// /// <summary>
// /// 菲德数据
// /// </summary>
// [Serializable]
// public class FFeederData : FGearData
// {
// public override GearItemType ItemType => GearItemType.Feeder;
//
// [NonSerialized] private Feeder _config;
//
// public Feeder Config => _config ??= Game.Tables.TbFeeder.Get(configId);
//
// public override FGearData CreateDefault()
// {
// return new FFeederData { configId = this.configId };
// }
// }
// }

View File

@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: e64ae505cdc344f5acedf6e55ba67a89
timeCreated: 1744029443

View File

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

View File

@@ -37,7 +37,7 @@ namespace NBF
}
}
private float _lineLength = 5f;
private float _lineLength = 4.5f;
/// <summary>
/// 线长度

View File

@@ -50,7 +50,7 @@ namespace NBF
private void CreatePlayerModel()
{
var modelObject = PrefabsHelper.CreatePlayer(Unity.Root, "Human_Male");
modelObject.transform.localPosition = new Vector3(0, 1, 0);
modelObject.transform.localPosition = Vector3.zero;
Unity.ModelAsset = modelObject.GetComponent<PlayerModelAsset>();
Unity.ModelAsset.SetPlayer(Unity.FppLook);
}