diff options
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: |