This commit is contained in:
CortexCore
2024-11-23 17:20:13 +08:00
commit bb257507bc
133 changed files with 2574 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
{
"name": "Com.Project.B.CharacterController",
"rootNamespace": "",
"references": [
"GUID:14fe60d984bf9f84eac55c6ea033a8f4",
"GUID:d8b63aba1907145bea998dd612889d6b"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": true
}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: ecc5a2501a2c44d4cb8366674714f3d9
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
namespace Project.B.CharacterController
{
public interface IBotCharacterController
{
ICharacterController CharacterController { get; }
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 9ed442d9b01567644b3ba71d2290f15d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,19 @@
using BITKit.StateMachine;
using Unity.Mathematics;
namespace Project.B.CharacterController
{
/// <summary>
/// 角色控制器
/// </summary>
public interface ICharacterController:IStateMachine<ICharacterState>
{
float3 Center { get; }
float3 Position { get; set; }
float3 Velocity { get; set; }
float3 AngularVelocity { get; }
quaternion Rotation { get; set; }
float3 SelfVelocity { get; set; }
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ea09f811bb3610f448df064bf4af3c3b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,12 @@
using System.Collections.Generic;
namespace Project.B.CharacterController
{
/// <summary>
/// 角色服务
/// </summary>
public interface ICharacterService
{
IDictionary<int, ICharacterController> Dictionary { get; }
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8623eebfb2e93db44b3c1f3356660112
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,73 @@
using BITKit.StateMachine;
using Unity.Mathematics;
namespace Project.B.CharacterController
{
/// <summary>
/// 角色状态
/// </summary>
public interface ICharacterState : IState
{
public void UpdateVelocity(ref float3 currentVelocity, float deltaTime);
public void UpdateRotation(ref float3 localPosition, ref quaternion currentRotation,
ref quaternion viewRotation, float deltaTime);
public void BeforeUpdateVelocity(float deltaTime);
public void AfterUpdateVelocity(float deltaTime);
}
/// <summary>
/// 角色状态数据
/// </summary>
public interface ICharacterStateData
{
public float BaseHeight { get; }
public float BaseSpeed { get; }
public float2 ViewOffset { get; }
}
/// <summary>
/// 空状态
/// </summary>
public interface ICharacterStateEmpty:ICharacterState{}
/// <summary>
/// 静止
/// </summary>
public interface ICharacterStateIdle:ICharacterState{}
/// <summary>
/// 行走
/// </summary>
public interface ICharacterStateWalk:ICharacterState{}
/// <summary>
/// 蹲下
/// </summary>
public interface ICharacterStateCrouched:ICharacterState{}
/// <summary>
/// 奔跑
/// </summary>
public interface ICharacterStateRun:ICharacterState{}
/// <summary>
/// 战术跑
/// </summary>
public interface ICharacterSprint:ICharacterState{}
/// <summary>
/// 在空中,包括跳跃、下落、飞行等
/// </summary>
public interface ICharacterStateInAir:ICharacterState{}
/// <summary>
/// 爬上低障碍物
/// </summary>
public interface ICharacterStateStepUp:ICharacterState{}
/// <summary>
/// 翻阅障碍物
/// </summary>
public interface ICharacterStateVault:ICharacterState{}
/// <summary>
/// 攀爬
/// </summary>
public interface ICharacterStateClimb:ICharacterState{}
/// <summary>
/// 被击倒
/// </summary>
public interface ICharacterKnocked:ICharacterState{}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 1a1d7bf82adaa85429d4edf3663803b4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,20 @@
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using BITKit;
using Unity.Mathematics;
namespace Project.B.CharacterController
{
public interface IPlayerCharacterController
{
ICharacterController CharacterController { get; }
IDictionary<int,quaternion> AdditiveCameraQuaternion { get; }
IDictionary<int,float> ZoomFactor { get; }
ValidHandle AllowTpsCamera { get; }
ValidHandle AllowRun { get; }
ValidHandle AllowSprint { get; }
void CancelRun();
void CancelSprint();
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 1653b18508ad4d749bcea633bff67802
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: