1
This commit is contained in:
@@ -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
|
||||
}
|
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ecc5a2501a2c44d4cb8366674714f3d9
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Src/CharacterController/IBotCharacterController.cs
Normal file
8
Src/CharacterController/IBotCharacterController.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace Project.B.CharacterController
|
||||
{
|
||||
public interface IBotCharacterController
|
||||
{
|
||||
ICharacterController CharacterController { get; }
|
||||
}
|
||||
}
|
||||
|
11
Src/CharacterController/IBotCharacterController.cs.meta
Normal file
11
Src/CharacterController/IBotCharacterController.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9ed442d9b01567644b3ba71d2290f15d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
19
Src/CharacterController/ICharacterController.cs
Normal file
19
Src/CharacterController/ICharacterController.cs
Normal 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; }
|
||||
}
|
||||
}
|
11
Src/CharacterController/ICharacterController.cs.meta
Normal file
11
Src/CharacterController/ICharacterController.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ea09f811bb3610f448df064bf4af3c3b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
12
Src/CharacterController/ICharacterService.cs
Normal file
12
Src/CharacterController/ICharacterService.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Project.B.CharacterController
|
||||
{
|
||||
/// <summary>
|
||||
/// 角色服务
|
||||
/// </summary>
|
||||
public interface ICharacterService
|
||||
{
|
||||
IDictionary<int, ICharacterController> Dictionary { get; }
|
||||
}
|
||||
}
|
11
Src/CharacterController/ICharacterService.cs.meta
Normal file
11
Src/CharacterController/ICharacterService.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8623eebfb2e93db44b3c1f3356660112
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
73
Src/CharacterController/ICharacterState.cs
Normal file
73
Src/CharacterController/ICharacterState.cs
Normal 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{}
|
||||
}
|
11
Src/CharacterController/ICharacterState.cs.meta
Normal file
11
Src/CharacterController/ICharacterState.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1a1d7bf82adaa85429d4edf3663803b4
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
20
Src/CharacterController/IPlayerCharacterController.cs
Normal file
20
Src/CharacterController/IPlayerCharacterController.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
|
11
Src/CharacterController/IPlayerCharacterController.cs.meta
Normal file
11
Src/CharacterController/IPlayerCharacterController.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1653b18508ad4d749bcea633bff67802
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user