summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Erika/Assets/Bundle/Scenes/Demo/AnimationEditScene.unity68
-rw-r--r--Erika/Assets/Bundle/Unit/PC/Erika/AnimationData/Air_Combo03_Z0_2.asset30
-rw-r--r--Erika/Assets/New Animator Controller.controller114
-rw-r--r--Erika/Assets/Resources.meta8
-rw-r--r--Erika/Assets/Resources/AssetBundleDefine.asset17
-rw-r--r--Erika/Assets/Resources/AssetBundleDefine.asset.meta8
-rw-r--r--Erika/Assets/Scripts/Data/AssetBundleDefine.cs17
-rw-r--r--Erika/Assets/Scripts/Data/AssetBundleDefine.cs.meta11
-rw-r--r--Erika/Assets/Scripts/Data/Editor.meta8
-rw-r--r--Erika/Assets/Scripts/Data/Editor/DataDictionaries.cs7
-rw-r--r--Erika/Assets/Scripts/Data/Editor/DataDictionaries.cs.meta11
-rw-r--r--Erika/Assets/Scripts/Managers/ResourceManager.cs9
-rw-r--r--Erika/Assets/Scripts/Unit/Action/WaitForTransitionDone.cs3
-rw-r--r--Erika/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs8
-rw-r--r--Erika/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs29
-rw-r--r--Erika/Assets/Scripts/Unit/Components/UnitComponent.cs3
-rw-r--r--Erika/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs34
-rw-r--r--Erika/Assets/Scripts/Unit/Components/UnitState/UnitState.cs5
-rw-r--r--Erika/Assets/Scripts/Unit/UnitRootMotion.cs6
-rw-r--r--Erika/Assets/Scripts/Utils/LogHelper.cs16
-rw-r--r--Erika/Assets/Scripts/Utils/LogTag.cs9
-rw-r--r--Erika/Assets/Scripts/Utils/LogTag.cs.meta11
22 files changed, 382 insertions, 50 deletions
diff --git a/Erika/Assets/Bundle/Scenes/Demo/AnimationEditScene.unity b/Erika/Assets/Bundle/Scenes/Demo/AnimationEditScene.unity
index 35830ed0..8a59afb6 100644
--- a/Erika/Assets/Bundle/Scenes/Demo/AnimationEditScene.unity
+++ b/Erika/Assets/Bundle/Scenes/Demo/AnimationEditScene.unity
@@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
- m_IndirectSpecularColor: {r: 0.44657826, g: 0.49641263, b: 0.57481676, a: 1}
+ m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
@@ -24063,6 +24063,72 @@ ParticleSystem:
m_PostInfinity: 2
m_RotationOrder: 4
vectorLabel1_3: W
+--- !u!1 &203878585
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 203878588}
+ - component: {fileID: 203878587}
+ - component: {fileID: 203878586}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &203878586
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 203878585}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &203878587
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 203878585}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 10
+--- !u!4 &203878588
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 203878585}
+ 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_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 11
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &278122006
GameObject:
m_ObjectHideFlags: 0
diff --git a/Erika/Assets/Bundle/Unit/PC/Erika/AnimationData/Air_Combo03_Z0_2.asset b/Erika/Assets/Bundle/Unit/PC/Erika/AnimationData/Air_Combo03_Z0_2.asset
index a19dff45..2f8ff75c 100644
--- a/Erika/Assets/Bundle/Unit/PC/Erika/AnimationData/Air_Combo03_Z0_2.asset
+++ b/Erika/Assets/Bundle/Unit/PC/Erika/AnimationData/Air_Combo03_Z0_2.asset
@@ -10,7 +10,7 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: cab6406109041434e890f22d6455172f, type: 3}
- m_Name: Air_Combo03_Z0_2
+ m_Name: Air_Combo03_Z0_2(Clone)
m_EditorClassIdentifier:
animationName: Air_Combo03_Z0_2
animationPath: Assets/Bundle/Unit/PC/Erika/AnimationClip/Air_Combo03_Z0_2.anim
@@ -122,30 +122,21 @@ MonoBehaviour:
m_Curve:
- serializedVersion: 3
time: 0
- value: 1.8
- inSlope: -0.053573478
- outSlope: -0.053573478
- tangentMode: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 34
weightedMode: 0
inWeight: 0
- outWeight: 0.1677485
- - serializedVersion: 3
- time: 0.58117175
- value: 1.4372973
- inSlope: -1.3982409
- outSlope: -1.3982409
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.15874855
- outWeight: 0.14750415
+ outWeight: 0
- serializedVersion: 3
time: 1
- value: 0.5
- inSlope: -2.2379038
- outSlope: -2.2379038
+ value: 1
+ inSlope: 0
+ outSlope: 0
tangentMode: 34
weightedMode: 0
- inWeight: 0.33333334
+ inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
@@ -209,6 +200,7 @@ MonoBehaviour:
lifeTime: 0.1
angle: 0
distance: 0
+ hideUnitInMainCamera: 0
--- !u!114 &114311271947421858
MonoBehaviour:
m_ObjectHideFlags: 0
diff --git a/Erika/Assets/New Animator Controller.controller b/Erika/Assets/New Animator Controller.controller
index 0e56030e..d5573572 100644
--- a/Erika/Assets/New Animator Controller.controller
+++ b/Erika/Assets/New Animator Controller.controller
@@ -9,4 +9,116 @@ AnimatorController:
m_Name: New Animator Controller
serializedVersion: 5
m_AnimatorParameters: []
- m_AnimatorLayers: []
+ m_AnimatorLayers:
+ - serializedVersion: 5
+ m_Name: Base Layer
+ m_StateMachine: {fileID: 1107791648939769294}
+ m_Mask: {fileID: 0}
+ m_Motions: []
+ m_Behaviours: []
+ m_BlendingMode: 0
+ m_SyncedLayerIndex: -1
+ m_DefaultWeight: 0
+ m_IKPass: 0
+ m_SyncedLayerAffectsTiming: 0
+ m_Controller: {fileID: 9100000}
+--- !u!1101 &1101699584335445592
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions: []
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: 1102801727367317354}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0.11761314
+ m_TransitionOffset: 0.21120915
+ m_ExitTime: 0.76584524
+ m_HasExitTime: 0
+ m_HasFixedDuration: 0
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1102 &1102189551070412168
+AnimatorState:
+ serializedVersion: 5
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: New State
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: 1101699584335445592}
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: 51d7ca8073bde094fa005f03199f3321, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1102 &1102801727367317354
+AnimatorState:
+ serializedVersion: 5
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: New State 0
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions: []
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: 51d7ca8073bde094fa005f03199f3321, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1107 &1107791648939769294
+AnimatorStateMachine:
+ serializedVersion: 5
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Base Layer
+ m_ChildStates:
+ - serializedVersion: 1
+ m_State: {fileID: 1102189551070412168}
+ m_Position: {x: 267.00195, y: 100.01747, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: 1102801727367317354}
+ m_Position: {x: 264, y: 180, z: 0}
+ m_ChildStateMachines: []
+ m_AnyStateTransitions: []
+ m_EntryTransitions: []
+ m_StateMachineTransitions: {}
+ m_StateMachineBehaviours: []
+ m_AnyStatePosition: {x: 50, y: 20, z: 0}
+ m_EntryPosition: {x: 50, y: 120, z: 0}
+ m_ExitPosition: {x: 800, y: 120, z: 0}
+ m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+ m_DefaultState: {fileID: 1102189551070412168}
diff --git a/Erika/Assets/Resources.meta b/Erika/Assets/Resources.meta
new file mode 100644
index 00000000..cd8d5c13
--- /dev/null
+++ b/Erika/Assets/Resources.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 60e3c718733735f4aa40886359cc4c19
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Erika/Assets/Resources/AssetBundleDefine.asset b/Erika/Assets/Resources/AssetBundleDefine.asset
new file mode 100644
index 00000000..32e8c5d9
--- /dev/null
+++ b/Erika/Assets/Resources/AssetBundleDefine.asset
@@ -0,0 +1,17 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a528fae4079958541ab7bb0fa20d7454, type: 3}
+ m_Name: AssetBundleDefine
+ m_EditorClassIdentifier:
+ assets:
+ m_keys: []
+ m_values: []
diff --git a/Erika/Assets/Resources/AssetBundleDefine.asset.meta b/Erika/Assets/Resources/AssetBundleDefine.asset.meta
new file mode 100644
index 00000000..3df58d7a
--- /dev/null
+++ b/Erika/Assets/Resources/AssetBundleDefine.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: aa28d1b09098c054d9d526a0d1703142
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Erika/Assets/Scripts/Data/AssetBundleDefine.cs b/Erika/Assets/Scripts/Data/AssetBundleDefine.cs
new file mode 100644
index 00000000..319122f1
--- /dev/null
+++ b/Erika/Assets/Scripts/Data/AssetBundleDefine.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+[Serializable]
+public class AssetInfo : SerializableDictionary<string, string> { }
+
+/// <summary>
+/// 记录asset所在bundle
+/// </summary>
+[CreateAssetMenu(fileName = "AssetBundleDefine")]
+public class AssetBundleDefine : ScriptableObject
+{
+ public AssetInfo assets;
+
+} \ No newline at end of file
diff --git a/Erika/Assets/Scripts/Data/AssetBundleDefine.cs.meta b/Erika/Assets/Scripts/Data/AssetBundleDefine.cs.meta
new file mode 100644
index 00000000..b85a6990
--- /dev/null
+++ b/Erika/Assets/Scripts/Data/AssetBundleDefine.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a528fae4079958541ab7bb0fa20d7454
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Erika/Assets/Scripts/Data/Editor.meta b/Erika/Assets/Scripts/Data/Editor.meta
new file mode 100644
index 00000000..aa793231
--- /dev/null
+++ b/Erika/Assets/Scripts/Data/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c8a615a8a14c787458ca7927f2cf1269
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Erika/Assets/Scripts/Data/Editor/DataDictionaries.cs b/Erika/Assets/Scripts/Data/Editor/DataDictionaries.cs
new file mode 100644
index 00000000..7b542f00
--- /dev/null
+++ b/Erika/Assets/Scripts/Data/Editor/DataDictionaries.cs
@@ -0,0 +1,7 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEditor;
+
+[CustomPropertyDrawer(typeof(AssetInfo))]
+public class AssetInfoDicDrawer : SerializableDictionaryPropertyDrawer { }
diff --git a/Erika/Assets/Scripts/Data/Editor/DataDictionaries.cs.meta b/Erika/Assets/Scripts/Data/Editor/DataDictionaries.cs.meta
new file mode 100644
index 00000000..6f871de5
--- /dev/null
+++ b/Erika/Assets/Scripts/Data/Editor/DataDictionaries.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: da91fec0fb82c4547aa58da0ff87a0a7
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Erika/Assets/Scripts/Managers/ResourceManager.cs b/Erika/Assets/Scripts/Managers/ResourceManager.cs
index f7904d1e..8439cd69 100644
--- a/Erika/Assets/Scripts/Managers/ResourceManager.cs
+++ b/Erika/Assets/Scripts/Managers/ResourceManager.cs
@@ -5,7 +5,10 @@ using UnityEngine;
using UnityEditor;
#endif
-public partial class ResourceManager : Singleton<ResourceManager>
+/// <summary>
+/// 资源管理
+/// </summary>
+public class ResourceManager : Singleton<ResourceManager>
{
Dictionary<string, Object> m_CachedObject = new Dictionary<string, Object>();
@@ -25,4 +28,8 @@ public partial class ResourceManager : Singleton<ResourceManager>
return obj;
}
+ public void UnloadAsset()
+ {
+ }
+
}
diff --git a/Erika/Assets/Scripts/Unit/Action/WaitForTransitionDone.cs b/Erika/Assets/Scripts/Unit/Action/WaitForTransitionDone.cs
index 82f3e792..16fbc2e5 100644
--- a/Erika/Assets/Scripts/Unit/Action/WaitForTransitionDone.cs
+++ b/Erika/Assets/Scripts/Unit/Action/WaitForTransitionDone.cs
@@ -3,6 +3,9 @@ using System.Collections;
using System.Collections.Generic;
using UnityEngine;
+/// <summary>
+/// 等待动画过渡结束
+/// </summary>
public class WaitForTransitionDone : IEnumerator
{
UnitAnimation m_UnitAnimation;
diff --git a/Erika/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs b/Erika/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs
index 74c33626..0620c0b6 100644
--- a/Erika/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs
+++ b/Erika/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs
@@ -138,10 +138,10 @@ public class PCAnimation : UnitAnimation
{
m_LayerInfo[0].OnUpdate();
return;
- for (int i = 0; i < m_LayerInfo.Length; ++i)
- {
- m_LayerInfo[i].OnUpdate();
- }
+ //for (int i = 0; i < m_LayerInfo.Length; ++i)
+ //{
+ // m_LayerInfo[i].OnUpdate();
+ //}
}
void UpdateAnimation()
diff --git a/Erika/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs b/Erika/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs
index da16b947..931e49ab 100644
--- a/Erika/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs
+++ b/Erika/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs
@@ -7,6 +7,8 @@ using UnityEngine;
using UnityEditor;
#endif
+// http://unitylore.org/wiki/doku.php?id=l3y0gj
+
// 单独一层动画
public class AnimatorLayerInfo
{
@@ -27,14 +29,17 @@ public class AnimatorLayerInfo
get
{
AnimatorClipInfo[] clipInfos = clipsInfo;
- if (clipInfos == null || clipInfos.Length == 0)
+ if (clipInfos == null || clipInfos.Length == 0)
+ {
+ LogHelper.LogError(LogTag.UnitAnimation, "No current animation.");
return null;
+ }
var clip = clipInfos[0]; //选第一个
string folder = m_UnitAnimation.owner.folder;
string name = clip.clip.name;
if (m_AnimationData != null && m_AnimationData.animationName == name)
return m_AnimationData;
- string path = folder + "AnimationData/" + name + ".asset" ; // 要注意这里使用名字区别的,因为最终每个角色的动画都会在一个目录下面
+ string path = folder + "AnimationData/" + name + ".asset" ; // 要注意这里是用名字区别的,因为最终每个角色的动画都会在一个目录下面
m_AnimationData = ResourceManager.Instance.LoadAsset<AnimationData>(path);
return m_AnimationData;
}
@@ -51,7 +56,6 @@ public class AnimatorLayerInfo
{
stateInfo = m_Animator.GetNextAnimatorStateInfo(layerIndex);
}
- // Debug.Assert(stateInfo.IsName(layerName + "." + m_CurrentState));
return stateInfo;
}
}
@@ -123,11 +127,6 @@ public class AnimatorLayerInfo
AnimatorStateInfo state = stateInfo;
if (!state.loop && state.normalizedTime > 1)
return 1;
- //if (state.IsName("Attack0"))
- //{
- // Debug.Log("normalizedTime=" + state.normalizedTime);
- // Debug.Log("playbackTimeInSeconds=" + state.normalizedTime * clipInfo.clip.length);
- //}
return state.normalizedTime % 1f;
}
}
@@ -279,6 +278,12 @@ public class UnitAnimation : UnitComponent
base.OnUpdate();
}
+ /// <summary>
+ /// 直接播放动作
+ /// </summary>
+ /// <param name="animState"></param>
+ /// <param name="layerIndex"></param>
+ /// <param name="normalizedTime"></param>
public void Play(string animState, int layerIndex = 0, float normalizedTime = float.NegativeInfinity)
{
AnimatorLayerInfo layer = this.layers[layerIndex];
@@ -293,6 +298,14 @@ public class UnitAnimation : UnitComponent
}
}
+ /// <summary>
+ /// CrossFade
+ /// </summary>
+ /// <param name="animState"></param>
+ /// <param name="normalizedTransitionDuration"></param>
+ /// <param name="layerIndex"></param>
+ /// <param name="normalizedTimeOffset"></param>
+ /// <param name="normalizedTransitionTime"></param>
public void CrossFade(string animState, float normalizedTransitionDuration, int layerIndex = 0, float normalizedTimeOffset = float.NegativeInfinity, float normalizedTransitionTime = 0.0f)
{
AnimatorLayerInfo layer = this.layers[layerIndex];
diff --git a/Erika/Assets/Scripts/Unit/Components/UnitComponent.cs b/Erika/Assets/Scripts/Unit/Components/UnitComponent.cs
index 825b6d92..dd59f19f 100644
--- a/Erika/Assets/Scripts/Unit/Components/UnitComponent.cs
+++ b/Erika/Assets/Scripts/Unit/Components/UnitComponent.cs
@@ -2,6 +2,9 @@
using System.Collections.Generic;
using UnityEngine;
+/// <summary>
+/// Unit组件
+/// </summary>
public class UnitComponent : MonoBehaviour
{
public UnitController owner { get { return m_Owner; } }
diff --git a/Erika/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs b/Erika/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs
index 738cc7ce..ff7ca78b 100644
--- a/Erika/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs
+++ b/Erika/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs
@@ -108,7 +108,8 @@ public partial class PCState : UnitState
TryAttackToAir();
yield return null;
}
- ChangeState(EUnitState.Idle, new IdleParam());
+ ChangeState(EUnitState.Idle, new IdleParam());
+ yield break;
}
void OnMoveExit(EUnitState nextState)
@@ -136,6 +137,7 @@ public partial class PCState : UnitState
SkillParam skill = new SkillParam();
skill.offset = 0.12f;
ChangeState(EUnitState.AttackToAir, skill);
+ yield break;
}
}
@@ -154,6 +156,7 @@ public partial class PCState : UnitState
if (isAnimationReachEnd)
{
ChangeState(EUnitState.Idle, new IdleParam());
+ yield break;
}
yield return null;
@@ -184,12 +187,14 @@ public partial class PCState : UnitState
if (InputManager.Instance.TryCommand(0.5f, false, KeyCode.J))
{
ChangeState(EUnitState.AirAttack, new SkillParam());
+ yield break;
}
}
if (isAnimationReachEnd || isAnimationReachEndPoint)
{
- ChangeState(EUnitState.Landing, new LandingParam());
+ ChangeState(EUnitState.Landing, new LandingParam());
+ yield break;
}
yield return null;
}
@@ -228,14 +233,15 @@ public partial class PCState : UnitState
m_Owner.pcAnimation.AnimAirAttack(id++);
id %= total;
- yield return null; // 等待animator更新
+ //yield return null; // 等待animator更新
yield return new WaitForTransitionDone(m_Owner.pcAnimation);
}
}
if (isAnimationReachEnd)
{
- ChangeState(EUnitState.Landing, new LandingParam());
+ ChangeState(EUnitState.Landing, new LandingParam());
+ yield break;
}
yield return null;
@@ -259,7 +265,8 @@ public partial class PCState : UnitState
{
if (isAnimationReachEnd)
{
- ChangeState(EUnitState.Landing, new LandingParam());
+ ChangeState(EUnitState.Landing, new LandingParam());
+ yield break;
}
TryTianyin();
@@ -271,7 +278,8 @@ public partial class PCState : UnitState
if (Input.GetKeyDown("j"))
{
TryTurnAround();
- ChangeState(EUnitState.AirAttack, new SkillParam());
+ ChangeState(EUnitState.AirAttack, new SkillParam());
+ yield break;
}
}
@@ -298,18 +306,24 @@ public partial class PCState : UnitState
{
TurnLeft();
ChangeState(EUnitState.AirDash, new AirDashParam());
+ yield break;
}
if (InputManager.Instance.TryCommand(0.5f, KeyCode.D, KeyCode.D))
{
TurnRight();
ChangeState(EUnitState.AirDash, new AirDashParam());
+ yield break;
}
- if (isAnimationReachEnd)
+ if (isAnimationReachEnd)
+ {
ChangeState(EUnitState.Landing, new LandingParam());
+ yield break;
+ }
bool canAttack = m_Owner.pcAnimation.baseLayer.IsToggleOpen(EAnimationToogle.Combo);
if (Input.GetKeyDown("j") && canAttack)
{
- ChangeState(EUnitState.AirAttack, new SkillParam());
+ ChangeState(EUnitState.AirAttack, new SkillParam());
+ yield break;
}
yield return null;
}
@@ -361,6 +375,7 @@ public partial class PCState : UnitState
if (Input.GetKeyDown("j"))
{
ChangeState(EUnitState.AirAttack, new SkillParam());
+ yield break;
}
m_Owner.transform.position = pos;
@@ -374,7 +389,8 @@ public partial class PCState : UnitState
{
pos.y = 0;
m_Owner.transform.position = pos;
- ChangeState(EUnitState.Idle, new IdleParam());
+ ChangeState(EUnitState.Idle, new IdleParam());
+ yield break;
}
yield return null;
diff --git a/Erika/Assets/Scripts/Unit/Components/UnitState/UnitState.cs b/Erika/Assets/Scripts/Unit/Components/UnitState/UnitState.cs
index ff42c2be..2d39f606 100644
--- a/Erika/Assets/Scripts/Unit/Components/UnitState/UnitState.cs
+++ b/Erika/Assets/Scripts/Unit/Components/UnitState/UnitState.cs
@@ -4,7 +4,10 @@ using System.Collections;
using System.Collections.Generic;
using UnityEngine;
-// 角色状态机
+
+/// <summary>
+/// 角色状态机
+/// </summary>
[DisallowMultipleComponent]
public class UnitState : UnitComponent
{
diff --git a/Erika/Assets/Scripts/Unit/UnitRootMotion.cs b/Erika/Assets/Scripts/Unit/UnitRootMotion.cs
index 5234daab..e920fff8 100644
--- a/Erika/Assets/Scripts/Unit/UnitRootMotion.cs
+++ b/Erika/Assets/Scripts/Unit/UnitRootMotion.cs
@@ -5,7 +5,9 @@ using UnityEngine;
using UnityEditor;
#endif
-// 同步root motion到角色根节点
+/// <summary>
+/// 同步root motion到角色根节点
+/// </summary>
[DisallowMultipleComponent]
public class UnitRootMotion : UnitComponent
{
@@ -108,7 +110,7 @@ public class UnitRootMotion : UnitComponent
}
else
{
- // 因为Unti被旋转了90度,所以这里的deltaPosition的forward是x方向了
+ // 因为Unit被旋转了90度,所以这里的deltaPosition的forward是x方向了
Vector3 dest = m_Owner.unitAnimation.animator.deltaPosition;
dest.z = 0;
var state = m_Owner.unitAnimation.baseLayer.stateInfo;
diff --git a/Erika/Assets/Scripts/Utils/LogHelper.cs b/Erika/Assets/Scripts/Utils/LogHelper.cs
index 6dc89921..8120fff6 100644
--- a/Erika/Assets/Scripts/Utils/LogHelper.cs
+++ b/Erika/Assets/Scripts/Utils/LogHelper.cs
@@ -8,13 +8,21 @@ public static class LogHelper
{
Debug.LogError(msg);
}
+ public static void LogError(LogTag tag, string msg)
+ {
+ LogError(tag.ToString(), msg);
+ }
- public static void LogError(string tag, string msg)
+ private static void LogError(string tag, string msg)
{
Debug.LogError("[" + tag + "]" + msg);
- }
-
- public static void Log(string tag, string msg)
+ }
+
+ private static void Log(LogTag tag, string msg)
+ {
+ Log(tag.ToString(), msg);
+ }
+ private static void Log(string tag, string msg)
{
Debug.Log("[" + tag + "]" + msg);
}
diff --git a/Erika/Assets/Scripts/Utils/LogTag.cs b/Erika/Assets/Scripts/Utils/LogTag.cs
new file mode 100644
index 00000000..149003b7
--- /dev/null
+++ b/Erika/Assets/Scripts/Utils/LogTag.cs
@@ -0,0 +1,9 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public enum LogTag
+{
+ Resources,
+ UnitAnimation,
+}
diff --git a/Erika/Assets/Scripts/Utils/LogTag.cs.meta b/Erika/Assets/Scripts/Utils/LogTag.cs.meta
new file mode 100644
index 00000000..90f5c01c
--- /dev/null
+++ b/Erika/Assets/Scripts/Utils/LogTag.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 84bf58e889c329d45855f73d81d86cf0
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: