This commit is contained in:
CortexCore 2023-08-11 23:57:37 +08:00
parent 936a94c84b
commit 75889ec34f
149 changed files with 6524 additions and 1043 deletions

View File

@ -12,7 +12,8 @@
"GUID:d8b63aba1907145bea998dd612889d6b",
"GUID:be17a8778dbfe454890ed8279279e153",
"GUID:9e24947de15b9834991c9d8411ea37cf",
"GUID:84651a3751eca9349aac36a66bba901b"
"GUID:84651a3751eca9349aac36a66bba901b",
"GUID:d525ad6bd40672747bde77962f1c401e"
],
"includePlatforms": [],
"excludePlatforms": [],

View File

@ -0,0 +1,8 @@
namespace BITKit
{
public interface IEnableRequest
{
bool Enable { get; set; }
object Sender { get; set; }
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 6d4d7ddcd2c941a2b2ebb06541c0b4f1
timeCreated: 1689956335

View File

@ -77,6 +77,7 @@ namespace BITKit
public void Execute()
{
//path = string.IsNullOrEmpty(path) ? Environment.CurrentDirectory : path.Replace(@"/", @"\");
var path = Environment.ExpandEnvironmentVariables(this.path);
path = string.IsNullOrEmpty(path) ? Environment.CurrentDirectory : System.IO.Path.Combine(Environment.CurrentDirectory, path);
BIT4Log.Log<OpenPath>($"正在打开文件夹:{path}");
try
@ -217,7 +218,7 @@ namespace BITKit
CancellationTokenSource = default;
State = InitializationState.None;
BIT4Log.Log<BITApp>($"已停止{nameof(BITApp)}");
BIT4Log.Log<BITApp>("----------------------------------------");
BIT4Log.Log<BITApp>("Exit Code:0");
}
public static void Run(string path, string WorkingDirectory = "")
{

View File

@ -8,4 +8,6 @@ namespace BITKit
public class ExcuteOnStartAttribute : Attribute { }
[AttributeUsage(AttributeTargets.Method)]
public class ExcuteOnStopAttribute : Attribute { }
[AttributeUsage(AttributeTargets.Property|AttributeTargets.Field)]
public class ReadOnlyAttribute : Attribute { }
}

View File

@ -4,27 +4,24 @@ namespace BITKit
{
public static class BIT4Log
{
const string _debugLevel = "DebugLevel";
#if UNITY_EDITOR
[UnityEngine.RuntimeInitializeOnLoadMethod]
private static void Reload()
{
OnLog = null;
OnException = null;
OnWarning = null;
OnSetConsoleColor = null;
OnNextLine = null;
}
#endif
public static event Action<string> OnLog;
public static event Action<Exception> OnException;
public static event Action<string> OnWarning;
public static event Action<ConsoleColor> OnSetConsoleColor;
public static event Action OnNextLine;
private static bool LogTime;
static Type currentType;
[ExcuteOnAwake]
public static void Start()
{
}
[ExcuteOnStop]
public static void Stop()
{
OnLog = null;
OnException = null;
OnWarning = null;
OnNextLine = null;
}
private static Type currentType;
[BITCommand]
public static void UseLogTime()
{

View File

@ -1,5 +1,5 @@
using System.Threading;
using System;
namespace BITKit.Core.Entites
{
/// <summary>
@ -21,6 +21,7 @@ namespace BITKit.Core.Entites
/// </summary>
public interface IEntityComponent:IAwake,IStart
{
Type BaseType { get; }
IEntity Entity { get; set; }
}
/// <summary>
@ -28,6 +29,14 @@ namespace BITKit.Core.Entites
/// </summary>
public interface IEntitiesService
{
/// <summary>
/// 当添加Entity时
/// </summary>
public event Action<IEntity> OnAdd;
/// <summary>
/// 当移除Entity时
/// </summary>
public event Action<IEntity> OnRemove;
/// <summary>
/// 所有Entity
/// </summary>
@ -45,11 +54,38 @@ namespace BITKit.Core.Entites
/// <returns></returns>
bool UnRegister(IEntity entity);
CancellationToken CancellationToken { get; }
/// <summary>
/// 通过Id获取Entity
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
IEntity Get(ulong id);
/// <summary>
/// 查询Entity,例如
/// </summary>
/// <para>var rotationEntities=EntitiesService.Query&lt;RotationComponent&gt;</para>
IEntity[] Query<T>() where T : IEntityComponent;
/// <summary>
/// 查询1个组件
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
T[] QueryComponents<T>() where T : IEntityComponent;
/// <summary>
/// 查询2个组件
/// </summary>
/// <typeparam name="T"></typeparam>
/// <typeparam name="T1"></typeparam>
/// <returns></returns>
ValueTuple<T,T1>[] QueryComponents<T,T1>()where T : IEntityComponent where T1 : IEntityComponent;
/// <summary>
/// 查询3个组件
/// </summary>
/// <typeparam name="T"></typeparam>
/// <typeparam name="T1"></typeparam>
/// <typeparam name="T2"></typeparam>
/// <returns></returns>
ValueTuple<T,T1,T2>[] QueryComponents<T,T1,T2>() where T : IEntityComponent where T1 : IEntityComponent where T2 : IEntityComponent;
}
}

View File

@ -14,14 +14,15 @@ namespace BITKit.StateMachine
public interface IStateMachine<T> where T : IState
{
T CurrentState { get; set; }
IDictionary<Type, T> StateDictonary { get; }
IDictionary<Type, T> StateDictionary { get; }
void TransitionState<State>() where State : T
{
var nextState = StateDictonary.GetOrCreate(typeof(State));
var nextState = StateDictionary.GetOrCreate(typeof(State));
TransitionState(nextState);
}
void TransitionState<State>(State nextState) where State : T
{
if (nextState.Equals(CurrentState)) return;
var currentState = CurrentState;
currentState?.OnStateExit(currentState, nextState);
nextState?.OnStateEnter(currentState);

View File

@ -29,9 +29,9 @@ namespace BITKit.Net
client.Disconnect();
OnDisconnected?.Invoke();
}
public async UniTask<bool> Connect(string address = "localhost", ushort port = 27014)
{
OnStartConnect?.Invoke();
await UniTask.SwitchToThreadPool();
try
{
@ -50,11 +50,11 @@ namespace BITKit.Net
private void OnData(ArraySegment<byte> bytes, KcpChannel channel)
{
var command = BITBinary.ReadAsValue(bytes.ToArray());
BIT4Log.Log<KCPNetServer>($"已收到指令:command");
BIT4Log.Log<KCPNetServer>($"已收到指令:{command}");
}
private void OnConnectedInternal()
{
OnConnected?.Invoke();;
OnConnected?.Invoke();
BIT4Log.Log<KcpNetClient>("已连接");
}
private void OnDisconnectInternal()
@ -126,7 +126,7 @@ namespace BITKit.Net
{
var bytes = BinaryBuilder
.Create()
.Write((byte)NetCommandType.TargetCommand)
.Write((byte)commandType)
.Write(values)
.Build();
client.Send(bytes, KcpChannel.Reliable);

View File

@ -18,9 +18,9 @@ namespace BITKit
[System.Serializable]
public record LogModel:ILog
{
#if UNITY
#if NET5_0_OR_GREATER
[Key]
#else
[Key]
#endif
public int Id { get; set; }
public string EntityName { get; set; }

View File

@ -1,7 +1,14 @@
using System;
namespace BITKit
{
public interface ICondition
{
bool OnCheck();
}
[Serializable]
public struct AllowCondition : ICondition
{
public bool OnCheck() => true;
}
}

View File

@ -0,0 +1,46 @@
using System;
using System.Collections.Generic;
namespace BITKit
{
/// <summary>
/// 持久化数据服务
/// </summary>
public interface IPersistentDataService
{
public void Register(IPersistentCallback callback);
public void Unregister(IPersistentCallback callback);
public void ManualSave();
public void ManualLoad();
public void ManualLoad(string json);
}
public interface IPersistentCallback
{
string Name { get; }
void Load(string json);
string Save();
}
public class PersistentDataService : IPersistentDataService
{
private readonly List<IPersistentCallback> callbacks = new();
public void Register(IPersistentCallback callback) => callbacks.Add(callback);
public void Unregister(IPersistentCallback callback) => callbacks.Remove(callback);
public void ManualSave()
{
throw new NotImplementedException();
}
public void ManualLoad()
{
throw new NotImplementedException();
}
public void ManualLoad(string json)
{
throw new NotImplementedException();
}
}
}

View File

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

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: cda7b281b9e9db24ab6536844dafa651
guid: 2f1e118cfd267c74abc0e9464f5088ea
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -0,0 +1,42 @@
using System.Runtime.CompilerServices;
namespace BITKit{
/// <summary>
/// 主要加工器,用于多个加工器顺序加工
/// </summary>
/// <typeparam name="T"></typeparam>
public interface IMainProcessor<T>
{
void AddProcessor(IProcessor<T> processor);
void RemoveProcessor(IProcessor<T> processor);
T Process(T source);
}
/// <summary>
/// 加工器,用于加工数据 <see cref="MainProcessor{T}"/> 会调用 <see cref="IProcessor{T}.Process"/> 方法
/// </summary>
/// <typeparam name="T"></typeparam>
public interface IProcessor<T>
{
T Process(T source, T current);
}
/// <summary>
/// 带参数的加工集合器,用于多个加工器顺序加工
/// </summary>
/// <typeparam name="T"></typeparam>
/// <typeparam name="T0"></typeparam>
public interface IMainProcessor<T, T0>
{
void AddProcessor(IProcessor<T, T0> processor);
void RemoveProcessor(IProcessor<T, T0> processor);
T Process(T source, T0 arg);
}
/// <summary>
/// 带参数的加工器,用于加工数据 <see cref="MainProcessor{T,T0}"/> 会调用 <see cref="IProcessor{T,T0}.Process"/> 方法
/// </summary>
/// <typeparam name="T"></typeparam>
/// <typeparam name="T0"></typeparam>
public interface IProcessor<T, in T0>
{
T Process(T source, T current, T0 arg);
}
}

View File

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

View File

@ -0,0 +1,39 @@
using System.Collections.Generic;
using System.Linq;
using System.Security.Permissions;
namespace BITKit
{
public class MainProcessor<T> : IMainProcessor<T>
{
private readonly List<IProcessor<T>> _processors = new();
public void AddProcessor(IProcessor<T> processor) => _processors.Add(processor);
public void RemoveProcessor(IProcessor<T> processor) => _processors.Remove(processor);
public T Process(T source)
{
return _processors.Aggregate(source, (current1, processor) => processor.Process(source, current1));
}
}
public class Processor<T> : IProcessor<T>
{
public T Process(T source, T current)
{
return current;
}
}
public class MainProcessor<T, T1> : IMainProcessor<T, T1>
{
private readonly List<IProcessor<T, T1>> _processors = new();
public void AddProcessor(IProcessor<T, T1> processor) => _processors.Add(processor);
public void RemoveProcessor(IProcessor<T, T1> processor) => _processors.Remove(processor);
public T Process(T source, T1 arg)
{
return _processors.Aggregate(source, (current, processor) => processor.Process(source, current, arg));
}
}
}

View File

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

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: fa6cfb3d13e54aac9b6a09e2bd2c1b4f
timeCreated: 1689955775

View File

@ -0,0 +1,26 @@
using System;
namespace BITKit.Core.Tuple
{
[Serializable]
public struct UnityTuple<T,T1>
{
public T Item1;
public T1 Item2;
}
[Serializable]
public struct UnityTuple<T,T1,T2>
{
public T Item1;
public T1 Item2;
public T2 Item3;
}
[Serializable]
public struct UnityTuple<T,T1,T2,T3>
{
public T Item1;
public T1 Item2;
public T2 Item3;
public T3 Item4;
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: e5fb7905f66742abaf5ab05e77f98d98
timeCreated: 1689955805

View File

@ -2,7 +2,9 @@
{
public interface IProvider
{
void Get<T>() { }
T Get<T>()
{
return default;}
void Set<T>(T t) { }
}
public interface IProvider<T> : IProvider

View File

@ -20,14 +20,17 @@ namespace BITKit
{
return validHandle.enableHandle;
}
public bool Allow => this;
private bool enableHandle;
private int enableElementCount;
private int disableElementCount;
List<object> objs = new List<object>();
List<object> disableObjs = new List<object>();
[System.NonSerialized]
bool tempEnable;
public Action<bool> EventOnEnableChanged;
private readonly List<object> objs = new List<object>();
private readonly List<object> disableObjs = new List<object>();
private bool tempEnable;
private Action<bool> EventOnEnableChanged;
public virtual void AddElement(object obj)
{
if (objs.Contains(obj))

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 252c5c1cb272ffe45897ebccd1f879f5
guid: 429ce01eb2ea7ac4b99ea7adc32c2c71
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -0,0 +1,22 @@
using System.Collections;
using System.Collections.Generic;
using System.Threading.Tasks;
/// <summary>
/// 有效性验证接口定义
/// <para>传值进去,检测是否有效</para>
/// </summary>
public interface IValidityProvider
{
bool IsValid(object obj);
Task<bool> IsValidAsync(object obj);
}
/// <summary>
/// 有效性验证接口的泛型定义
/// </summary>
/// <typeparam name="T">泛型</typeparam>
public interface IValidityProvider<in T>:IValidityProvider
{
bool IsValid(T obj);
Task<bool> IsValidAsync();
}

View File

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

View File

@ -22,7 +22,8 @@ Texture2D:
m_MipCount: 1
m_IsReadable: 1
m_IsPreProcessed: 0
m_IgnoreMasterTextureLimit: 0
m_IgnoreMipmapLimit: 0
m_MipmapLimitGroupName:
m_StreamingMipmaps: 0
m_StreamingMipmapsPriority: 0
m_VTOnly: 0
@ -2684,6 +2685,8 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: MiSans-Regular SDF Material
m_Shader: {fileID: 4800000, guid: 68e6db2ebdc24f95958faec2be5558d6, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
@ -2692,6 +2695,7 @@ Material:
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,435 @@
{
"name": "Factory",
"maps": [
{
"name": "UI",
"id": "1a458cc7-1329-422f-bdbe-fd65d0ba847f",
"actions": [
{
"name": "Console",
"type": "Button",
"id": "1e929e23-fe63-4cb3-b0c3-65b90dd5c5ff",
"expectedControlType": "Button",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "NextOrPrevious",
"type": "Value",
"id": "925894f6-c732-4e18-b7f9-2a28b4635edc",
"expectedControlType": "Vector2",
"processors": "",
"interactions": "",
"initialStateCheck": true
}
],
"bindings": [
{
"name": "",
"id": "fa689113-6fa1-4689-bb02-3c5deb900612",
"path": "<Keyboard>/backquote",
"interactions": "",
"processors": "",
"groups": "",
"action": "Console",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "2D Vector",
"id": "62e295e0-1616-4769-8e6a-aaf987605a21",
"path": "2DVector",
"interactions": "",
"processors": "",
"groups": "",
"action": "NextOrPrevious",
"isComposite": true,
"isPartOfComposite": false
},
{
"name": "up",
"id": "647de820-1e26-420e-8adb-a512c3e2fe2d",
"path": "<Keyboard>/upArrow",
"interactions": "",
"processors": "",
"groups": "",
"action": "NextOrPrevious",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "down",
"id": "8f516b26-817b-46ca-a7e9-1496573c6a3c",
"path": "<Keyboard>/downArrow",
"interactions": "",
"processors": "",
"groups": "",
"action": "NextOrPrevious",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "left",
"id": "ee890488-4193-4356-a576-0f9573b9f714",
"path": "<Keyboard>/leftArrow",
"interactions": "",
"processors": "",
"groups": "",
"action": "NextOrPrevious",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "right",
"id": "6273b0cc-c819-46e0-8667-08dde3c14486",
"path": "<Keyboard>/rightArrow",
"interactions": "",
"processors": "",
"groups": "",
"action": "NextOrPrevious",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "2D Vector",
"id": "9758592a-5df0-42e0-88aa-8295e8e908bc",
"path": "2DVector",
"interactions": "",
"processors": "",
"groups": "",
"action": "NextOrPrevious",
"isComposite": true,
"isPartOfComposite": false
},
{
"name": "up",
"id": "02bbb5e0-d5f0-4717-8718-839db1e732c3",
"path": "<Keyboard>/w",
"interactions": "",
"processors": "",
"groups": "",
"action": "NextOrPrevious",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "down",
"id": "f7de92eb-4623-4764-a704-84ef38ee52dd",
"path": "<Keyboard>/s",
"interactions": "",
"processors": "",
"groups": "",
"action": "NextOrPrevious",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "left",
"id": "4e15ff7e-ed4d-498a-b419-ddd9bb3c6ed3",
"path": "<Keyboard>/a",
"interactions": "",
"processors": "",
"groups": "",
"action": "NextOrPrevious",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "right",
"id": "ad2aeec8-bba6-495b-b2f7-b61116e39fff",
"path": "<Keyboard>/d",
"interactions": "",
"processors": "",
"groups": "",
"action": "NextOrPrevious",
"isComposite": false,
"isPartOfComposite": true
}
]
},
{
"name": "Play",
"id": "9adc6837-739b-4cbf-bcf8-72f16ed26f71",
"actions": [
{
"name": "Movement",
"type": "Value",
"id": "2f890353-1e40-4636-bfce-afef7efc7ee8",
"expectedControlType": "Vector2",
"processors": "",
"interactions": "",
"initialStateCheck": true
},
{
"name": "View",
"type": "Value",
"id": "856fa388-7e34-4a70-a437-ae05947e2bc3",
"expectedControlType": "Vector2",
"processors": "",
"interactions": "",
"initialStateCheck": true
},
{
"name": "Scoll",
"type": "Value",
"id": "6ee06bf2-8f5a-43a2-bfe8-2c1b15c300d0",
"expectedControlType": "Vector2",
"processors": "",
"interactions": "",
"initialStateCheck": true
},
{
"name": "EntryMove",
"type": "Button",
"id": "09d77859-601f-4118-9365-c174f279d599",
"expectedControlType": "Button",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "EntryView",
"type": "Button",
"id": "611be5b4-7aa2-478b-add3-6d6b2b636988",
"expectedControlType": "Button",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "EntryMovement",
"type": "Button",
"id": "9165220e-2702-44b7-bd6d-1c896c45a242",
"expectedControlType": "Button",
"processors": "",
"interactions": "",
"initialStateCheck": false
}
],
"bindings": [
{
"name": "2D Vector",
"id": "bd3cd144-4731-498e-a946-ca99025cf80e",
"path": "2DVector",
"interactions": "",
"processors": "",
"groups": "",
"action": "Movement",
"isComposite": true,
"isPartOfComposite": false
},
{
"name": "up",
"id": "d83df4b7-0042-413e-84c2-3aa2d8138431",
"path": "<Keyboard>/w",
"interactions": "",
"processors": "",
"groups": "",
"action": "Movement",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "down",
"id": "ef63ffee-c123-400d-88cd-07adac9c5375",
"path": "<Keyboard>/s",
"interactions": "",
"processors": "",
"groups": "",
"action": "Movement",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "left",
"id": "89bf0a5a-ff4c-4f1d-88e3-4c0da7994603",
"path": "<Keyboard>/a",
"interactions": "",
"processors": "",
"groups": "",
"action": "Movement",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "right",
"id": "84a55418-60a4-41c4-b6a2-89da4ced984f",
"path": "<Keyboard>/d",
"interactions": "",
"processors": "",
"groups": "",
"action": "Movement",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "2D Vector",
"id": "b6ea5161-e323-4555-b047-1ea2682dcf00",
"path": "2DVector",
"interactions": "",
"processors": "",
"groups": "",
"action": "Movement",
"isComposite": true,
"isPartOfComposite": false
},
{
"name": "up",
"id": "74578628-2d1c-4759-b584-59cc306acef1",
"path": "<Keyboard>/upArrow",
"interactions": "",
"processors": "",
"groups": "",
"action": "Movement",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "down",
"id": "3cd58b53-b880-40eb-ae71-c6c9170c4ab3",
"path": "<Keyboard>/downArrow",
"interactions": "",
"processors": "",
"groups": "",
"action": "Movement",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "left",
"id": "80d305e4-cff6-4749-af24-3ff2c3cf73c8",
"path": "<Keyboard>/leftArrow",
"interactions": "",
"processors": "",
"groups": "",
"action": "Movement",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "right",
"id": "0b6179ea-5a58-457b-8d16-7070ae3a1cc6",
"path": "<Keyboard>/rightArrow",
"interactions": "",
"processors": "",
"groups": "",
"action": "Movement",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "",
"id": "e5e68950-a75c-46bb-ba70-53ac498370c5",
"path": "<Touchscreen>/touch0/delta",
"interactions": "",
"processors": "",
"groups": "",
"action": "Movement",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "ceb37ba8-555c-4a05-a7bc-b204d9fba5ae",
"path": "<Mouse>/delta",
"interactions": "",
"processors": "",
"groups": "",
"action": "View",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "ef2f6d5f-b864-45f5-9268-2d9d770412cf",
"path": "<Touchscreen>/delta",
"interactions": "",
"processors": "",
"groups": "",
"action": "View",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "deb8690f-63b3-47b1-94a0-9ff331997631",
"path": "<Pointer>/delta",
"interactions": "",
"processors": "",
"groups": "",
"action": "View",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "d808e16b-8fad-416f-8b12-2ee1db2b808c",
"path": "<Mouse>/scroll",
"interactions": "",
"processors": "",
"groups": "",
"action": "Scoll",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "104107d1-3edd-4c26-84b4-2417be135ddc",
"path": "<Touchscreen>/delta",
"interactions": "",
"processors": "",
"groups": "",
"action": "Scoll",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "25605810-b661-4059-9dec-30afe6e6af92",
"path": "<Keyboard>/shift",
"interactions": "",
"processors": "",
"groups": "",
"action": "EntryMove",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "224d840e-065d-4ddc-b302-33895d88814b",
"path": "<Keyboard>/rightShift",
"interactions": "",
"processors": "",
"groups": "",
"action": "EntryMove",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "4bb3a37e-17a1-4de2-ad58-206b3751e251",
"path": "<Mouse>/middleButton",
"interactions": "",
"processors": "",
"groups": "",
"action": "EntryView",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "e295b45e-3b1f-4424-8b58-b31f10bbc48c",
"path": "<Keyboard>/shift",
"interactions": "",
"processors": "",
"groups": "",
"action": "EntryMovement",
"isComposite": false,
"isPartOfComposite": false
}
]
}
],
"controlSchemes": []
}

View File

@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 982f09e3c8458314bad75d3c12b901d4
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3}
generateWrapperCode: 0
wrapperCodePath:
wrapperClassName:
wrapperCodeNamespace:

View File

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

Binary file not shown.

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 9874bcf2295b4e446acde197438243b8
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: Material
second: {fileID: 2100000, guid: dbf2d2587ed57dc499d9196dab40ff06, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 1
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 1
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 0
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 0
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 0
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 9c333ec749155da49ad9de9e19b32a84
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: Material
second: {fileID: 2100000, guid: dbf2d2587ed57dc499d9196dab40ff06, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 1
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 1
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 0
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 0
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: dcecc43758e49314e9e8ebf26b4de3bc
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: Material
second: {fileID: 2100000, guid: dbf2d2587ed57dc499d9196dab40ff06, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 1
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 1
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 0
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 0
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 0
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: eaa9ea72c125da44a815db27d606e838
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: Material
second: {fileID: 2100000, guid: dbf2d2587ed57dc499d9196dab40ff06, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 1
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 1
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 0
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 0
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 0
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 05abee8b951f0a343bd0ecdbda5fe0bd
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: Material
second: {fileID: 2100000, guid: dbf2d2587ed57dc499d9196dab40ff06, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 1
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 1
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 0
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 0
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 0
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: b98a8c2edb4517b4ba6bb033ae971828
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: Material
second: {fileID: 2100000, guid: dbf2d2587ed57dc499d9196dab40ff06, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 1
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 1
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 0
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 0
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 0
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 462af33e9b069a246ae138de5039b45b
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: Material
second: {fileID: 2100000, guid: dbf2d2587ed57dc499d9196dab40ff06, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 1
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 1
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 0
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 0
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 0
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: f7a3e7329d18bb64abdabf015978dd7a
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: Material
second: {fileID: 2100000, guid: dbf2d2587ed57dc499d9196dab40ff06, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 1
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 1
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 0
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 0
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 78fe6fef70ad27f4aa8a9106f5aa43af
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: Material
second: {fileID: 2100000, guid: dbf2d2587ed57dc499d9196dab40ff06, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 1
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 1
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 0
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 0
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 0
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 78a2a3577e035fb4c954e2810c074cab
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: Material
second: {fileID: 2100000, guid: dbf2d2587ed57dc499d9196dab40ff06, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 1
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 1
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 0
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 0
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 02dfe05b2215049429d647af9db89aaa
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: Material
second: {fileID: 2100000, guid: dbf2d2587ed57dc499d9196dab40ff06, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 1
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 0
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 0
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 0
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 7becfd824b8e8fb448302cd7c74c1017
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: Material
second: {fileID: 2100000, guid: dbf2d2587ed57dc499d9196dab40ff06, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 1
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 1
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 0
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 0
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 0
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: febe7ad01d30e5e4f88c31ba28ae7b65
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: Material
second: {fileID: 2100000, guid: dbf2d2587ed57dc499d9196dab40ff06, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 1
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 1
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 0
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 0
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 0
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,75 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &845321857322647282
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4788007273786538958}
- component: {fileID: 3647806986766750959}
- component: {fileID: 8507643494643596201}
m_Layer: 0
m_Name: UXAllowTouch
m_TagString: Untagged
m_Icon: {fileID: 2800000, guid: 588041e6f0efb43489b38677e0aac58f, type: 3}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4788007273786538958
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 845321857322647282}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &3647806986766750959
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 845321857322647282}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_PanelSettings: {fileID: 11400000, guid: a40a0c4d650c8e1458288dcdfa4ee861, type: 2}
m_ParentUI: {fileID: 0}
sourceAsset: {fileID: 9197481963319205126, guid: a63da811dd8322448ac5014554e7f909, type: 3}
m_SortingOrder: -1
--- !u!114 &8507643494643596201
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 845321857322647282}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 68876f64f96eb664cb5b6de5893549e4, type: 3}
m_Name:
m_EditorClassIdentifier:
document: {fileID: 3647806986766750959}
bindName: allowTouch-container
bindNameProvider:
rid: 6077775057159979013
AllowTouch: 0
references:
version: 2
RefIds:
- rid: 6077775057159979013
type: {class: GetNameFromGameobject, ns: BITKit, asm: BITKit}
data:
gameobject: {fileID: 845321857322647282}

View File

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

View File

@ -0,0 +1,381 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2042868230475771745
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5175145412320996503}
- component: {fileID: 802803050752007293}
m_Layer: 0
m_Name: "\u81EA\u7531\u76F8\u673A"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5175145412320996503
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2042868230475771745}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4263150314946998996}
- {fileID: 4263150313831602953}
- {fileID: 4263150314984849210}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &802803050752007293
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2042868230475771745}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4b0f7103e5aae6a48b28d0e1dd07ad07, type: 3}
m_Name:
m_EditorClassIdentifier:
flattenMode: 0
flattenSpace: 0
destroyAfterFlatten: 1
--- !u!1 &4263150313831602955
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4263150313831602953}
- component: {fileID: 4263150313831602954}
m_Layer: 0
m_Name: "\u865A\u62DF\u76F8\u673A"
m_TagString: Untagged
m_Icon: {fileID: 2800000, guid: ec2f01df0bb1bfe459b5562a9e71c8d4, type: 3}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4263150313831602953
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4263150313831602955}
serializedVersion: 2
m_LocalRotation: {x: -0, y: 0.99025595, z: -0.1392595, w: 0}
m_LocalPosition: {x: 2.14, y: 1.942205, z: -0.5443456}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4263150314961711449}
m_Father: {fileID: 5175145412320996503}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &4263150313831602954
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4263150313831602955}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ExcludedPropertiesInInspector:
- m_Script
m_LockStageInInspector:
m_StreamingVersion: 20170927
m_Priority: 10
m_StandbyUpdate: 2
m_LookAt: {fileID: 4263150314984849210}
m_Follow: {fileID: 4263150314984849210}
m_Lens:
FieldOfView: 35
OrthographicSize: 10
NearClipPlane: 0.1
FarClipPlane: 5000
Dutch: 0
ModeOverride: 0
LensShift: {x: 0, y: 0}
GateFit: 2
FocusDistance: 10
m_SensorSize: {x: 1, y: 1}
m_Transitions:
m_BlendHint: 0
m_InheritPosition: 0
m_OnCameraLive:
m_PersistentCalls:
m_Calls: []
m_LegacyBlendHint: 0
m_ComponentOwner: {fileID: 4263150314961711449}
--- !u!1 &4263150314946998998
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4263150314946998996}
- component: {fileID: 4263150314946998997}
m_Layer: 0
m_Name: "\u81EA\u7531\u89C6\u89D2"
m_TagString: Untagged
m_Icon: {fileID: 2800000, guid: 7cba34d70552e144586a4d3ce4a33de5, type: 3}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4263150314946998996
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4263150314946998998}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5175145412320996503}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &4263150314946998997
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4263150314946998998}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 462eee3907e22aa4bb427eca250554bc, type: 3}
m_Name:
m_EditorClassIdentifier:
cameraRoot: {fileID: 4263150314984849210}
virtualCamera: {fileID: 4263150313831602954}
touchMode: 0
viewAction: {fileID: -2089663493364381522, guid: 982f09e3c8458314bad75d3c12b901d4, type: 3}
movementAction: {fileID: -2089663493364381522, guid: 982f09e3c8458314bad75d3c12b901d4, type: 3}
adsAction: {fileID: 5240408924803234134, guid: 982f09e3c8458314bad75d3c12b901d4, type: 3}
entryAction: {fileID: -1678474691229992980, guid: 982f09e3c8458314bad75d3c12b901d4, type: 3}
entryMoveAction: {fileID: 2225725697760119119, guid: 982f09e3c8458314bad75d3c12b901d4, type: 3}
inputGroup:
allowGlobalActivation: 1
isEnabled: 0
minEntrySqrMagnitude: -1
layerMask:
serializedVersion: 2
m_Bits: 0
scollCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0.02
outSlope: 0.02
tangentMode: 34
weightedMode: 0
inWeight: 0
outWeight: 0.33333334
- serializedVersion: 3
time: 32
value: 0.64
inSlope: 0.02
outSlope: 0.02
tangentMode: 34
weightedMode: 0
inWeight: 0.33333334
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
moveCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 0.32
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
touchMoveCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 4
value: 0.16
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
cameraDistanceLimit: {x: 1, y: 64}
allowInput:
rid: 6077775057159979015
touchesCount: 0
isParallelVector: 0
lookInput: {x: 0, y: 0, z: 0}
moveVector: {x: 0, y: 0, z: 0}
references:
version: 2
RefIds:
- rid: 6077775057159979015
type: {class: AllowTouchWhenPointerNotOverUI, ns: BITKit.UX, asm: BITKit.UX.OnScreen}
data:
--- !u!1 &4263150314961711450
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4263150314961711449}
- component: {fileID: 4263150314961711446}
- component: {fileID: 4263150314961711447}
- component: {fileID: 4263150314961711448}
m_Layer: 0
m_Name: cm
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4263150314961711449
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4263150314961711450}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -2.3164356, y: -0.8241243, z: 4.526365}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4263150313831602953}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &4263150314961711446
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4263150314961711450}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &4263150314961711447
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4263150314961711450}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bd6043bde05a7fc4cba197d06915c1e3, type: 3}
m_Name:
m_EditorClassIdentifier:
Damping: {x: 0, y: 0, z: 0}
ShoulderOffset: {x: 0, y: 0, z: 0}
VerticalArmLength: 0
CameraSide: 1
CameraDistance: 3.67
CameraCollisionFilter:
serializedVersion: 2
m_Bits: 0
IgnoreTag:
CameraRadius: 0.2
DampingIntoCollision: 0
DampingFromCollision: 2
--- !u!114 &4263150314961711448
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4263150314961711450}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1e8b78ac948f05a46a6d8339a503172b, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &4263150314984849211
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4263150314984849210}
m_Layer: 0
m_Name: CameraTarget
m_TagString: Untagged
m_Icon: {fileID: -964228994112308473, guid: 0000000000000000d000000000000000, type: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4263150314984849210
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4263150314984849211}
serializedVersion: 2
m_LocalRotation: {x: -0, y: 0.99025595, z: -0.13925952, w: 0}
m_LocalPosition: {x: 2.14, y: 0.93, z: -4.072}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5175145412320996503}
m_LocalEulerAnglesHint: {x: 16.01, y: 180, z: 0}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 38a853bdbe097a24ebb4613f9bc99fe6
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,36 @@
using BITKit.Animations;
using Unity.Mathematics;
using UnityEngine;
namespace BITKit
{
public class MonoAnimatorProxy:MonoBehaviour,IAnimator
{
[SerializeField] private MonoBehaviour monoBehaviour;
private IAnimator _animatorImplementation => (IAnimator)monoBehaviour;
public void Play(string name, int index = 0, float normalizedTimeOffset = 0)
{
_animatorImplementation.Play(name, index, normalizedTimeOffset);
}
public void CrossFade(string name, float duration, int index = 0, float normalizedTimeOffset = 0)
{
_animatorImplementation.CrossFade(name, duration, index, normalizedTimeOffset);
}
public void OnStateEnter(int index, string name)
{
_animatorImplementation.OnStateEnter(index, name);
}
public void OnStateExit(int index, string name)
{
_animatorImplementation.OnStateExit(index, name);
}
public float3 GetRootVelocity()
{
return _animatorImplementation.GetRootVelocity();
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 3ec5e9dfed974baf9ce327cdc717ac6c
timeCreated: 1689957890

View File

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

View File

@ -0,0 +1,34 @@
using System;
using System.Collections;
using System.Collections.Generic;
using AYellowpaper.SerializedCollections;
using UnityEngine;
namespace BITKit
{
public class SetTargetFrameRate : MonoBehaviour
{
[SerializeField] private SerializedDictionary<string, int> frameRateDictionary;
[SerializeField] private int startFrameRate;
private int currentFrameRate;
private void Start()
{
currentFrameRate = Application.targetFrameRate;
}
public void SetFrameRate(string key)
{
if (frameRateDictionary.TryGetValue(key, out var frameRate))
{
SetFrameRate(frameRate);
}else if (int.TryParse(key, out frameRate))
{
SetFrameRate(frameRate);
}
}
public void SetFrameRate(int frameRate)
{
Application.targetFrameRate =currentFrameRate = frameRate;
}
}
}

View File

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

View File

@ -41,10 +41,14 @@ namespace BITKit
public static void ThrowIfWindowNotFocus()
{
#if UNITY_EDITOR
if (UnityEditor.EditorWindow.mouseOverWindow.ToString() is not " (UnityEditor.GameView)")
var window = UnityEditor.EditorWindow.focusedWindow;
var windowName = window is not null ? window.ToString() : string.Empty;
switch (windowName)
{
//Debug.Log(UnityEditor.EditorWindow.mouseOverWindow);
throw new MouseNotOverGameViewException();
case " (UnityEditor.GameView)":
return;
default:
throw new MouseNotOverGameViewException();
}
#endif
}

View File

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

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 38cc9d14a87ac7d44a174a011663463d
guid: e5f0d56c30edaf94d93f2bf63d1baf04
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -3,8 +3,12 @@
"rootNamespace": "",
"references": [
"GUID:14fe60d984bf9f84eac55c6ea033a8f4",
"GUID:be17a8778dbfe454890ed8279279e153",
"GUID:f51ebe6a0ceec4240a699833d6309b23"
"GUID:f51ebe6a0ceec4240a699833d6309b23",
"GUID:75469ad4d38634e559750d17036d5f7c",
"GUID:d525ad6bd40672747bde77962f1c401e",
"GUID:49b49c76ee64f6b41bf28ef951cb0e50",
"GUID:4307f53044263cf4b835bd812fc161a4",
"GUID:517785bb4600a5140b47eac5fa49b8fc"
],
"includePlatforms": [],
"excludePlatforms": [],

View File

@ -4,7 +4,6 @@ using System.Linq;
using UnityEngine;
using Cysharp.Threading.Tasks;
using UnityEngine.UI;
using UnityEngine.Windows.WebCam;
namespace BITKit
{

View File

@ -1,16 +1,13 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using Cinemachine;
using Cinemachine.Utility;
using TouchPhase = UnityEngine.InputSystem.TouchPhase;
using UnityEngine.InputSystem.EnhancedTouch;
using Touch = UnityEngine.InputSystem.EnhancedTouch.Touch;
using BITKit.IO;
using Newtonsoft.Json;
using System.IO;
using Cysharp.Threading.Tasks;
using UnityEngine.InputSystem.Controls;
namespace BITKit
{
public class SimpleCameraLook : MonoBehaviour
@ -41,6 +38,8 @@ namespace BITKit
public AnimationCurve moveCurve = new();
public AnimationCurve touchMoveCurve = new();
public Vector2 cameraDistanceLimit = new(1, 64);
[Header(Constant.Header.Providers)]
[SerializeField,SerializeReference,SubclassSelector] private ICondition allowInput;
[Header(Constant.Header.Debug)]
public int touchesCount;
public bool isParallelVector;
@ -55,6 +54,12 @@ namespace BITKit
private float savedDistance;
private float startDistance;
private CinemachineBrain _brain;
public Vector3 Position
{
get=>cameraRoot.position;
set=>cameraRoot.position = value;
}
public void Reset()
{
lookInput = MathV.TransientRotationAxis(startLocation.position);
@ -73,6 +78,13 @@ namespace BITKit
{
touchMode = mode;
}
public void SetViewScale(float value)
{
tpv.CameraDistance = value;
}
public float GetViewScale() => tpv.CameraDistance;
public void Align(Transform target)
{
if (target.TryGetComponent<SimpleCameraLook>(out var x))
@ -100,6 +112,7 @@ namespace BITKit
lookInput = MathV.TransientRotationAxis(target.eulerAngles);
}
}
public void Align(Vector3 position)=>cameraRoot.position= position;
public void SaveLocation()
{
savedLocation = new(cameraRoot);
@ -155,7 +168,8 @@ namespace BITKit
freeLooking.RemoveDisableElements(this);
virtualCamera.enabled = true;
if (virtualCamera is not null)
virtualCamera.enabled = true;
}
private void OnDisable()
@ -163,7 +177,8 @@ namespace BITKit
SetEnabled(false);
freeLooking.AddDisableElements(this);
virtualCamera.enabled = false;
if (virtualCamera is not null)
virtualCamera.enabled = false;
}
private void OnDestroy()
@ -213,6 +228,7 @@ namespace BITKit
private void OnView(InputAction.CallbackContext context)
{
if (allowInput.OnCheck() is false) return;
var playerConfig = PlayerConfig.singleton;
var sensitivity = playerConfig.sensitivity * playerConfig.m_yaw;
var delta = context.ReadValue<Vector2>();
@ -226,8 +242,6 @@ namespace BITKit
}
break;
case Touchscreen touchscreen:
/* lookInput.x -= delta.y * sensitivity;
lookInput.y += delta.x * sensitivity; */
switch (touchMode)
{
case TransformMode.Move:
@ -279,12 +293,6 @@ namespace BITKit
{
}
catch (System.Exception)
{
throw;
}
}
private void OnAds(float delta)

View File

@ -3,19 +3,20 @@ using System.Collections.Generic;
using UnityEngine;
namespace BITKit
{
public class ShowProfiler : BITBehavior, IDiagnostics
public class ShowProfiler : BITBehavior
{
[Header(Constant.Header.Settings)]
[SubclassSelector, SerializeReference] public References pingAddress;
[Header(Constant.Header.Output)]
public Provider fpsOutput;
public Provider pingOutput;
DeltaTimer timer = new();
Ping ping;
[SerializeField,SerializeReference,SubclassSelector] private IProvider fpsOutput;
[SerializeField,SerializeReference,SubclassSelector] private IProvider pingOutput;
[SerializeField,SerializeReference,SubclassSelector] private IProvider resolutionOutput;
[SerializeField,SerializeReference,SubclassSelector] private IProvider frameRateOutput;
private readonly DeltaTimer timer = new();
private Ping ping;
[Header(Constant.Header.InternalVariables)]
public int frameRate;
// Update is called once per frame
void Update()
private int frameRate;
private void Update()
{
timer.Update();
frameRate = timer;
@ -26,20 +27,14 @@ namespace BITKit
{
pingOutput.Set(ping.time.ToString());
}
ping = new(pingAddress);
ping = new Ping(pingAddress);
}
resolutionOutput?.Set(Screen.currentResolution.ToString());
frameRateOutput?.Set(Application.targetFrameRate is -1 or 0 ? "Unlimited" : Application.targetFrameRate.ToString());
}
public override string GetName()
{
return nameof(ShowProfiler);
}
public override object GetDiagnostics()
{
Dictionary<string, string> dictioanry = new();
dictioanry.Add(nameof(fpsOutput), fpsOutput ? "有效" : "未定义");
dictioanry.Add(nameof(pingOutput), pingOutput ? "有效" : "未定义");
dictioanry.Add("FPS", timer);
return dictioanry;
}
}
}

View File

@ -6,8 +6,8 @@ namespace BITKit
{
public class ShowVersion : MonoBehaviour
{
public Provider output;
void Start()
[SerializeField,SerializeReference,SubclassSelector] private IProvider output;
private void Start()
{
output?.Set(Application.version);
}

View File

@ -9,20 +9,32 @@ namespace BITKit
public class WorldToScreenPoint : MonoBehaviour
{
[Header(Constant.Header.Settings)]
[SerializeField] Transform root;
[SerializeField] Vector3 offset;
[SerializeField] Optional<float> activeDistance;
[SerializeField] private Transform root;
[SerializeField] private Optional<Vector3> localOffset;
[SerializeField] private Optional<Vector3> worldOffset;
[SerializeField] private Optional<float> activeDistance;
[Header(Constant.Header.Events)]
[SerializeField] private UnityEvent<bool> setHeaderEnabled;
[SerializeField] private UnityEvent<Vector3> setHeaderPosition;
Transform cameraTrans;
void Start()
private Transform cameraTrans;
private void Start()
{
if (Camera.main != null) cameraTrans = Camera.main.transform;
}
void Update()
private void Update()
{
var position = root.position + root.rotation * offset;
var position = root.position;
if (localOffset.Allow)
{
position += root.rotation * localOffset;
}
if (worldOffset.Allow)
{
position+=worldOffset;
}
setHeaderPosition.Invoke(position);

View File

@ -3,16 +3,15 @@
"rootNamespace": "",
"references": [
"GUID:14fe60d984bf9f84eac55c6ea033a8f4",
"GUID:a209c53514018594f9f482516f2a6781",
"GUID:75469ad4d38634e559750d17036d5f7c",
"GUID:66d2ae14764cc7d49aad4b16930747c0",
"GUID:fd4f76a9ea9701445bfd4d132912acab",
"GUID:21b0c8d1703a94250bfac916590cea4f",
"GUID:be17a8778dbfe454890ed8279279e153",
"GUID:9e24947de15b9834991c9d8411ea37cf",
"GUID:84651a3751eca9349aac36a66bba901b",
"GUID:9400d40641bab5b4a9702f65bf5c6eb5",
"GUID:f51ebe6a0ceec4240a699833d6309b23"
"GUID:f51ebe6a0ceec4240a699833d6309b23",
"GUID:d525ad6bd40672747bde77962f1c401e",
"GUID:49b49c76ee64f6b41bf28ef951cb0e50",
"GUID:517785bb4600a5140b47eac5fa49b8fc",
"GUID:be17a8778dbfe454890ed8279279e153"
],
"includePlatforms": [],
"excludePlatforms": [],

View File

@ -1,8 +1,7 @@
{
"name": "Entity.Component",
"name": "BITKit.Entities.Component",
"rootNamespace": "",
"references": [
"GUID:a209c53514018594f9f482516f2a6781",
"GUID:709caf8d7fb6ef24bbba0ab9962a3ad0",
"GUID:677cd05ca06c46b4395470200b1acdad",
"GUID:75469ad4d38634e559750d17036d5f7c",
@ -12,11 +11,10 @@
"GUID:99a47d73d3ad3374b9d12c982228df71",
"GUID:49b49c76ee64f6b41bf28ef951cb0e50",
"GUID:274d4ecae4648e94c8b2cee7218378a0",
"GUID:1491147abca9d7d4bb7105af628b223e",
"GUID:28c2d6a6727d47442a24a353f0d37846",
"GUID:be17a8778dbfe454890ed8279279e153",
"GUID:14fe60d984bf9f84eac55c6ea033a8f4",
"GUID:9400d40641bab5b4a9702f65bf5c6eb5"
"GUID:d525ad6bd40672747bde77962f1c401e",
"GUID:be17a8778dbfe454890ed8279279e153"
],
"includePlatforms": [],
"excludePlatforms": [],

View File

@ -0,0 +1,54 @@
using System;
using System.Collections;
using System.Collections.Generic;
using BITKit.Entities;
using UnityEngine;
namespace BITKit
{
public class AutoHealComponent : EntityComponent,IHealthCallback,IDamageCallback
{
[SerializeField] private IntervalUpdate healDelayInterval;
[SerializeField] private IntervalUpdate healInterval;
[SerializeField] private int healIncrement;
private readonly ValidHandle allowHeal = new();
private IHealth _health;
public override void Initialize(IEntity _entity)
{
base.Initialize(_entity);
_entity.RegisterCallback<IHealthCallback>(this);
_entity.RegisterCallback<IDamageCallback>(this);
}
public override void OnStart()
{
_health = entity.Get<IHealth>();
}
private void Update()
{
if (!allowHeal.Allow || !healDelayInterval.AllowUpdateWithoutReset || !healInterval.AllowUpdate) return;
_health.HealthPoint= Mathf.Clamp(_health.HealthPoint+healIncrement,0,_health.MaxHealthPoint);
if (_health.HealthPoint == _health.MaxHealthPoint)
{
allowHeal.RemoveElement(this);
}
}
public void OnSetAlive(bool alive)
{
allowHeal.SetDisableElements(this,alive is false);
}
public void OnSetHP(int hp)
{
}
public void OnGetDamage(DamageMessage message)
{
allowHeal.AddElement(this);
healDelayInterval.Reset();
}
}
}

View File

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

View File

@ -0,0 +1,130 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using BITKit;
using BITKit.SubSystems;
using BITKit.Entities;
namespace BITKit.Entities
{
public interface IDamageType { }
public interface IDamageService
{
public event Action<DamageMessage> OnEntityDamaged;
public event Action<DamageMessage> OnEntityKilled;
void Execute(DamageMessage damageMessage);
ValidHandle AllowDamageHandle { get; }
}
[Serializable]
public class DamageServiceSingleton:IDamageService
{
private IDamageService _damageServiceImplementation => DamageService.Singleton;
public event Action<DamageMessage> OnEntityDamaged
{
add => _damageServiceImplementation.OnEntityDamaged += value;
remove => _damageServiceImplementation.OnEntityDamaged -= value;
}
public event Action<DamageMessage> OnEntityKilled
{
add => _damageServiceImplementation.OnEntityKilled += value;
remove => _damageServiceImplementation.OnEntityKilled -= value;
}
public void Execute(DamageMessage damageMessage)
{
_damageServiceImplementation.Execute(damageMessage);
}
public ValidHandle AllowDamageHandle => _damageServiceImplementation.AllowDamageHandle;
}
[Serializable]
public class DamageServiceMonoProxy:IDamageService
{
[SerializeField] private MonoBehaviour monoBehaviour;
private IDamageService _damageServiceImplementation=>monoBehaviour as IDamageService;
public event Action<DamageMessage> OnEntityDamaged
{
add => _damageServiceImplementation.OnEntityDamaged += value;
remove => _damageServiceImplementation.OnEntityDamaged -= value;
}
public event Action<DamageMessage> OnEntityKilled
{
add => _damageServiceImplementation.OnEntityKilled += value;
remove => _damageServiceImplementation.OnEntityKilled -= value;
}
public void Execute(DamageMessage damageMessage)
{
_damageServiceImplementation.Execute(damageMessage);
}
public ValidHandle AllowDamageHandle => _damageServiceImplementation.AllowDamageHandle;
}
public record DamageMessage
{
public IEntity initiator;
public IEntity target;
public int damage;
public IDamagable hit;
public Location location;
public IDamageType damageType;
}
public interface IDamageCallback
{
void OnGetDamage(DamageMessage message);
}
public interface IDamagable
{
IEntity Entity { get; }
Rigidbody Rigidbody { get; }
void GiveDamage(DamageMessage message);
}
public class DamageService:MonoBehaviour,IDamageService
{
internal static IDamageService Singleton { get; set; }
public ValidHandle AllowDamageHandle { get; }= new();
private readonly Queue<DamageMessage> Messages = new();
private void Awake()
{
Singleton = this;
}
private void FixedUpdate()
{
if (AllowDamageHandle.Allow is false)
{
Messages.Clear();
return;
}
while (Messages.TryDequeue(out var damageMessage))
{
var unityEntity = (Entity)damageMessage.target;
if (unityEntity is null || !unityEntity.TryGetComponent<IHealth>(out var heal) || !heal.IsAlive) continue;
damageMessage.initiator?.Invoke(damageMessage);
damageMessage.target?.Invoke(damageMessage);
foreach (var x in damageMessage.target?.GetCallbacks<IDamageCallback>()!)
{
x.OnGetDamage(damageMessage);
}
OnEntityDamaged?.Invoke(damageMessage);
if (heal.IsAlive is false)
{
OnEntityKilled?.Invoke(damageMessage);
}
}
}
public event Action<DamageMessage> OnEntityDamaged;
public event Action<DamageMessage> OnEntityKilled;
public void Execute(DamageMessage damageMessage)=>Messages.Enqueue(damageMessage);
}
}

View File

@ -1,3 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Remoting.Contexts;
@ -10,33 +11,72 @@ namespace BITKit.Entities
void OnSetAlive(bool alive);
void OnSetHP(int hp);
}
[Serializable]
public class UnityEventHealthCallback : IHealthCallback
{
[SerializeField] private UnityEvent<int> onSetHP;
[SerializeField] private UnityEvent onSetAlive;
[SerializeField] private UnityEvent onSetDead;
public void OnSetAlive(bool alive)
{
if (alive)
{
onSetAlive.Invoke();
}
else
{
onSetDead.Invoke();
}
}
public void OnSetHP(int hp)
{
onSetHP.Invoke(hp);
}
}
public interface IHealth
{
public event Action<int> OnSetHealthPoint;
public event Action<bool> OnSetAlive;
int HealthPoint { get; set; }
int MaxHealthPoint { get; set; }
bool IsAlive { get; }
}
public class EntityHealth : EntityComponent, IHealth
{
[Header(Constant.Header.Settings)] [SerializeField]
private int healthPoint = 100;
[Header(Constant.Header.Settings)]
[SerializeField] private int healthPoint = 100;
[SerializeField] private int maxHealthPoint = 100;
[Header(Constant.Header.Events)] public UnityEvent<bool> onSetAlive = new();
[Header(Constant.Header.Events)]
[SerializeField] private UnityEvent<bool> onSetAlive = new();
[Header(Constant.Header.Providers)] [SerializeField, SerializeReference, SubclassSelector]
private IHealthCallback[] additiveCallback;
[Header(Constant.Header.InternalVariables)]
bool isAlive;
public event Action<int> OnSetHealthPoint;
public event Action<bool> OnSetAlive;
public int HealthPoint
{
get => healthPoint;
set => OnHealthPointChanged(healthPoint, value);
set => OnHealthPointChangedInternal(healthPoint, value);
}
public int MaxHealthPoint
{
get => maxHealthPoint;
set => maxHealthPoint = value;
}
public bool IsAlive { get; private set; }
bool IHealth.IsAlive => isAlive;
public override void Initialize(IEntity _entity)
{
base.Initialize(_entity);
_entity.Set<IHealth>(this);
_entity.Set(this);
}
public override void OnAwake()
{
@ -45,18 +85,18 @@ namespace BITKit.Entities
public override void OnStart()
{
isAlive = healthPoint >= 0;
OnSetAlive(isAlive);
OnHealthPointChanged(0, healthPoint);
IsAlive = healthPoint >= 0;
OnSetAliveInternal(IsAlive);
OnHealthPointChangedInternal(0, healthPoint);
}
private void OnHealthPointChanged(int old, int newHP)
private void OnHealthPointChangedInternal(int old, int newHP)
{
healthPoint = newHP;
var _isAlive = newHP >= 0;
if (_isAlive != isAlive)
if (_isAlive != IsAlive)
{
OnSetAlive(isAlive = _isAlive);
OnSetAliveInternal(IsAlive = _isAlive);
}
//entity.Invoke<int>(_onSetHP, newHP);
@ -70,9 +110,11 @@ namespace BITKit.Entities
{
x.OnSetHP(newHP);
}
OnSetHealthPoint?.Invoke(newHP);
}
private void OnSetAlive(bool alive)
private void OnSetAliveInternal(bool alive)
{
foreach (var x in entity.GetCallbacks<IHealthCallback>())
{
@ -87,11 +129,12 @@ namespace BITKit.Entities
//entity.Invoke<bool>(_onSetAlive, alive);
//entity.Set<bool>(_isAlive, alive);
onSetAlive.Invoke(alive);
OnSetAlive?.Invoke(alive);
}
private void AddHP(int hp)
{
OnHealthPointChanged(healthPoint, healthPoint += hp);
OnHealthPointChangedInternal(healthPoint, healthPoint += hp);
}
private void OnDamage(DamageMessage damageMessage)
@ -104,14 +147,14 @@ namespace BITKit.Entities
public void SetAlive()
{
BITAppForUnity.ThrowIfNotPlaying();
OnHealthPointChanged(-1, 100);
OnHealthPointChangedInternal(-1, 100);
}
[BIT]
public void SetDead()
{
BITAppForUnity.ThrowIfNotPlaying();
OnHealthPointChanged(100, -1);
OnHealthPointChangedInternal(100, -1);
}
#endif

View File

@ -0,0 +1,34 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using BITKit.Entities;
using UnityEngine;
using UnityEngine.Events;
namespace BITKit.Entities
{
public class GetDamageComponent : EntityComponent
{
private readonly Queue<DamageMessage> DamageMessages = new();
[SerializeField] private UnityEvent<DamageMessage> onGetDamage;
[SerializeField, SerializeReference, SubclassSelector]
private IDamageCallback[] callbacks;
public override void OnAwake()
{
entity.AddListener<DamageMessage>(OnGetDamage);
}
private void OnGetDamage(DamageMessage obj)
{
if (obj.target != entity) return;
DamageMessages.Enqueue(obj);
onGetDamage?.Invoke(obj);
foreach (var x in callbacks)
{
x.OnGetDamage(obj);
}
}
}
}

View File

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

View File

@ -6,8 +6,7 @@ namespace BITKit.Entities
{
public class EntityHitbox : EntityComponent,IDamagable
{
public IEntity Entity => entity;
IEntity IDamagable.Entity => entity;
public Rigidbody Rigidbody => m_rigidbody;
public void GiveDamage(DamageMessage message)
{

View File

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

View File

@ -0,0 +1,12 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace BITKit.Entities
{
public class LocalPlayerComponent : EntityComponent
{
public override Type BaseType => typeof(LocalPlayerComponent);
}
}

View File

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

View File

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

View File

@ -0,0 +1,12 @@
using System.Collections;
using System.Collections.Generic;
using AYellowpaper.SerializedCollections;
using UnityEngine;
namespace BITKit.Entities
{
public class SlotComponent : EntityComponent
{
public SerializedDictionary<string,Transform> slots;
}
}

View File

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

View File

@ -1,46 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using BITKit;
using BITKit.SubSystems;
using BITKit.Entities;
namespace BITKit.Entities
{
public interface IDamageType { }
public record DamageMessage
{
public IEntity initiator;
public IEntity target;
public int damage;
public IDamagable hit;
public Location location;
public IDamageType damageType;
}
public interface IDamageCallback
{
void OnGetDamage(DamageMessage message);
}
public interface IDamagable
{
IEntity Entity { get; }
Rigidbody Rigidbody { get; }
void GiveDamage(DamageMessage message);
}
public class DamageService:MonoBehaviour
{
static Queue<DamageMessage> Messages = new();
public static void Excute(DamageMessage damageMessage)
{
Messages.Enqueue(damageMessage);
}
private void FixedUpdate()
{
while (Messages.TryDequeue(out var damageMessage))
{
damageMessage.hit?.GiveDamage(damageMessage);
damageMessage.initiator?.Invoke(damageMessage);
}
}
}
}

View File

@ -1,3 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
#if UNITY_EDITOR
@ -7,13 +8,13 @@ using UnityEngine;
namespace BITKit.Entities
{
public interface IEntityComponent
public interface IEntityComponent:BITKit.Core.Entites.IEntityComponent
{
bool isLocalPlayer { get; }
IEntity entity { get; }
void Initialize(IEntity entity);
void OnAwake();
void OnStart();
void Initialize(IEntity _entity);
//void OnAwake();
//void OnStart();
void OnUpdate(float deltaTime);
void OnFixedUpdate(float deltaTime);
void OnLateUpdate(float deltaTime);
@ -30,7 +31,7 @@ namespace BITKit.Entities
public bool isLocalPlayer => entity.Get<bool>(nameof(isLocalPlayer));
public bool isSpawned=> entity.Get<bool>(nameof(isSpawned));
private IEntity mEntity;
public virtual void Initialize(IEntity entity) { this.entity = entity; }
public virtual void Initialize(IEntity _entity) { this.entity = _entity; }
public virtual void OnAwake() { }
public virtual void OnStart() { }
public virtual void OnUpdate(float deltaTime) { }
@ -42,6 +43,8 @@ namespace BITKit.Entities
public virtual void UnRegisterCallback() { }
public virtual void OnSpawn() { }
public virtual void OnDespawn() { }
public virtual Type BaseType => GetType();
public Core.Entites.IEntity Entity { get; set; }
}
#if UNITY_EDITOR

View File

@ -0,0 +1,19 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace BITKit.Entities
{
public class EntityIdComponent : EntityComponent
{
public ulong Id;
public string Name;
public override void Initialize(IEntity _entity)
{
if (Id is 0) Id = (ulong)Guid.NewGuid().GetHashCode();
base.Initialize(_entity);
_entity.Set(this);
}
}
}

View File

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

Some files were not shown because too many files have changed in this diff Show More