Compare commits
37 Commits
maint/upda
...
e1aef3b2d1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e1aef3b2d1 | ||
|
|
94ecc01074 | ||
|
|
3525f5fc47 | ||
|
|
14ea2c64dc | ||
|
|
b19421adfc | ||
|
|
20c8b2b8c3 | ||
|
|
4943c02125 | ||
|
|
cf70287797 | ||
|
|
4bd307fba8 | ||
|
|
e49909580c | ||
|
|
30509b3714 | ||
|
|
8919a69e50 | ||
|
|
ed4298b1da | ||
|
|
8b9d2c21ce | ||
|
|
ea048be111 | ||
|
|
e7b72520c0 | ||
|
|
4cf9054e88 | ||
|
|
d75946de65 | ||
|
|
1a8c2fc601 | ||
|
|
0cb32eb498 | ||
|
|
88803c9b86 | ||
|
|
68fe0e3413 | ||
|
|
fa810bf970 | ||
|
|
a6182cd066 | ||
|
|
fb515ed1cf | ||
|
|
f0a99253e5 | ||
|
|
2203b0323b | ||
|
|
fd06b6c45b | ||
|
|
f1dee5c0e4 | ||
|
|
958c57bdc0 | ||
|
|
f4714db41b | ||
|
|
129a5226c5 | ||
|
|
392f24a916 | ||
|
|
0cb88b8fc6 | ||
|
|
2c88685990 | ||
|
|
625db5cb74 | ||
|
|
5ce787251d |
8
Assets/Enemies/Common.meta
Normal file
8
Assets/Enemies/Common.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a8c20c1d5366e204294376ef8fdc0f9b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Enemies/Common/Graphs.meta
Normal file
8
Assets/Enemies/Common/Graphs.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e1922a71f51212f4287f9dfed61d5038
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
38
Assets/Enemies/Common/Graphs/BasicEnemyFSM.asset
Normal file
38
Assets/Enemies/Common/Graphs/BasicEnemyFSM.asset
Normal file
@@ -0,0 +1,38 @@
|
||||
%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: f945e777233a59f4aba40aeca29093a6, type: 3}
|
||||
m_Name: BasicEnemyFSM
|
||||
m_EditorClassIdentifier: NodeCanvas::NodeCanvas.StateMachines.FSM
|
||||
_serializedGraph: '{"type":"NodeCanvas.StateMachines.FSM","nodes":[{"_actionList":{"executionMode":1,"actions":[]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_position":{"x":522.1997,"y":608.5296},"$type":"NodeCanvas.StateMachines.ActionState","$id":"0"},{"_onEnterList":{"executionMode":1,"actions":[{"minValue":{"_value":2.0},"maxValue":{"_value":8.0},"floatVariable":{"_name":"_wanderTimer"},"$type":"NodeCanvas.Tasks.Actions.SetFloatRandom"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_name":"Wander
|
||||
Stand-by","_position":{"x":83.0,"y":289.0},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"1"},{"_onEnterList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
||||
Speed","changeValue":{"_value":1},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"acceleration":{"label":"Acceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"deacceleration":{"label":"Deacceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeMoveSpeedSettings"},{"newSpeed":{},"absolute":{},"relativity":{},"$type":"Reset.Units.SetNewSpeed"},{"log":{"_value":"!?"},"secondsToRun":3.0,"verboseMode":2,"$type":"NodeCanvas.Tasks.Actions.DebugLogText"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_name":"Detect","_position":{"x":486.012,"y":-16.01074},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"2"},{"_actionList":{"executionMode":1,"actions":[{"log":{"_value":"Entering
|
||||
Combat!"},"$type":"NodeCanvas.Tasks.Actions.DebugLogText"}]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_name":"Enter
|
||||
Combat","_position":{"x":757.0,"y":-95.0},"$type":"NodeCanvas.StateMachines.ActionState","$id":"3"},{"_nestedFSM":{"_value":1},"_variablesMap":[],"_name":"In
|
||||
Combat","_position":{"x":969.3454,"y":362.9611},"$type":"NodeCanvas.StateMachines.NestedFSMState","$id":"4"},{"_actionList":{"executionMode":1,"actions":[{"$type":"Reset.Units.SetWanderingPath"},{"minValue":{"_value":2.0},"maxValue":{"_value":7.0},"floatVariable":{"_name":"_newSpeed"},"$type":"NodeCanvas.Tasks.Actions.SetFloatRandom"},{"moveSpeed":{"label":"Move
|
||||
Speed","changeValue":{"_value":1},"value":{"_name":"_newSpeed"},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"acceleration":{"label":"Acceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"deacceleration":{"label":"Deacceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeMoveSpeedSettings"},{"newSpeed":{"_name":"_newSpeed"},"absolute":{},"relativity":{},"$type":"Reset.Units.SetNewSpeed"}]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_name":"Get
|
||||
New Wandering Path","_position":{"x":-134.0,"y":112.0},"$type":"NodeCanvas.StateMachines.ActionState","$id":"5"}],"connections":[{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"New
|
||||
Target Detected"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent"},"_sourceNode":{"$ref":"1"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_name":"_wanderTimer"},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"1"},"_targetNode":{"$ref":"5"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Drop
|
||||
Target"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent"},"_sourceNode":{"$ref":"2"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Enter
|
||||
Combat"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent"},"_sourceNode":{"$ref":"2"},"_targetNode":{"$ref":"3"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"4"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Drop
|
||||
Target"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent"},"_sourceNode":{"$ref":"4"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"5"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.StateMachines.FSMConnection"}],"canvasGroups":[],"localBlackboard":{"_variables":{"testModelAnimator":{"_propertyPath":"Reset.Units.Enemy.testModelAnimator","_name":"testModelAnimator","_id":"2a36b4ca-c66b-4748-9a01-d054a460e3d3","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Animator,
|
||||
UnityEngine.AnimationModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}}}'
|
||||
_objectReferences:
|
||||
- {fileID: 0}
|
||||
- {fileID: 11400000, guid: 66d780be76d914c40afd1b3f00df719f, type: 2}
|
||||
_graphSource:
|
||||
_version: 3.31
|
||||
_category:
|
||||
_comments:
|
||||
_translation: {x: 211, y: 477}
|
||||
_zoomFactor: 1
|
||||
_haltSerialization: 0
|
||||
_externalSerializationFile: {fileID: 0}
|
||||
8
Assets/Enemies/Common/Graphs/BasicEnemyFSM.asset.meta
Normal file
8
Assets/Enemies/Common/Graphs/BasicEnemyFSM.asset.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: db5b23d2ee7fffd49a42d5a120c50e94
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Enemies/Common/Objects.meta
Normal file
8
Assets/Enemies/Common/Objects.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 717eeaae5ccb8b34bbe93512227416db
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Enemies/Common/Objects/Indicators.meta
Normal file
8
Assets/Enemies/Common/Objects/Indicators.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 65922d5482567c4438490f2daa2e383c
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
219
Assets/Enemies/Common/Objects/Indicators/ExclamationMark.prefab
Normal file
219
Assets/Enemies/Common/Objects/Indicators/ExclamationMark.prefab
Normal file
@@ -0,0 +1,219 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &7595955851654214122
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7357363522575628893}
|
||||
- component: {fileID: 3878897285376443062}
|
||||
- component: {fileID: 3271418503839131048}
|
||||
- component: {fileID: 4668686414587800026}
|
||||
- component: {fileID: 6755264634504389795}
|
||||
m_Layer: 0
|
||||
m_Name: ExclamationMark
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7357363522575628893
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7595955851654214122}
|
||||
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}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 1.22}
|
||||
m_SizeDelta: {x: 0, y: 5}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!23 &3878897285376443062
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7595955851654214122}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &3271418503839131048
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7595955851654214122}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshPro
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: '!?'
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: -1183493901
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 11.8
|
||||
m_fontSizeBase: 11.8
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 1
|
||||
m_HorizontalAlignment: 1
|
||||
m_VerticalAlignment: 256
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: -14.26
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 0
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
_SortingLayer: 0
|
||||
_SortingLayerID: 0
|
||||
_SortingOrder: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_renderer: {fileID: 3878897285376443062}
|
||||
m_maskType: 0
|
||||
--- !u!95 &4668686414587800026
|
||||
Animator:
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7595955851654214122}
|
||||
m_Enabled: 1
|
||||
m_Avatar: {fileID: 0}
|
||||
m_Controller: {fileID: 9100000, guid: b0d0b000545ecec4b9c657057baeb7e4, type: 2}
|
||||
m_CullingMode: 0
|
||||
m_UpdateMode: 0
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!114 &6755264634504389795
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7595955851654214122}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.ContentSizeFitter
|
||||
m_HorizontalFit: 2
|
||||
m_VerticalFit: 0
|
||||
@@ -1,6 +1,6 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3c37fe734c185fc48b50bb4fc19e7537
|
||||
AssemblyDefinitionImporter:
|
||||
guid: b6dcd93d4b0078d4c880649baec74f40
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
@@ -0,0 +1,101 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1102 &-6389478973801479273
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: IndicatorEnter
|
||||
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: 7711a26d68cffd248bcc3967c32653c0, type: 2}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1107 &-5321450900668886657
|
||||
AnimatorStateMachine:
|
||||
serializedVersion: 6
|
||||
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: -6389478973801479273}
|
||||
m_Position: {x: 300, y: 120, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 5234090493750268403}
|
||||
m_Position: {x: 310, y: 10, 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: -6389478973801479273}
|
||||
--- !u!91 &9100000
|
||||
AnimatorController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: IndicatorAnimController
|
||||
serializedVersion: 5
|
||||
m_AnimatorParameters: []
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
m_StateMachine: {fileID: -5321450900668886657}
|
||||
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!1102 &5234090493750268403
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
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: []
|
||||
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: 0}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b0d0b000545ecec4b9c657057baeb7e4
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 9100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
360
Assets/Enemies/Common/Objects/Indicators/IndicatorEnter.anim
Normal file
360
Assets/Enemies/Common/Objects/Indicators/IndicatorEnter.anim
Normal file
@@ -0,0 +1,360 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!74 &7400000
|
||||
AnimationClip:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: IndicatorEnter
|
||||
serializedVersion: 7
|
||||
m_Legacy: 0
|
||||
m_Compressed: 0
|
||||
m_UseHighQualityCurve: 1
|
||||
m_RotationCurves: []
|
||||
m_CompressedRotationCurves: []
|
||||
m_EulerCurves: []
|
||||
m_PositionCurves: []
|
||||
m_ScaleCurves:
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: {x: 0.3, y: 0.3, z: 1}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 0.11666667
|
||||
value: {x: 0.69593775, y: 1.16, z: 1}
|
||||
inSlope: {x: -3.1875036, y: 4.199999, z: 0}
|
||||
outSlope: {x: -3.1875036, y: 4.199999, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 0.13333334
|
||||
value: {x: 0.6, y: 1.3, z: 1}
|
||||
inSlope: {x: -8.528585, y: 21.762453, z: 0}
|
||||
outSlope: {x: -8.528585, y: 21.762453, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.41591632, y: 0.29147545, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 0.2
|
||||
value: {x: 1, y: 1, z: 1}
|
||||
inSlope: {x: -46.31948, y: 55.196556, z: 0}
|
||||
outSlope: {x: -46.31948, y: 55.196556, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.37912178, y: 0.29860118, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
path:
|
||||
m_FloatCurves:
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0.2
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_AnchoredPosition.x
|
||||
path:
|
||||
classID: 224
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 3
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.11666667
|
||||
value: 1.5
|
||||
inSlope: -58.648453
|
||||
outSlope: -58.648453
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.25934553
|
||||
- serializedVersion: 3
|
||||
time: 0.2
|
||||
value: 1.22
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_AnchoredPosition.y
|
||||
path:
|
||||
classID: 224
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
m_PPtrCurves: []
|
||||
m_SampleRate: 60
|
||||
m_WrapMode: 0
|
||||
m_Bounds:
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
m_Extent: {x: 0, y: 0, z: 0}
|
||||
m_ClipBindingConstant:
|
||||
genericBindings:
|
||||
- serializedVersion: 2
|
||||
path: 0
|
||||
attribute: 3
|
||||
script: {fileID: 0}
|
||||
typeID: 4
|
||||
customType: 0
|
||||
isPPtrCurve: 0
|
||||
isIntCurve: 0
|
||||
isSerializeReferenceCurve: 0
|
||||
- serializedVersion: 2
|
||||
path: 0
|
||||
attribute: 538195251
|
||||
script: {fileID: 0}
|
||||
typeID: 224
|
||||
customType: 28
|
||||
isPPtrCurve: 0
|
||||
isIntCurve: 0
|
||||
isSerializeReferenceCurve: 0
|
||||
- serializedVersion: 2
|
||||
path: 0
|
||||
attribute: 1460864421
|
||||
script: {fileID: 0}
|
||||
typeID: 224
|
||||
customType: 28
|
||||
isPPtrCurve: 0
|
||||
isIntCurve: 0
|
||||
isSerializeReferenceCurve: 0
|
||||
pptrCurveMapping: []
|
||||
m_AnimationClipSettings:
|
||||
serializedVersion: 2
|
||||
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||
m_AdditiveReferencePoseTime: 0
|
||||
m_StartTime: 0
|
||||
m_StopTime: 0.2
|
||||
m_OrientationOffsetY: 0
|
||||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
m_HasAdditiveReferencePose: 0
|
||||
m_LoopTime: 0
|
||||
m_LoopBlend: 0
|
||||
m_LoopBlendOrientation: 0
|
||||
m_LoopBlendPositionY: 0
|
||||
m_LoopBlendPositionXZ: 0
|
||||
m_KeepOriginalOrientation: 0
|
||||
m_KeepOriginalPositionY: 1
|
||||
m_KeepOriginalPositionXZ: 0
|
||||
m_HeightFromFeet: 0
|
||||
m_Mirror: 0
|
||||
m_EditorCurves:
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0.2
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_AnchoredPosition.x
|
||||
path:
|
||||
classID: 224
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 3
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.11666667
|
||||
value: 1.5
|
||||
inSlope: -58.648453
|
||||
outSlope: -58.648453
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.25934553
|
||||
- serializedVersion: 3
|
||||
time: 0.2
|
||||
value: 1.22
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_AnchoredPosition.y
|
||||
path:
|
||||
classID: 224
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0.3
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.13333334
|
||||
value: 0.6
|
||||
inSlope: -8.528585
|
||||
outSlope: -8.528585
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.41591632
|
||||
- serializedVersion: 3
|
||||
time: 0.2
|
||||
value: 1
|
||||
inSlope: -46.31948
|
||||
outSlope: -46.31948
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.37912178
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalScale.x
|
||||
path:
|
||||
classID: 224
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0.3
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.11666667
|
||||
value: 1.16
|
||||
inSlope: 4.199999
|
||||
outSlope: 4.199999
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.13333334
|
||||
value: 1.3
|
||||
inSlope: 21.762453
|
||||
outSlope: 21.762453
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.29147545
|
||||
- serializedVersion: 3
|
||||
time: 0.2
|
||||
value: 1
|
||||
inSlope: 55.196556
|
||||
outSlope: 55.196556
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.29860118
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalScale.y
|
||||
path:
|
||||
classID: 224
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.2
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalScale.z
|
||||
path:
|
||||
classID: 224
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
m_EulerEditorCurves: []
|
||||
m_HasGenericRootTransform: 0
|
||||
m_HasMotionFloatCurves: 0
|
||||
m_Events: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7711a26d68cffd248bcc3967c32653c0
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,43 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1107 &-6638317236673258601
|
||||
AnimatorStateMachine:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Base Layer
|
||||
m_ChildStates: []
|
||||
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: 0}
|
||||
--- !u!91 &9100000
|
||||
AnimatorController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: TestMonsterObjectAnimController 1
|
||||
serializedVersion: 5
|
||||
m_AnimatorParameters: []
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
m_StateMachine: {fileID: -6638317236673258601}
|
||||
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}
|
||||
8
Assets/Enemies/TestEnemy.meta
Normal file
8
Assets/Enemies/TestEnemy.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 12c7925108f654a45b1ec44f92291312
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Enemies/TestEnemy/Attacks.meta
Normal file
8
Assets/Enemies/TestEnemy/Attacks.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 70d4c7427170df94e82ed19fa584ad86
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
31
Assets/Enemies/TestEnemy/Attacks/TestEnemySimpleSwipe.asset
Normal file
31
Assets/Enemies/TestEnemy/Attacks/TestEnemySimpleSwipe.asset
Normal file
@@ -0,0 +1,31 @@
|
||||
%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: 7a686a47eee2fa44cb0a34b5d86e4d5e, type: 3}
|
||||
m_Name: TestEnemySimpleSwipe
|
||||
m_EditorClassIdentifier: NodeCanvas::NodeCanvas.BehaviourTrees.BehaviourTree
|
||||
_serializedGraph: '{"type":"NodeCanvas.BehaviourTrees.BehaviourTree","nodes":[{"_position":{"x":670.0,"y":446.0},"$type":"NodeCanvas.BehaviourTrees.Sequencer","$id":"0"},{"_action":{"actions":[{"saveAs":{"_name":"_self"},"$type":"NodeCanvas.Tasks.Actions.GetSelf"},{"damage":{"_value":10.0},"source":{"_name":"_self"},"outputDamageSource":{"_name":"attackDamageSource","_targetVariableID":"c76cbb79-02a3-44dc-aea2-bae05b9700f1"},"$type":"Reset.Core.CreateDamageSource"}],"$type":"NodeCanvas.Framework.ActionList"},"_position":{"x":237.0,"y":634.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"1"},{"_action":{"actions":[{"parameter":{"_value":"Attack"},"parameterHashID":{},"$type":"NodeCanvas.Tasks.Actions.MecanimSetTrigger"},{"parameter":{"_value":"Attack"},"parameterHashID":{},"overrideAgent":{"_type":"UnityEngine.Animator","_name":"modelAnimator","_targetVariableID":"5c66985d-3dce-49ff-a5eb-fb807771b577"},"$type":"NodeCanvas.Tasks.Actions.MecanimSetTrigger"}],"$type":"NodeCanvas.Framework.ActionList"},"_position":{"x":468.0,"y":631.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"2"},{"conditionFailReturn":1,"_condition":{"castType":{"_value":1},"length":{"_value":1.0},"direction":{"_value":{"z":1.0}},"offset":{"_value":{"z":1.0}},"ignoreLayers":{"_value":{"value":1}},"width":{},"size":{"_value":{"x":2.5,"y":2.5,"z":2.5}},"rotation":{},"drawGizmos":true,"drawGizmosOnlyWhenActive":true,"outputHit":{"_name":"_hit"},"outputHitArray":{"_name":"hitTargets","_targetVariableID":"399e9260-1d4f-4ce4-af7d-6790ae65a5aa"},"$type":"Reset.CheckGenericObserver"},"_position":{"x":707.0,"y":631.0},"$type":"NodeCanvas.BehaviourTrees.ConditionalEvaluator","$id":"3"},{"targetList":{"_name":"hitTargets","_targetVariableID":"399e9260-1d4f-4ce4-af7d-6790ae65a5aa"},"current":{"_type":"UnityEngine.Collider","_name":"_hitCurrentElement"},"storeIndex":{"_name":"_index"},"maxIteration":{"_value":-1},"_position":{"x":748.0,"y":747.0},"$type":"NodeCanvas.BehaviourTrees.Iterator","$id":"4"},{"_action":{"actions":[{"targetList":{"_name":"draggedEnemies","_targetVariableID":"23a630b7-8a16-4b7a-9425-b908ce8636e1"},"targetElement":{"_name":"_hitCurrentElement"},"$type":"NodeCanvas.Tasks.Actions.AddElementToList`1[[UnityEngine.Collider,
|
||||
UnityEngine.PhysicsModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},{"targets":{"_name":"hitTargets","_targetVariableID":"399e9260-1d4f-4ce4-af7d-6790ae65a5aa"},"damageSource":{"_name":"attackDamageSource","_targetVariableID":"c76cbb79-02a3-44dc-aea2-bae05b9700f1"},"$type":"Reset.Core.DealDamage"}],"$type":"NodeCanvas.Framework.ActionList"},"_position":{"x":678.9961,"y":880.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"5"},{"_action":{"waitTime":{"_value":0.1},"$type":"NodeCanvas.Tasks.Actions.Wait"},"_position":{"x":913.0,"y":633.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"6"}],"connections":[{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"3"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"6"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"4"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"4"},"_targetNode":{"$ref":"5"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"}],"canvasGroups":[],"localBlackboard":{"_variables":{"bodyAnimator":{"_name":"bodyAnimator","_id":"c96d2e2b-e09d-4abc-a287-3e6821b42c4b","_isPublic":true,"$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Animator,
|
||||
UnityEngine.AnimationModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"hitTargets":{"_name":"hitTargets","_id":"399e9260-1d4f-4ce4-af7d-6790ae65a5aa","$type":"NodeCanvas.Framework.Variable`1[[System.Collections.Generic.List`1[[UnityEngine.Collider,
|
||||
UnityEngine.PhysicsModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]],
|
||||
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},"attackDamageSource":{"_name":"attackDamageSource","_id":"c76cbb79-02a3-44dc-aea2-bae05b9700f1","$type":"NodeCanvas.Framework.Variable`1[[Reset.Core.DamageSource,
|
||||
Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"draggedEnemies":{"_name":"draggedEnemies","_id":"23a630b7-8a16-4b7a-9425-b908ce8636e1","$type":"NodeCanvas.Framework.Variable`1[[System.Collections.Generic.List`1[[UnityEngine.Collider,
|
||||
UnityEngine.PhysicsModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]],
|
||||
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}}},"derivedData":{"repeat":true,"$type":"NodeCanvas.BehaviourTrees.BehaviourTree+DerivedSerializationData"}}'
|
||||
_objectReferences: []
|
||||
_graphSource:
|
||||
_version: 3.31
|
||||
_category:
|
||||
_comments:
|
||||
_translation: {x: -180, y: -112}
|
||||
_zoomFactor: 1
|
||||
_haltSerialization: 0
|
||||
_externalSerializationFile: {fileID: 0}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ef911f8ce63263d4cafc6ca3a8b30a1f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Enemies/TestEnemy/Graphs.meta
Normal file
8
Assets/Enemies/TestEnemy/Graphs.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e48aad2c970756245bf7d8bae680cba7
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
35
Assets/Enemies/TestEnemy/Graphs/TestEnemyCombatFSM.asset
Normal file
35
Assets/Enemies/TestEnemy/Graphs/TestEnemyCombatFSM.asset
Normal file
@@ -0,0 +1,35 @@
|
||||
%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: f945e777233a59f4aba40aeca29093a6, type: 3}
|
||||
m_Name: TestEnemyCombatFSM
|
||||
m_EditorClassIdentifier: NodeCanvas::NodeCanvas.StateMachines.FSM
|
||||
_serializedGraph: '{"type":"NodeCanvas.StateMachines.FSM","nodes":[{"_actionList":{"executionMode":1,"actions":[{"pauseIntervalRange":{"_value":{"x":1.0,"y":3.0}},"unpauseIntervalRange":{"_value":{"x":1.0,"y":3.0}},"speedRange":{"_value":{"x":1.0,"y":3.0}},"speedChangeIntervalRange":{"_value":{"x":1.0,"y":3.0}},"speedSmoothing":{"_value":0.5},"strafeDirectionChangeInterval":{"_value":{"x":1.0,"y":3.0}},"directionSmoothing":{"_value":0.5},"$type":"Reset.Units.CircleTarget"}]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_name":"Circling
|
||||
Movement","_position":{"x":589.0,"y":144.0},"$type":"NodeCanvas.StateMachines.ActionState","$id":"0"},{"_name":"Try
|
||||
to Attack","_position":{"x":805.0,"y":384.0},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"1"},{"_nestedBT":{"_value":1},"executionMode":0,"_variablesMap":[{"_targetSubGraphVariableID":"c96d2e2b-e09d-4abc-a287-3e6821b42c4b","_canWrite":true,"_type":"UnityEngine.Animator","_name":"bodyAnimator","_targetVariableID":"00b78a8a-fb9e-44d0-b9a8-81c6992abd41"}],"_position":{"x":1006.0,"y":208.0},"$type":"NodeCanvas.StateMachines.NestedBTState","$id":"2"},{"_onEnterList":{"executionMode":1,"actions":[{"value":{"_value":true},"$type":"Reset.Units.TogglePathfinding"},{"target":{"_name":"target","_targetVariableID":"4a2889be-2a8a-4a68-ab49-fa456e2c9a19"},"$type":"Reset.Units.SetNewPathfindingPath"}]},"_onUpdateList":{"executionMode":1,"actions":[{"target":{"_name":"target","_targetVariableID":"4a2889be-2a8a-4a68-ab49-fa456e2c9a19"},"useTimer":true,"$type":"Reset.Units.SetNewPathfindingPath"}]},"_onExitList":{"executionMode":1,"actions":[{"value":{},"$type":"Reset.Units.TogglePathfinding"}]},"foldExit":true,"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_name":"Walk
|
||||
To Target","_position":{"x":306.0,"y":-148.0},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"3"},{"_actionList":{"executionMode":1,"actions":[]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_name":"Target
|
||||
Too Close","_position":{"x":318.0,"y":369.0},"$type":"NodeCanvas.StateMachines.ActionState","$id":"4"},{"_conditionList":{"conditions":[]},"_actionList":{"executionMode":1,"actions":[{"facingDirection":{"label":"Facing
|
||||
Direction","value":{"_value":{"$content":0,"$type":"Reset.Units.UnitFacingDirection"}},"changeValue":{"_value":1}},"rotationSpeed":{"label":"Rotation
|
||||
Speed","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeRotationSettings"},{"value":{},"$type":"Reset.Units.TogglePathfinding"},{"moveSpeed":{"label":"Move
|
||||
Speed","changeValue":{"_value":1},"value":{"_value":3.0},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"acceleration":{"label":"Acceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"deacceleration":{"label":"Deacceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeMoveSpeedSettings"}]},"_position":{"x":759.0,"y":-54.0},"$type":"NodeCanvas.StateMachines.OnFSMEnter"}],"connections":[{"_condition":{"timeout":{"_value":1.0},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"target":{"_name":"target","_targetVariableID":"4a2889be-2a8a-4a68-ab49-fa456e2c9a19"},"maxDistance":{"_value":15.0},"layerMask":{"_value":{"value":255}},"awarnessDistance":{},"viewAngle":{"_value":90.0},"_invert":true,"$type":"NodeCanvas.Tasks.Conditions.CanSeeTarget"},{"checkTarget":{"_name":"target","_targetVariableID":"4a2889be-2a8a-4a68-ab49-fa456e2c9a19"},"checkType":1,"distance":{"_value":10.0},"$type":"NodeCanvas.Tasks.Conditions.CheckDistanceToGameObject"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"3"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"checkTarget":{"_name":"target","_targetVariableID":"4a2889be-2a8a-4a68-ab49-fa456e2c9a19"},"distance":{"_value":2.0},"$type":"NodeCanvas.Tasks.Conditions.CheckDistanceToGameObject"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"4"},"_isDisabled":true,"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"probability":{"_value":1.0},"maxValue":{"_value":10.0},"$type":"NodeCanvas.Tasks.Conditions.Probability"},"_sourceNode":{"$ref":"1"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"1"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"2"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"target":{"_name":"target","_targetVariableID":"4a2889be-2a8a-4a68-ab49-fa456e2c9a19"},"maxDistance":{"_value":15.0},"layerMask":{"_value":{"value":255}},"awarnessDistance":{},"viewAngle":{"_value":90.0},"$type":"NodeCanvas.Tasks.Conditions.CanSeeTarget"},{"checkTarget":{"_name":"target","_targetVariableID":"4a2889be-2a8a-4a68-ab49-fa456e2c9a19"},"distance":{"_value":10.0},"$type":"NodeCanvas.Tasks.Conditions.CheckDistanceToGameObject"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"}],"canvasGroups":[],"localBlackboard":{"_variables":{"testModelAnimator":{"_name":"testModelAnimator","_id":"7222df40-dd9e-41ce-a85a-a5221009180e","_isPublic":true,"$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Animator,
|
||||
UnityEngine.AnimationModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"bodyAnimator":{"_name":"bodyAnimator","_id":"00b78a8a-fb9e-44d0-b9a8-81c6992abd41","_isPublic":true,"$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Animator,
|
||||
UnityEngine.AnimationModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}}}'
|
||||
_objectReferences:
|
||||
- {fileID: 0}
|
||||
- {fileID: 11400000, guid: ef911f8ce63263d4cafc6ca3a8b30a1f, type: 2}
|
||||
_graphSource:
|
||||
_version: 3.31
|
||||
_category:
|
||||
_comments:
|
||||
_translation: {x: 377, y: 365}
|
||||
_zoomFactor: 0.6233522
|
||||
_haltSerialization: 0
|
||||
_externalSerializationFile: {fileID: 0}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 66d780be76d914c40afd1b3f00df719f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
267
Assets/Enemies/TestEnemy/Models/TestMonster/Attack2.anim
Normal file
267
Assets/Enemies/TestEnemy/Models/TestMonster/Attack2.anim
Normal file
@@ -0,0 +1,267 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!74 &7400000
|
||||
AnimationClip:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Attack2
|
||||
serializedVersion: 7
|
||||
m_Legacy: 0
|
||||
m_Compressed: 0
|
||||
m_UseHighQualityCurve: 1
|
||||
m_RotationCurves: []
|
||||
m_CompressedRotationCurves: []
|
||||
m_EulerCurves: []
|
||||
m_PositionCurves:
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: {x: -10.72, y: -0.0000009536743, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 18.418364}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.46313047}
|
||||
- serializedVersion: 3
|
||||
time: 0.41666666
|
||||
value: {x: -10.72, y: -0.0000009536743, z: 3}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 36.96396}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.18476684}
|
||||
- serializedVersion: 3
|
||||
time: 0.78333336
|
||||
value: {x: -10.72, y: -0.0000009536743, z: 6.113785}
|
||||
inSlope: {x: 0, y: 0, z: 4.9565926}
|
||||
outSlope: {x: 0, y: 0, z: 31.988409}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.27278635}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.21229048}
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: {x: -10.72, y: -0.0000009536743, z: 8.987598}
|
||||
inSlope: {x: 0, y: 0, z: 0.8098437}
|
||||
outSlope: {x: 0, y: 0, z: 0.8098437}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 1.1166667
|
||||
value: {x: -10.72, y: -0.0000009536743, z: 8.905767}
|
||||
inSlope: {x: 0, y: 0, z: -0.39450917}
|
||||
outSlope: {x: 0, y: 0, z: -0.39450917}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 1.1833333
|
||||
value: {x: -10.72, y: -0.0000009536743, z: 9}
|
||||
inSlope: {x: 0, y: 0, z: 3.81515}
|
||||
outSlope: {x: 0, y: 0, z: 27.071112}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.22113527}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.24055922}
|
||||
- serializedVersion: 3
|
||||
time: 1.5666667
|
||||
value: {x: -10.72, y: -0.0000009536743, z: 12}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 23.549534}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.3756444}
|
||||
- serializedVersion: 3
|
||||
time: 1.9833333
|
||||
value: {x: -10.72, y: -0.0000009536743, z: 15.442279}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
path:
|
||||
m_ScaleCurves: []
|
||||
m_FloatCurves: []
|
||||
m_PPtrCurves: []
|
||||
m_SampleRate: 60
|
||||
m_WrapMode: 0
|
||||
m_Bounds:
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
m_Extent: {x: 0, y: 0, z: 0}
|
||||
m_ClipBindingConstant:
|
||||
genericBindings:
|
||||
- serializedVersion: 2
|
||||
path: 0
|
||||
attribute: 1
|
||||
script: {fileID: 0}
|
||||
typeID: 4
|
||||
customType: 0
|
||||
isPPtrCurve: 0
|
||||
isIntCurve: 0
|
||||
isSerializeReferenceCurve: 0
|
||||
pptrCurveMapping: []
|
||||
m_AnimationClipSettings:
|
||||
serializedVersion: 2
|
||||
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||
m_AdditiveReferencePoseTime: 0
|
||||
m_StartTime: 0
|
||||
m_StopTime: 1.9833333
|
||||
m_OrientationOffsetY: 0
|
||||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
m_HasAdditiveReferencePose: 0
|
||||
m_LoopTime: 0
|
||||
m_LoopBlend: 0
|
||||
m_LoopBlendOrientation: 0
|
||||
m_LoopBlendPositionY: 0
|
||||
m_LoopBlendPositionXZ: 0
|
||||
m_KeepOriginalOrientation: 0
|
||||
m_KeepOriginalPositionY: 1
|
||||
m_KeepOriginalPositionXZ: 0
|
||||
m_HeightFromFeet: 0
|
||||
m_Mirror: 0
|
||||
m_EditorCurves:
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: -10.72
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: -10.72
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.x
|
||||
path:
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: -0.0000009536743
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1.1166667
|
||||
value: -0.0000009536743
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.y
|
||||
path:
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 18.418364
|
||||
tangentMode: 1
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.46313047
|
||||
- serializedVersion: 3
|
||||
time: 0.41666666
|
||||
value: 3
|
||||
inSlope: 0
|
||||
outSlope: 36.96396
|
||||
tangentMode: 1
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.18476684
|
||||
- serializedVersion: 3
|
||||
time: 0.78333336
|
||||
value: 6.113785
|
||||
inSlope: 4.9565926
|
||||
outSlope: 31.988409
|
||||
tangentMode: 1
|
||||
weightedMode: 0
|
||||
inWeight: 0.27278635
|
||||
outWeight: 0.21229048
|
||||
- serializedVersion: 3
|
||||
time: 1.1833333
|
||||
value: 9
|
||||
inSlope: 3.81515
|
||||
outSlope: 27.071112
|
||||
tangentMode: 1
|
||||
weightedMode: 0
|
||||
inWeight: 0.22113527
|
||||
outWeight: 0.24055922
|
||||
- serializedVersion: 3
|
||||
time: 1.5666667
|
||||
value: 12
|
||||
inSlope: 0
|
||||
outSlope: 23.549534
|
||||
tangentMode: 1
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.3756444
|
||||
- serializedVersion: 3
|
||||
time: 1.9833333
|
||||
value: 15.442279
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.z
|
||||
path:
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
m_EulerEditorCurves: []
|
||||
m_HasGenericRootTransform: 1
|
||||
m_HasMotionFloatCurves: 0
|
||||
m_Events: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8dc4712be321ea2438dcd70a1af48da4
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -26,31 +26,6 @@ AnimatorState:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &-8534861239787951524
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Hit
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -7739802095274071406}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.02
|
||||
m_TransitionOffset: 0.014190764
|
||||
m_ExitTime: 0.0012524996
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 2
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &-7838002281315577225
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
@@ -88,7 +63,7 @@ AnimatorState:
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 6289592108717075239}
|
||||
- {fileID: -2896483219205038615}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
@@ -115,62 +90,69 @@ AnimatorStateMachine:
|
||||
m_ChildStates:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -8894196964764803202}
|
||||
m_Position: {x: 290, y: 400, z: 0}
|
||||
m_Position: {x: 290, y: 540, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -762329493899166440}
|
||||
m_Position: {x: 10, y: 400, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -6331071955438319008}
|
||||
m_Position: {x: 310, y: 90, z: 0}
|
||||
m_Position: {x: 10, y: 540, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -3708334509902770229}
|
||||
m_Position: {x: 560, y: 410, z: 0}
|
||||
m_Position: {x: 560, y: 550, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -853705697146182325}
|
||||
m_Position: {x: 840, y: 410, z: 0}
|
||||
m_Position: {x: 840, y: 550, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 3379675004845603719}
|
||||
m_Position: {x: 300, y: 560, z: 0}
|
||||
m_Position: {x: 300, y: 700, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 2846885752072739483}
|
||||
m_Position: {x: 20, y: 560, z: 0}
|
||||
m_Position: {x: 20, y: 700, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 216270272570043207}
|
||||
m_Position: {x: 580, y: 570, z: 0}
|
||||
m_Position: {x: 580, y: 710, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -7838002281315577225}
|
||||
m_Position: {x: 860, y: 570, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 2674828334277978819}
|
||||
m_Position: {x: -46, y: 308.5, z: 0}
|
||||
m_Position: {x: 860, y: 710, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -7739802095274071406}
|
||||
m_Position: {x: 640, y: 240, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -2129754743114529880}
|
||||
m_Position: {x: 310, y: 0, z: 0}
|
||||
m_Position: {x: 310, y: 110, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 3681834314654821130}
|
||||
m_Position: {x: 640, y: -10, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 5478294846319106365}
|
||||
m_Position: {x: 330, y: -120, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -6278834590196608118}
|
||||
m_Position: {x: 230, y: 260, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 6332575986919065934}
|
||||
m_Position: {x: -68.95941, y: 277.56348, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions: []
|
||||
m_EntryTransitions: []
|
||||
m_AnyStateTransitions:
|
||||
- {fileID: 6050553813420038917}
|
||||
m_EntryTransitions:
|
||||
- {fileID: -6104077598451673648}
|
||||
m_StateMachineTransitions: {}
|
||||
m_StateMachineBehaviours: []
|
||||
m_AnyStatePosition: {x: 50, y: 20, z: 0}
|
||||
m_AnyStatePosition: {x: 250, y: 370, z: 0}
|
||||
m_EntryPosition: {x: 50, y: 120, z: 0}
|
||||
m_ExitPosition: {x: 940, y: 40, z: 0}
|
||||
m_ExitPosition: {x: 1000, y: 170, z: 0}
|
||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||
m_DefaultState: {fileID: -6331071955438319008}
|
||||
--- !u!1102 &-6331071955438319008
|
||||
m_DefaultState: {fileID: -2129754743114529880}
|
||||
--- !u!1102 &-6278834590196608118
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: NewIdle-40
|
||||
m_Speed: 0.2
|
||||
m_Name: Die-60
|
||||
m_Speed: 0.5
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: -8534861239787951524}
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
@@ -180,12 +162,26 @@ AnimatorState:
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: -747295086443886786, guid: 64c95eab532c57d4eb98569c66e7455a, type: 3}
|
||||
m_Motion: {fileID: 8915747620852973273, guid: 64c95eab532c57d4eb98569c66e7455a, type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1109 &-6104077598451673648
|
||||
AnimatorTransition:
|
||||
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: -2129754743114529880}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 1
|
||||
--- !u!1101 &-4872988204597852695
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
@@ -274,6 +270,50 @@ AnimatorState:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &-2896483219205038615
|
||||
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: -2129754743114529880}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.059113443
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &-2879270276895609086
|
||||
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: -2129754743114529880}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.8846154
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &-2129754743114529880
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
@@ -284,7 +324,9 @@ AnimatorState:
|
||||
m_Name: Blend Tree 0
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_Transitions:
|
||||
- {fileID: -1762903771197777033}
|
||||
- {fileID: 5120510497768700528}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
@@ -300,6 +342,31 @@ AnimatorState:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &-1762903771197777033
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Hit
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -7739802095274071406}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.24999994
|
||||
m_TransitionOffset: 0.14040057
|
||||
m_ExitTime: 0.030737108
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &-853705697146182325
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
@@ -353,6 +420,28 @@ AnimatorState:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &-483324057439386864
|
||||
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: 1413696981156420822}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.2500002
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.0007289399
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!91 &9100000
|
||||
AnimatorController:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -374,6 +463,12 @@ AnimatorController:
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Attack
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
@@ -387,6 +482,18 @@ AnimatorController:
|
||||
m_IKPass: 0
|
||||
m_SyncedLayerAffectsTiming: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- serializedVersion: 5
|
||||
m_Name: New Layer
|
||||
m_StateMachine: {fileID: 6830853216154444894}
|
||||
m_Mask: {fileID: 0}
|
||||
m_Motions: []
|
||||
m_Behaviours: []
|
||||
m_BlendingMode: 1
|
||||
m_SyncedLayerIndex: -1
|
||||
m_DefaultWeight: 1
|
||||
m_IKPass: 0
|
||||
m_SyncedLayerAffectsTiming: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
--- !u!1102 &216270272570043207
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
@@ -414,6 +521,55 @@ AnimatorState:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &1413696981156420822
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
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: 1595209839139272091}
|
||||
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: 0}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &1595209839139272091
|
||||
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: 8637122628281323528}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &1884416669882918329
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
@@ -436,32 +592,6 @@ AnimatorStateTransition:
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &2674828334277978819
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Blend Tree
|
||||
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: 9024195164895604365}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &2846885752072739483
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
@@ -537,6 +667,33 @@ AnimatorStateTransition:
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &3681834314654821130
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Attack2-130
|
||||
m_Speed: 1.2
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: -2879270276895609086}
|
||||
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: -6061412660744093124, guid: 64c95eab532c57d4eb98569c66e7455a, type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &4299374430097347064
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
@@ -559,7 +716,58 @@ AnimatorStateTransition:
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &6289592108717075239
|
||||
--- !u!1101 &5120510497768700528
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Attack
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 3681834314654821130}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.5909091
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &5478294846319106365
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Attack-45
|
||||
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: 6410907019033591260, guid: 64c95eab532c57d4eb98569c66e7455a, type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &6050553813420038917
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@@ -568,47 +776,94 @@ AnimatorStateTransition:
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -6331071955438319008}
|
||||
m_DstState: {fileID: -6278834590196608118}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.47
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.25000006
|
||||
m_HasExitTime: 1
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!206 &9024195164895604365
|
||||
BlendTree:
|
||||
--- !u!1102 &6332575986919065934
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Blend Tree
|
||||
m_Childs:
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: -1304387373167265313, guid: 64c95eab532c57d4eb98569c66e7455a, type: 3}
|
||||
m_Threshold: 0
|
||||
m_Position: {x: 0, y: 0}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: -3100369314251171874, guid: 64c95eab532c57d4eb98569c66e7455a, type: 3}
|
||||
m_Threshold: 1
|
||||
m_Position: {x: 0, y: 0}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
m_BlendParameter: Blend
|
||||
m_BlendParameterY: Blend
|
||||
m_MinThreshold: 0
|
||||
m_MaxThreshold: 1
|
||||
m_UseAutomaticThresholds: 1
|
||||
m_NormalizedBlendValues: 0
|
||||
m_BlendType: 0
|
||||
m_Name: New State
|
||||
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: 0}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1107 &6830853216154444894
|
||||
AnimatorStateMachine:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: New Layer
|
||||
m_ChildStates:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 8637122628281323528}
|
||||
m_Position: {x: 500, y: 90, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 1413696981156420822}
|
||||
m_Position: {x: 376.62445, y: 237.36044, 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: 1413696981156420822}
|
||||
--- !u!1102 &8637122628281323528
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Attack2Telegraph-60
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: -483324057439386864}
|
||||
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: -2778899801529699949, guid: 64c95eab532c57d4eb98569c66e7455a, type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
@@ -0,0 +1,156 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1101 &-8701926306649203889
|
||||
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: -7846314796881791032}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.8739496
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &-7846314796881791032
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
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: -1439225884702868440}
|
||||
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: 0}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1107 &-6638317236673258601
|
||||
AnimatorStateMachine:
|
||||
serializedVersion: 6
|
||||
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: 6611013841474026752}
|
||||
m_Position: {x: 340, y: 190, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -7846314796881791032}
|
||||
m_Position: {x: 280, y: 40, 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: -7846314796881791032}
|
||||
--- !u!1101 &-1439225884702868440
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Attack
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 6611013841474026752}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 4
|
||||
m_OrderedInterruption: 0
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!91 &9100000
|
||||
AnimatorController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: TestMonsterObjectAnimController 1
|
||||
serializedVersion: 5
|
||||
m_AnimatorParameters:
|
||||
- m_Name: Attack
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
m_StateMachine: {fileID: -6638317236673258601}
|
||||
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!1102 &6611013841474026752
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Attack2
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: -8701926306649203889}
|
||||
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: 8dc4712be321ea2438dcd70a1af48da4, type: 2}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
@@ -361,8 +361,8 @@ ModelImporter:
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 0
|
||||
loopBlend: 0
|
||||
loopTime: 1
|
||||
loopBlend: 1
|
||||
loopBlendOrientation: 0
|
||||
loopBlendPositionY: 0
|
||||
loopBlendPositionXZ: 0
|
||||
@@ -407,7 +407,7 @@ ModelImporter:
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
isReadable: 0
|
||||
isReadable: 1
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
@@ -12,6 +12,14 @@ GameObject:
|
||||
- component: {fileID: 2562293259993124465}
|
||||
- component: {fileID: 8206397622550667234}
|
||||
- component: {fileID: 5956987736849929195}
|
||||
- component: {fileID: 4447190118606394553}
|
||||
- component: {fileID: 3375213058463339329}
|
||||
- component: {fileID: 6881462958115636691}
|
||||
- component: {fileID: 5075083518210584453}
|
||||
- component: {fileID: 6620953456884791151}
|
||||
- component: {fileID: 6778397863327314458}
|
||||
- component: {fileID: 4799508192264281601}
|
||||
- component: {fileID: -3090026840404744490}
|
||||
m_Layer: 7
|
||||
m_Name: TestMonster
|
||||
m_TagString: Untagged
|
||||
@@ -47,7 +55,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.NetworkObject
|
||||
GlobalObjectIdHash: 972023326
|
||||
GlobalObjectIdHash: 1434729210
|
||||
InScenePlacedSourceGlobalObjectIdHash: 0
|
||||
DeferredDespawnTick: 0
|
||||
Ownership: 1
|
||||
@@ -73,6 +81,77 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Core::Reset.Units.Enemy
|
||||
ShowTopMostFoldoutHeaderGroup: 1
|
||||
graphStateAsString:
|
||||
m_InternalValue:
|
||||
utf8LengthInBytes: 0
|
||||
bytes:
|
||||
offset0000:
|
||||
byte0000: 0
|
||||
byte0001: 0
|
||||
byte0002: 0
|
||||
byte0003: 0
|
||||
byte0004: 0
|
||||
byte0005: 0
|
||||
byte0006: 0
|
||||
byte0007: 0
|
||||
byte0008: 0
|
||||
byte0009: 0
|
||||
byte0010: 0
|
||||
byte0011: 0
|
||||
byte0012: 0
|
||||
byte0013: 0
|
||||
byte0014: 0
|
||||
byte0015: 0
|
||||
offset0016:
|
||||
byte0000: 0
|
||||
byte0001: 0
|
||||
byte0002: 0
|
||||
byte0003: 0
|
||||
byte0004: 0
|
||||
byte0005: 0
|
||||
byte0006: 0
|
||||
byte0007: 0
|
||||
byte0008: 0
|
||||
byte0009: 0
|
||||
byte0010: 0
|
||||
byte0011: 0
|
||||
byte0012: 0
|
||||
byte0013: 0
|
||||
byte0014: 0
|
||||
byte0015: 0
|
||||
offset0032:
|
||||
byte0000: 0
|
||||
byte0001: 0
|
||||
byte0002: 0
|
||||
byte0003: 0
|
||||
byte0004: 0
|
||||
byte0005: 0
|
||||
byte0006: 0
|
||||
byte0007: 0
|
||||
byte0008: 0
|
||||
byte0009: 0
|
||||
byte0010: 0
|
||||
byte0011: 0
|
||||
byte0012: 0
|
||||
byte0013: 0
|
||||
byte0014: 0
|
||||
byte0015: 0
|
||||
byte0048: 0
|
||||
byte0049: 0
|
||||
byte0050: 0
|
||||
byte0051: 0
|
||||
byte0052: 0
|
||||
byte0053: 0
|
||||
byte0054: 0
|
||||
byte0055: 0
|
||||
byte0056: 0
|
||||
byte0057: 0
|
||||
byte0058: 0
|
||||
byte0059: 0
|
||||
byte0060: 0
|
||||
byte0061: 0
|
||||
relatedSpawner: {fileID: 0}
|
||||
testModelAnimator: {fileID: 8332864352631384059}
|
||||
--- !u!114 &5956987736849929195
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -85,14 +164,15 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: b3b4e13d59527d1429a62dde97c6a001, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Core::Reset.Units.UnitMovementHandler
|
||||
ShowTopMostFoldoutHeaderGroup: 1
|
||||
data:
|
||||
directionChangingSoftness:
|
||||
targetValue: 1
|
||||
currentValue: 1
|
||||
targetValue: 5
|
||||
currentValue: 5
|
||||
targetSmoothing: 1
|
||||
targetEasing: 2
|
||||
currentSmoothing: 1
|
||||
defaultValue: 1
|
||||
defaultValue: 5
|
||||
defaultSmoothing: 1
|
||||
defaultEasing: 2
|
||||
directionSpinningHardness:
|
||||
@@ -123,30 +203,30 @@ MonoBehaviour:
|
||||
defaultSmoothing: 1
|
||||
defaultEasing: 2
|
||||
acceleration:
|
||||
targetValue: 5
|
||||
currentValue: 5
|
||||
targetValue: 20
|
||||
currentValue: 20
|
||||
targetSmoothing: 1
|
||||
targetEasing: 2
|
||||
currentSmoothing: 1
|
||||
defaultValue: 5
|
||||
defaultValue: 20
|
||||
defaultSmoothing: 1
|
||||
defaultEasing: 2
|
||||
deacceleration:
|
||||
targetValue: 5
|
||||
currentValue: 5
|
||||
targetValue: 10
|
||||
currentValue: 10
|
||||
targetSmoothing: 1
|
||||
targetEasing: 2
|
||||
currentSmoothing: 1
|
||||
defaultValue: 5
|
||||
defaultValue: 10
|
||||
defaultSmoothing: 1
|
||||
defaultEasing: 2
|
||||
moveSpeed:
|
||||
targetValue: 15
|
||||
currentValue: 15
|
||||
targetValue: 5
|
||||
currentValue: 5
|
||||
targetSmoothing: 10
|
||||
targetEasing: 2
|
||||
currentSmoothing: 10
|
||||
defaultValue: 15
|
||||
defaultValue: 5
|
||||
defaultSmoothing: 10
|
||||
defaultEasing: 2
|
||||
gravityPower:
|
||||
@@ -204,6 +284,231 @@ MonoBehaviour:
|
||||
defaultSmoothing: 1
|
||||
defaultEasing: 2
|
||||
specifiedRotation: {x: 0, y: 0, z: 0}
|
||||
--- !u!95 &4447190118606394553
|
||||
Animator:
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9098724353270996650}
|
||||
m_Enabled: 1
|
||||
m_Avatar: {fileID: 0}
|
||||
m_Controller: {fileID: 9100000, guid: 4f5596a1d63365d4cba1b75587fe5939, type: 2}
|
||||
m_CullingMode: 0
|
||||
m_UpdateMode: 0
|
||||
m_ApplyRootMotion: 1
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!114 &3375213058463339329
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9098724353270996650}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4a7dbb6bbdf4ffb46ab7dd87ba8191e7, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: NodeCanvas::NodeCanvas.StateMachines.FSMOwner
|
||||
_serializedExposedParameters: []
|
||||
_boundGraphSerialization:
|
||||
_boundGraphObjectReferences: []
|
||||
_boundGraphSource:
|
||||
_version: 0
|
||||
_category:
|
||||
_comments:
|
||||
_translation: {x: 0, y: 0}
|
||||
_zoomFactor: 1
|
||||
_firstActivation: 0
|
||||
_enableAction: 0
|
||||
_disableAction: 0
|
||||
_lockBoundGraphPrefabOverrides: 1
|
||||
_preInitializeSubGraphs: 0
|
||||
_updateMode: 0
|
||||
_graph: {fileID: 11400000, guid: db5b23d2ee7fffd49a42d5a120c50e94, type: 2}
|
||||
_blackboard: {fileID: 6881462958115636691}
|
||||
--- !u!114 &6881462958115636691
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9098724353270996650}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b98a6db0b653f764eac834f85857a9dd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: ParadoxNotion::NodeCanvas.Framework.Blackboard
|
||||
_parentBlackboard: {fileID: 0}
|
||||
_serializedBlackboard: '{"_variables":{"bodyAnimator":{"_value":1,"_name":"bodyAnimator","_id":"596577fd-def2-446f-855c-d366b7f6cc67","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Animator,
|
||||
UnityEngine.AnimationModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"modelAnimator":{"_value":2,"_name":"modelAnimator","_id":"5c66985d-3dce-49ff-a5eb-fb807771b577","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Animator,
|
||||
UnityEngine.AnimationModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"target":{"_propertyPath":"Reset.Units.EnemyCombat.target","_name":"target","_id":"4a2889be-2a8a-4a68-ab49-fa456e2c9a19","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.GameObject,
|
||||
UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}}'
|
||||
_objectReferences:
|
||||
- {fileID: 0}
|
||||
- {fileID: 4447190118606394553}
|
||||
- {fileID: 8332864352631384059}
|
||||
_serializedVariables:
|
||||
- _json: '{"_value":1,"_name":"bodyAnimator","_id":"596577fd-def2-446f-855c-d366b7f6cc67","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Animator,
|
||||
UnityEngine.AnimationModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}'
|
||||
_references:
|
||||
- {fileID: 0}
|
||||
- {fileID: 4447190118606394553}
|
||||
- _json: '{"_value":1,"_name":"modelAnimator","_id":"5c66985d-3dce-49ff-a5eb-fb807771b577","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Animator,
|
||||
UnityEngine.AnimationModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}'
|
||||
_references:
|
||||
- {fileID: 0}
|
||||
- {fileID: 8332864352631384059}
|
||||
- _json: '{"_propertyPath":"Reset.Units.EnemyCombat.target","_name":"target","_id":"4a2889be-2a8a-4a68-ab49-fa456e2c9a19","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.GameObject,
|
||||
UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}'
|
||||
_references: []
|
||||
--- !u!114 &5075083518210584453
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9098724353270996650}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 373b52eb9bf8c40f785bb6947a1aee66, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: AstarPathfindingProject::Pathfinding.Seeker
|
||||
version: 1073741824
|
||||
drawGizmos: 1
|
||||
detailedGizmos: 0
|
||||
startEndModifier:
|
||||
addPoints: 0
|
||||
exactStartPoint: 3
|
||||
exactEndPoint: 3
|
||||
useRaycasting: 0
|
||||
mask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
useGraphRaycasting: 0
|
||||
traversableTags: -1
|
||||
tagCostMultipliers:
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
- 1
|
||||
tagEntryCosts: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
graphMask:
|
||||
value: -1
|
||||
--- !u!143 &6620953456884791151
|
||||
CharacterController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9098724353270996650}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Height: 2
|
||||
m_Radius: 0.5
|
||||
m_SlopeLimit: 45
|
||||
m_StepOffset: 0.3
|
||||
m_SkinWidth: 0.08
|
||||
m_MinMoveDistance: 0.001
|
||||
m_Center: {x: 0, y: 1, z: 0}
|
||||
--- !u!114 &6778397863327314458
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9098724353270996650}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: cb6a34d769a1e4ac7b0b30e433aa443c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: AstarPathfindingProject::Pathfinding.SimpleSmoothModifier
|
||||
version: 1073741824
|
||||
smoothType: 0
|
||||
subdivisions: 2
|
||||
iterations: 2
|
||||
strength: 0.5
|
||||
uniformLength: 1
|
||||
maxSegmentLength: 2
|
||||
bezierTangentLength: 0.4
|
||||
offset: 0.2
|
||||
factor: 0.1
|
||||
--- !u!114 &4799508192264281601
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9098724353270996650}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1a72dabd280fe71488a78596bd852afc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Reset.Units.UnitPathfinding
|
||||
ShowTopMostFoldoutHeaderGroup: 1
|
||||
seeker: {fileID: 0}
|
||||
nextWaypointDistance: 3
|
||||
reachedEndOfPath: 0
|
||||
--- !u!114 &-3090026840404744490
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9098724353270996650}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f1528d25d3d94df59161993cb28bcb17, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Reset.Units.EnemyCombat
|
||||
ShowTopMostFoldoutHeaderGroup: 1
|
||||
draggedUnits: []
|
||||
target: {fileID: 0}
|
||||
--- !u!1001 &8807019661255186479
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -443,8 +748,38 @@ PrefabInstance:
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_AddedComponents:
|
||||
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 64c95eab532c57d4eb98569c66e7455a, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 8332864352631384059}
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 64c95eab532c57d4eb98569c66e7455a, type: 3}
|
||||
--- !u!1 &8573086128984434046 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 64c95eab532c57d4eb98569c66e7455a, type: 3}
|
||||
m_PrefabInstance: {fileID: 8807019661255186479}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!95 &8332864352631384059
|
||||
Animator:
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8573086128984434046}
|
||||
m_Enabled: 1
|
||||
m_Avatar: {fileID: 0}
|
||||
m_Controller: {fileID: 9100000, guid: 4b4d74abfd4433841a36537d7aa224db, type: 2}
|
||||
m_CullingMode: 0
|
||||
m_UpdateMode: 0
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!4 &9057416996320346052 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 64c95eab532c57d4eb98569c66e7455a, type: 3}
|
||||
@@ -24,13 +24,13 @@ MonoBehaviour:
|
||||
UnityEngine.AnimationModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"hitTargets":{"_value":[],"_name":"hitTargets","_id":"0e35b4ec-628d-4911-9e92-0c05d0b928ec","$type":"NodeCanvas.Framework.Variable`1[[System.Collections.Generic.List`1[[UnityEngine.Collider,
|
||||
UnityEngine.PhysicsModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]],
|
||||
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},"attackDamageSource":{"_name":"attackDamageSource","_id":"93af52d4-3d5f-41a9-aadb-fbeb60d44b08","$type":"NodeCanvas.Framework.Variable`1[[Reset.Core.DamageSource,
|
||||
Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}},"derivedData":{"repeat":true,"$type":"NodeCanvas.BehaviourTrees.BehaviourTree+DerivedSerializationData"}}'
|
||||
Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}},"derivedData":{"repeat":true,"$type":"NodeCanvas.BehaviourTrees.BehaviourTree+DerivedSerializationData"}}'
|
||||
_objectReferences: []
|
||||
_graphSource:
|
||||
_version: 3.31
|
||||
_category:
|
||||
_comments:
|
||||
_translation: {x: 917, y: 727}
|
||||
_zoomFactor: 1
|
||||
_translation: {x: 756, y: 687}
|
||||
_zoomFactor: 0.82284415
|
||||
_haltSerialization: 0
|
||||
_externalSerializationFile: {fileID: 0}
|
||||
|
||||
@@ -15,13 +15,13 @@ MonoBehaviour:
|
||||
_serializedGraph: '{"type":"NodeCanvas.BehaviourTrees.BehaviourTree","nodes":[{"_action":{"actions":[{"facingDirection":{"label":"Facing
|
||||
Direction","value":{"_value":{"$content":3,"$type":"Reset.Units.PlayerFacingDirection"}},"changeValue":{"_value":1}},"rotationSpeed":{"label":"Rotation
|
||||
Speed","changeValue":{"_value":1},"value":{"_value":0.1},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeRotationSettings"},{"moveSpeed":{"label":"Move
|
||||
Speed","changeValue":{"_value":1},"value":{},"_changeSmoothing":{"_value":1},"_smoothing":{"_value":25.0},"_changeEasing":{},"_easing":{}},"acceleration":{"label":"Acceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"deacceleration":{"label":"Deacceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeMoveSpeedSettings"},{"parameter":{"_value":"GoHardActivate"},"parameterHashID":{},"overrideAgent":{"_type":"UnityEngine.Animator","_name":"modelAnimator","_targetVariableID":"7496ae67-b0a2-4894-a203-35e011767a3a"},"$type":"NodeCanvas.Tasks.Actions.MecanimSetTrigger"},{"waitTime":{"_value":0.4},"$type":"NodeCanvas.Tasks.Actions.Wait"},{"boolVariable":{"_name":"inGoHard","_targetVariableID":"dc9f60c8-856e-4970-bf11-25745eff1201"},"$type":"NodeCanvas.Tasks.Actions.SetBoolean"}],"$type":"NodeCanvas.Framework.ActionList"},"_position":{"x":496.973,"y":474.9865},"$type":"NodeCanvas.BehaviourTrees.ActionNode"}],"connections":[],"canvasGroups":[],"localBlackboard":{"_variables":{}},"derivedData":{"repeat":true,"$type":"NodeCanvas.BehaviourTrees.BehaviourTree+DerivedSerializationData"}}'
|
||||
Speed","changeValue":{"_value":1},"value":{},"_changeSmoothing":{"_value":1},"_smoothing":{"_value":25.0},"_changeEasing":{},"_easing":{}},"acceleration":{"label":"Acceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"deacceleration":{"label":"Deacceleration","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeMoveSpeedSettings"},{"parameter":{"_value":"GoHardActivate"},"parameterHashID":{},"overrideAgent":{"_type":"UnityEngine.Animator","_name":"modelAnimator","_targetVariableID":"7496ae67-b0a2-4894-a203-35e011767a3a"},"$type":"NodeCanvas.Tasks.Actions.MecanimSetTrigger"},{"waitTime":{"_value":0.4},"$type":"NodeCanvas.Tasks.Actions.Wait"},{"boolVariable":{"_name":"inGoHard","_targetVariableID":"dc9f60c8-856e-4970-bf11-25745eff1201"},"$type":"NodeCanvas.Tasks.Actions.SetBoolean"}],"$type":"NodeCanvas.Framework.ActionList"},"_position":{"x":435.1477,"y":491.203},"$type":"NodeCanvas.BehaviourTrees.ActionNode"}],"connections":[],"canvasGroups":[],"localBlackboard":{"_variables":{}},"derivedData":{"repeat":true,"$type":"NodeCanvas.BehaviourTrees.BehaviourTree+DerivedSerializationData"}}'
|
||||
_objectReferences: []
|
||||
_graphSource:
|
||||
_version: 3.31
|
||||
_category:
|
||||
_comments:
|
||||
_translation: {x: 33, y: 238}
|
||||
_translation: {x: 268, y: 110}
|
||||
_zoomFactor: 0.9866518
|
||||
_haltSerialization: 0
|
||||
_externalSerializationFile: {fileID: 0}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -18,7 +18,7 @@ MonoBehaviour:
|
||||
_version: 3.31
|
||||
_category:
|
||||
_comments:
|
||||
_translation: {x: 296, y: -43}
|
||||
_translation: {x: 429, y: 47}
|
||||
_zoomFactor: 1
|
||||
_haltSerialization: 0
|
||||
_externalSerializationFile: {fileID: 0}
|
||||
|
||||
@@ -26,7 +26,7 @@ MonoBehaviour:
|
||||
Speed","changeValue":{"_value":2},"value":{},"_changeSmoothing":{"_value":2},"_smoothing":{},"_changeEasing":{"_value":2},"_easing":{}},"$type":"Reset.Units.ChangeRotationSettings"},{"directionChangingSoftness":{"label":"Direction
|
||||
Changing Softness","changeValue":{"_value":2},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"directionSpinningHardness":{"label":"Direction
|
||||
Spinning Hardness","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"directionSpinningSpeed":{"label":"Direction
|
||||
Spinning Speed","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeDirectionSettings"}]},"_onUpdateList":{"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"foldExit":true,"_color":{"r":1.0,"g":1.0,"b":1.0,"a":1.0},"_name":"Grounded","_position":{"x":458.5251,"y":383.7869},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"0"},{"_position":{"x":369.3697,"y":186.864},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"1"},{"_actionList":{"actions":[{"valueA":{"_name":"newAirMoveSmoothing"},"valueB":{"_value":1.0},"_isDisabled":true,"$type":"NodeCanvas.Tasks.Actions.SetFloat"},{"eventName":{"_value":"Air
|
||||
Spinning Speed","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeDirectionSettings"}]},"_onUpdateList":{"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"foldExit":true,"_color":{"r":1.0,"g":1.0,"b":1.0,"a":1.0},"_name":"Grounded","_position":{"x":458.525,"y":373.7852},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"0"},{"_position":{"x":338.3644,"y":164.8602},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"1"},{"_actionList":{"actions":[{"valueA":{"_name":"newAirMoveSmoothing"},"valueB":{"_value":1.0},"_isDisabled":true,"$type":"NodeCanvas.Tasks.Actions.SetFloat"},{"eventName":{"_value":"Air
|
||||
Reset Received"},"delay":{},"$type":"NodeCanvas.Tasks.Actions.SendEvent"},{"airDirectionDecay":{"label":"Air
|
||||
Direction Decay","changeValue":{"_value":2},"value":{},"_changeSmoothing":{"_value":2},"_smoothing":{},"_changeEasing":{"_value":2},"_easing":{}},"gravityMax":{"label":"Gravity
|
||||
Max","changeValue":{"_value":2},"value":{},"_changeSmoothing":{"_value":2},"_smoothing":{},"_changeEasing":{"_value":2},"_easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||
@@ -97,7 +97,7 @@ MonoBehaviour:
|
||||
Direction","value":{"_value":{"$content":1,"$type":"Reset.Units.PlayerFacingDirection"}},"changeValue":{"_value":1}},"rotationSpeed":{"label":"Rotation
|
||||
Speed","changeValue":{"_value":1},"value":{"_value":6.0},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeRotationSettings"},{"moveSpeed":{"label":"Move
|
||||
Speed","changeValue":{},"value":{},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"acceleration":{"label":"Acceleration","changeValue":{"_value":1},"value":{"_value":1.0},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"deacceleration":{"label":"Deacceleration","changeValue":{"_value":1},"value":{"_value":1.0},"_changeSmoothing":{},"_smoothing":{},"_changeEasing":{},"_easing":{}},"$type":"Reset.Units.ChangeMoveSpeedSettings"}]},"_onUpdateList":{"executionMode":1,"actions":[{"newGravity":{"_value":2.0},"absolute":{},"relativity":{"_value":0.86},"deltaTime":{"_value":true},"decayRate":{"_value":0.3},"$type":"Reset.Units.SetNewGravity"}]},"_onExitList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"Operation":2,"valueB":{"_value":1},"$type":"NodeCanvas.Tasks.Actions.SetInt"}]},"foldEnter":true,"foldUpdate":true,"foldExit":true,"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Standard
|
||||
Jump","_position":{"x":697.7955,"y":220.1157},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"21"},{"_actionList":{"actions":[{"valueA":{"_name":"newAirMoveSmoothing"},"valueB":{"_value":1.0},"_isDisabled":true,"$type":"NodeCanvas.Tasks.Actions.SetFloat"},{"eventName":{"_value":"Air
|
||||
Jump","_position":{"x":704.7966,"y":246.1201},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"21"},{"_actionList":{"actions":[{"valueA":{"_name":"newAirMoveSmoothing"},"valueB":{"_value":1.0},"_isDisabled":true,"$type":"NodeCanvas.Tasks.Actions.SetFloat"},{"eventName":{"_value":"Air
|
||||
Reset Received"},"delay":{},"$type":"NodeCanvas.Tasks.Actions.SendEvent"}]},"_color":{"r":0.3647059,"g":0.3215686,"b":1.0,"a":1.0},"_name":"Airborne
|
||||
Standard Movement","_position":{"x":227.1761,"y":27.24033},"$type":"NodeCanvas.StateMachines.ActionState","$id":"22"},{"_name":"INTERACT
|
||||
OPTIONS","_position":{"x":967.8022,"y":970.8088},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"23"},{"_actionList":{"executionMode":1,"actions":[{"raycastHit":{"_name":"_hit"},"transform":{},"collider":{},"gameObject":{"_name":"pickupTarget","_targetVariableID":"45e90651-1912-40ef-b4fc-6c27d00d0ef0"},"distance":{},"normal":{},"point":{},"$type":"NodeCanvas.Tasks.Actions.DecomposeRaycastHit"}]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_position":{"x":1979.639,"y":835.3054},"$type":"NodeCanvas.StateMachines.ActionState","$id":"24"},{"_name":"Check
|
||||
@@ -169,7 +169,7 @@ MonoBehaviour:
|
||||
Pull"},"saveEventValue":{"_name":"_grappleLaunchDir"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent`1[[UnityEngine.Vector3,
|
||||
UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"_sourceNode":{"$ref":"6"},"_targetNode":{"$ref":"11"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"7"},"_targetNode":{"$ref":"8"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"timeout":{"_value":0.2},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"8"},"_targetNode":{"$ref":"9"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"8"},"_targetNode":{"$ref":"10"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"9"},"_targetNode":{"$ref":"10"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"10"},"_targetNode":{"$ref":"3"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"11"},"_targetNode":{"$ref":"8"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"12"},"_targetNode":{"$ref":"13"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":1.0},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"12"},"_targetNode":{"$ref":"15"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"13"},"_targetNode":{"$ref":"14"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"14"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"checkMode":1,"conditions":[{"timeout":{"_value":2.0},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},{"valueA":{"_name":"isGroundedOld","_targetVariableID":"619300a4-be8b-4ad4-ba2a-978468094ba2"},"valueB":{"_value":true},"_invert":true,"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"15"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":1.0},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"16"},"_targetNode":{"$ref":"15"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"16"},"_targetNode":{"$ref":"17"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"17"},"_targetNode":{"$ref":"14"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"18"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"checkAgainst":2,"checkAgainstValue":{"_name":"_wallJumpHitNormal"},"desiredValue":{"_value":1.0},"tolerance":{"_value":0.5},"considerCameraRotation":{"_value":true},"negate":{},"$type":"NodeCanvas.Tasks.Conditions.GetMovementInputDotProduct"},"_sourceNode":{"$ref":"19"},"_targetNode":{"$ref":"20"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"19"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"20"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"checkMode":1,"conditions":[{"actionName":{"_value":"Jump"},"actionPhase":{"_value":4},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},{"valueA":{"_name":"resolvedGravity","_targetVariableID":"7c9d4632-c537-44c4-ae35-d92fa64d5303"},"checkType":2,"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckFloat"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"21"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"22"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"observerLabel":{"_value":"player"},"outputHitTo":{"_name":"_hit"},"deactivateOnFinish":false,"$type":"NodeCanvas.Tasks.Conditions.CheckEnvironmentObserver"},{"valueA":{"_name":"pickupTarget","_targetVariableID":"45e90651-1912-40ef-b4fc-6c27d00d0ef0"},"valueB":{},"_invert":true,"_isDisabled":true,"$type":"NodeCanvas.Tasks.Conditions.CheckVariable`1[[UnityEngine.GameObject,
|
||||
UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},{"valueA":{"_name":"pickupTarget","_targetVariableID":"45e90651-1912-40ef-b4fc-6c27d00d0ef0"},"valueB":{},"_invert":true,"_isDisabled":true,"$type":"NodeCanvas.Tasks.Conditions.CheckVariable`1[[Reset.Units.Player,
|
||||
Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"23"},"_targetNode":{"$ref":"24"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"23"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"24"},"_targetNode":{"$ref":"25"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"target":{"_name":"pickupTarget","_targetVariableID":"45e90651-1912-40ef-b4fc-6c27d00d0ef0"},"$type":"Reset.Core.IsInteractable"},"_sourceNode":{"$ref":"25"},"_targetNode":{"$ref":"26"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"25"},"_targetNode":{"$ref":"28"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Interact"},"actionPhase":{"_value":4},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"26"},"_targetNode":{"$ref":"27"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":5.0},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"26"},"_targetNode":{"$ref":"30"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"27"},"_targetNode":{"$ref":"28"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"28"},"_targetNode":{"$ref":"29"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"29"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"30"},"_targetNode":{"$ref":"28"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":0.1},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"31"},"_targetNode":{"$ref":"32"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"32"},"_targetNode":{"$ref":"33"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Sprint"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"32"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"valueA":{"_name":"isGroundedOld","_targetVariableID":"619300a4-be8b-4ad4-ba2a-978468094ba2"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_sourceNode":{"$ref":"32"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"33"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"34"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"35"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"36"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Downed"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent"},"_sourceNode":{"$ref":"43"},"_targetNode":{"$ref":"44"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Killed"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent"},"_sourceNode":{"$ref":"43"},"_targetNode":{"$ref":"45"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":4.0},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"44"},"_targetNode":{"$ref":"45"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Pick
|
||||
Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"23"},"_targetNode":{"$ref":"24"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"23"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"24"},"_targetNode":{"$ref":"25"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"target":{"_name":"pickupTarget","_targetVariableID":"45e90651-1912-40ef-b4fc-6c27d00d0ef0"},"$type":"Reset.Core.IsInteractable"},"_sourceNode":{"$ref":"25"},"_targetNode":{"$ref":"26"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"25"},"_targetNode":{"$ref":"28"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Interact"},"actionPhase":{"_value":4},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"26"},"_targetNode":{"$ref":"27"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":5.0},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"26"},"_targetNode":{"$ref":"30"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"27"},"_targetNode":{"$ref":"28"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"28"},"_targetNode":{"$ref":"29"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"29"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"30"},"_targetNode":{"$ref":"28"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":0.1},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"31"},"_targetNode":{"$ref":"32"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"32"},"_targetNode":{"$ref":"33"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"actionName":{"_value":"Sprint"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_sourceNode":{"$ref":"32"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"valueA":{"_name":"isGroundedOld","_targetVariableID":"619300a4-be8b-4ad4-ba2a-978468094ba2"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_sourceNode":{"$ref":"32"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"33"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"34"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"35"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"36"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Downed"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent"},"_sourceNode":{"$ref":"43"},"_targetNode":{"$ref":"44"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Killed"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent"},"_sourceNode":{"$ref":"43"},"_targetNode":{"$ref":"45"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":4.0},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"44"},"_targetNode":{"$ref":"45"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Pick
|
||||
Up Start"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent"},"_sourceNode":{"$ref":"44"},"_targetNode":{"$ref":"47"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"timeout":{"_value":4.0},"$type":"NodeCanvas.Tasks.Conditions.Timeout"},"_sourceNode":{"$ref":"45"},"_targetNode":{"$ref":"46"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"46"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Pick
|
||||
Up Success"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent"},"_sourceNode":{"$ref":"47"},"_targetNode":{"$ref":"48"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Pick
|
||||
Up Failed"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent"},"_sourceNode":{"$ref":"47"},"_targetNode":{"$ref":"44"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_sourceNode":{"$ref":"48"},"_targetNode":{"$ref":"0"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"method":{"_baseInfo":"Reset.Units.Player|UnitIsLocal|System.Boolean","_paramsInfo":""},"parameters":[],"checkValue":{"_type":"System.Boolean","_value":{"$content":false,"$type":"System.Boolean"}},"$type":"NodeCanvas.Tasks.Conditions.CheckFunction_Multiplatform"},"_sourceNode":{"$ref":"49"},"_targetNode":{"$ref":"50"},"$type":"NodeCanvas.StateMachines.FSMConnection"}],"canvasGroups":[],"localBlackboard":{"_variables":{"isGroundedOld":{"_propertyPath":"UnityEngine.CharacterController.isGrounded","_name":"isGroundedOld","_id":"619300a4-be8b-4ad4-ba2a-978468094ba2","_debugBoundValue":true,"$type":"NodeCanvas.Framework.Variable`1[[System.Boolean,
|
||||
@@ -188,7 +188,7 @@ MonoBehaviour:
|
||||
_version: 3.31
|
||||
_category:
|
||||
_comments:
|
||||
_translation: {x: -587, y: -941}
|
||||
_zoomFactor: 0.9994002
|
||||
_translation: {x: -55, y: 444}
|
||||
_zoomFactor: 0.999574
|
||||
_haltSerialization: 0
|
||||
_externalSerializationFile: {fileID: 0}
|
||||
|
||||
@@ -21,7 +21,7 @@ MonoBehaviour:
|
||||
_version: 3.31
|
||||
_category:
|
||||
_comments:
|
||||
_translation: {x: 76, y: 96}
|
||||
_translation: {x: 143, y: 75}
|
||||
_zoomFactor: 1
|
||||
_haltSerialization: 0
|
||||
_externalSerializationFile: {fileID: 0}
|
||||
|
||||
@@ -26,7 +26,7 @@ MonoBehaviour:
|
||||
_version: 3.31
|
||||
_category:
|
||||
_comments:
|
||||
_translation: {x: 308.22415, y: 98.45053}
|
||||
_translation: {x: 112, y: 31}
|
||||
_zoomFactor: 0.7500701
|
||||
_haltSerialization: 0
|
||||
_externalSerializationFile: {fileID: 0}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -8,7 +8,7 @@ namespace Reset.Units {
|
||||
|
||||
[Category("Reset/Movement")]
|
||||
public class ChangeRotationSettings : ActionTask<UnitMovementHandler> {
|
||||
[SerializeField] public EnumValueGroup facingDirection = new EnumValueGroup("Facing Direction", PlayerFacingDirection.TowardsTarget);
|
||||
[SerializeField] public EnumValueGroup facingDirection = new EnumValueGroup("Facing Direction", UnitFacingDirection.TowardsTarget);
|
||||
[SerializeField] public FloatValueGroup rotationSpeed = new (newLabel: "Rotation Speed");
|
||||
|
||||
//Use for initialization. This is called only once in the lifetime of the task.
|
||||
|
||||
7
Assets/Scripts/Core/IUnitTargetProvider.cs
Normal file
7
Assets/Scripts/Core/IUnitTargetProvider.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Reset.Units{
|
||||
public interface IUnitTargetProvider{
|
||||
public GameObject UnitTarget{ get; }
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Core/IUnitTargetProvider.cs.meta
Normal file
3
Assets/Scripts/Core/IUnitTargetProvider.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f0c49825086c41e0990e5fa5d3f0041c
|
||||
timeCreated: 1761269267
|
||||
@@ -15,7 +15,7 @@ using Vector2 = UnityEngine.Vector2;
|
||||
using Vector3 = UnityEngine.Vector3;
|
||||
|
||||
namespace Reset.Units{
|
||||
public class LockOnManager : MonoBehaviour{
|
||||
public class LockOnManager : UnitComponent, IUnitTargetProvider {
|
||||
public class ActiveLockOnTarget{
|
||||
public GameObject gameObject;
|
||||
public float targetWeight;
|
||||
@@ -24,6 +24,9 @@ namespace Reset.Units{
|
||||
}
|
||||
|
||||
public static LockOnManager Instance;
|
||||
|
||||
// IUnitTargetProvider
|
||||
public GameObject UnitTarget => mainTarget.gameObject;
|
||||
|
||||
// Lock On settings
|
||||
[Space(5)] public float lockOnRange = 40f;
|
||||
@@ -47,13 +50,13 @@ namespace Reset.Units{
|
||||
private VisualElement elementRoot;
|
||||
|
||||
private void Awake(){
|
||||
// // Register as singleton
|
||||
// if (Instance == null) {
|
||||
// Instance = this;
|
||||
// } else {
|
||||
// this.enabled = false;
|
||||
// return;
|
||||
// }
|
||||
// Register as singleton
|
||||
if (Instance == null && Unit.UnitIsLocal()) {
|
||||
Instance = this;
|
||||
} else {
|
||||
enabled = false;
|
||||
return;
|
||||
}
|
||||
|
||||
// References from camera
|
||||
targetGroup = PlayerManager.Camera.transform.Find("Target Group").GetComponent<CinemachineTargetGroup>();
|
||||
@@ -310,5 +313,4 @@ namespace Reset.Units{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -5,19 +5,13 @@ namespace Reset.Units{
|
||||
private bool enabledAsHost = true;
|
||||
|
||||
private Unit _unit;
|
||||
|
||||
internal Unit Unit{
|
||||
get {
|
||||
if (_unit != null) {
|
||||
return _unit;
|
||||
}
|
||||
|
||||
_unit = GetComponent<Unit>();
|
||||
|
||||
if (_unit == null) { _unit = GetComponent<Unit>(); }
|
||||
return _unit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DisableComponent(){
|
||||
enabledAsHost = false;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,10 @@ using Unity.Netcode;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Reset.Units{
|
||||
public class Enemy : Unit, ILockOnTarget, IKillable {
|
||||
public class Enemy : Unit, ILockOnTarget, IKillable{
|
||||
// Spawn Info
|
||||
public EnemySpawn relatedSpawner;
|
||||
|
||||
// Lock-On
|
||||
public float lockonTargetRadius{ get; set; } = 10f;
|
||||
[ShowInInspector]
|
||||
|
||||
8
Assets/Scripts/Units/Enemy.meta
Normal file
8
Assets/Scripts/Units/Enemy.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6e73b4c62d7c3214db04bcea1fb9f856
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
20
Assets/Scripts/Units/Enemy/EnemyCombat.cs
Normal file
20
Assets/Scripts/Units/Enemy/EnemyCombat.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Reset.Units{
|
||||
public class EnemyCombat : UnitCombat, IUnitTargetProvider{
|
||||
public GameObject target;
|
||||
public GameObject UnitTarget => target;
|
||||
|
||||
[Button]
|
||||
public void SetNewTarget(GameObject newTarget){
|
||||
Unit.Graph.SendEvent("New Target Detected");
|
||||
target = newTarget;
|
||||
}
|
||||
|
||||
public void DropTarget(){
|
||||
target = null;
|
||||
Unit.Graph.SendEvent("Drop Target");
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Units/Enemy/EnemyCombat.cs.meta
Normal file
3
Assets/Scripts/Units/Enemy/EnemyCombat.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f1528d25d3d94df59161993cb28bcb17
|
||||
timeCreated: 1761269778
|
||||
223
Assets/Scripts/Units/Enemy/EnemySpawn.cs
Normal file
223
Assets/Scripts/Units/Enemy/EnemySpawn.cs
Normal file
@@ -0,0 +1,223 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Drawing;
|
||||
using Pathfinding;
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
using Random = UnityEngine.Random;
|
||||
|
||||
namespace Reset.Units{
|
||||
public class EnemySpawn : MonoBehaviour{
|
||||
enum SpawnerState{
|
||||
Idle = 0,
|
||||
TargetAcquired,
|
||||
TargetDropped,
|
||||
InCombatUnlocked,
|
||||
InCombatLocked,
|
||||
Cooldown,
|
||||
}
|
||||
|
||||
public float radius = 30f;
|
||||
|
||||
public int minimumEnemies = 1;
|
||||
public int maximumEnemies = 5;
|
||||
|
||||
public Vector2 enemyCount;
|
||||
|
||||
// TODO: Replace this with an Enemy selector based on difficulty, random chance, etc?
|
||||
public GameObject enemy;
|
||||
|
||||
public List<GameObject> enemies;
|
||||
|
||||
public GridGraph relatedGraph;
|
||||
|
||||
private SpawnerState spawnerState;
|
||||
private float timeInState;
|
||||
|
||||
void Start(){
|
||||
CreateAstarGraph();
|
||||
SpawnEnemies();
|
||||
}
|
||||
|
||||
void CreateAstarGraph(){
|
||||
relatedGraph = AstarPath.active.data.AddGraph(typeof(GridGraph)) as GridGraph;
|
||||
|
||||
relatedGraph.SetDimensions(Mathf.FloorToInt(radius) * 2, Mathf.FloorToInt(radius) * 2, 1f);
|
||||
relatedGraph.collision.diameter = 3f;
|
||||
|
||||
AstarPath.active.Scan(relatedGraph);
|
||||
|
||||
GetComponent<ProceduralGraphMover>().graph = relatedGraph;
|
||||
}
|
||||
|
||||
void SpawnEnemies(){
|
||||
int count = Random.Range(minimumEnemies, maximumEnemies + 1);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
Vector3 newPosition = transform.position;
|
||||
|
||||
float randomX = Random.Range(-(radius / 2f), radius / 2f);
|
||||
float randomZ = Random.Range(-(radius / 2f), radius / 2f);
|
||||
|
||||
newPosition += new Vector3(randomX, transform.position.y, randomZ);
|
||||
|
||||
float randomRot = Random.Range(0f, 360f);
|
||||
|
||||
GameObject newEnemy = Instantiate(enemy, newPosition, Quaternion.AngleAxis(randomRot, Vector3.up));
|
||||
newEnemy.GetComponent<Enemy>().relatedSpawner = this;
|
||||
|
||||
enemies.Add(newEnemy);
|
||||
}
|
||||
}
|
||||
|
||||
void Update(){
|
||||
ProcessStateUpdate();
|
||||
DrawSpawnStateGizmos();
|
||||
}
|
||||
|
||||
// Set the new state of the spawner and also reset the timer for state management
|
||||
void ChangeState(SpawnerState newState){
|
||||
spawnerState = newState;
|
||||
ProcessStateStart();
|
||||
timeInState = 0f;
|
||||
}
|
||||
|
||||
|
||||
// Does initial actions on state switch
|
||||
void ProcessStateStart(){
|
||||
switch (spawnerState) {
|
||||
case SpawnerState.TargetDropped:
|
||||
foreach (GameObject thisEnemy in enemies) {
|
||||
thisEnemy.GetComponent<EnemyCombat>().DropTarget();
|
||||
}
|
||||
break;
|
||||
|
||||
case SpawnerState.InCombatUnlocked:
|
||||
foreach (GameObject thisEnemy in enemies) {
|
||||
thisEnemy.GetComponent<Enemy>().Graph.SendEvent("Enter Combat");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Actively processes the state of the spawner and its assocaited enemies
|
||||
void ProcessStateUpdate(){
|
||||
switch (spawnerState) {
|
||||
// Check if player is in range of this spawner. If so, set them as the new target
|
||||
case SpawnerState.Idle:
|
||||
if (PlayerIsInRange(radius, radius / 2f)) {
|
||||
foreach (GameObject thisEnemy in enemies) {
|
||||
thisEnemy.GetComponent<EnemyCombat>().SetNewTarget(PlayerManager.Player);
|
||||
}
|
||||
ChangeState(SpawnerState.TargetAcquired);
|
||||
}
|
||||
break;
|
||||
|
||||
// After grabbing a player in range, make sure they stay in range. If they aren't in range after 5 seconds, disengage. If they are or get too close, engage.
|
||||
case SpawnerState.TargetAcquired:
|
||||
if (PlayerIsInRange(8f, 8f) && timeInState > 1f) {
|
||||
ChangeState(SpawnerState.InCombatUnlocked);
|
||||
return;
|
||||
}
|
||||
|
||||
if (timeInState > 5f) {
|
||||
if (PlayerIsInRange(radius + 2f, radius * .6f)) {
|
||||
ChangeState(SpawnerState.InCombatUnlocked);
|
||||
return;
|
||||
}
|
||||
|
||||
ChangeState(SpawnerState.TargetDropped);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
// Wait a few seconds after dropping the target before doing anything else
|
||||
case SpawnerState.TargetDropped:
|
||||
if (timeInState > 3f) {
|
||||
ChangeState(SpawnerState.Idle);
|
||||
return;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
// Set all units to combat. Drop combat if the target gets too far
|
||||
case SpawnerState.InCombatUnlocked:
|
||||
if (!PlayerIsInRange(radius * 1.5f, radius * 1.5f) && timeInState > 5f) {
|
||||
ChangeState(SpawnerState.TargetDropped);
|
||||
return;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
// Lock the player to the spawn. Currently unused.
|
||||
case SpawnerState.InCombatLocked:
|
||||
break;
|
||||
|
||||
|
||||
// Long cooldown for after all units have been killed. Currently unused.
|
||||
case SpawnerState.Cooldown:
|
||||
break;
|
||||
}
|
||||
|
||||
// Increment state timer
|
||||
timeInState += 1f * Time.deltaTime;
|
||||
}
|
||||
|
||||
|
||||
|
||||
GameObject PlayerIsInRange(float spawnerRange, float enemyRange){
|
||||
// TODO: Make compatible with all players
|
||||
if (!PlayerManager.Player) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Vector3 playerPos = PlayerManager.Player.transform.position;
|
||||
|
||||
// Skip checking and return null/false if the player is nowhere near the input range
|
||||
if (Vector3.Distance(playerPos, transform.position) > spawnerRange * 2f) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// If they are in range, check if the player is close enough to either an enemy or the input range
|
||||
if (Vector3.Distance(playerPos, transform.position) < spawnerRange) {
|
||||
return PlayerManager.Player;
|
||||
}
|
||||
|
||||
foreach (GameObject thisEnemy in enemies) {
|
||||
if (Vector3.Distance(playerPos, thisEnemy.transform.position) < enemyRange) {
|
||||
return PlayerManager.Player;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private void DrawSpawnStateGizmos(){
|
||||
Color cylinderColor = Color.blue;
|
||||
|
||||
switch (spawnerState) {
|
||||
case SpawnerState.Idle:
|
||||
break;
|
||||
case SpawnerState.TargetAcquired:
|
||||
cylinderColor = Color.coral;
|
||||
break;
|
||||
case SpawnerState.TargetDropped:
|
||||
cylinderColor = Color.khaki;
|
||||
break;
|
||||
case SpawnerState.InCombatUnlocked:
|
||||
cylinderColor = Color.red;
|
||||
break;
|
||||
case SpawnerState.InCombatLocked:
|
||||
cylinderColor = Color.violetRed;
|
||||
break;
|
||||
case SpawnerState.Cooldown:
|
||||
cylinderColor = Color.gray;
|
||||
break;
|
||||
}
|
||||
|
||||
Draw.WireCylinder(transform.position, transform.position + Vector3.up * 7f, radius, cylinderColor);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
2
Assets/Scripts/Units/Enemy/EnemySpawn.cs.meta
Normal file
2
Assets/Scripts/Units/Enemy/EnemySpawn.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dd8d1c9c0ddc5c14497e74371d4b0350
|
||||
8
Assets/Scripts/Units/Graph Tasks.meta
Normal file
8
Assets/Scripts/Units/Graph Tasks.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 114868761d02e2c4281c0daf79f7c446
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
35
Assets/Scripts/Units/Graph Tasks/CheckIfSpawnmate.cs
Normal file
35
Assets/Scripts/Units/Graph Tasks/CheckIfSpawnmate.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using NodeCanvas.Framework;
|
||||
using ParadoxNotion.Design;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Reset.Units {
|
||||
[Category("Reset/Units")]
|
||||
[Description("Returns true if this unit is in the same spawn group as the provided value.")]
|
||||
public class CheckIfSpawnmate : ConditionTask<Enemy>{
|
||||
protected override string info{ get => $"{target} is spawnmate"; }
|
||||
|
||||
public BBParameter<GameObject> target;
|
||||
|
||||
//Use for initialization. This is called only once in the lifetime of the task.
|
||||
//Return null if init was successfull. Return an error string otherwise
|
||||
protected override string OnInit(){
|
||||
return null;
|
||||
}
|
||||
|
||||
//Called whenever the condition gets enabled.
|
||||
protected override void OnEnable() {
|
||||
|
||||
}
|
||||
|
||||
//Called whenever the condition gets disabled.
|
||||
protected override void OnDisable() {
|
||||
|
||||
}
|
||||
|
||||
//Called once per frame while the condition is active.
|
||||
//Return whether the condition is success or failure.
|
||||
protected override bool OnCheck(){
|
||||
return agent.relatedSpawner.enemies.Contains(target.value);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 847ff34f59879c844b597a39884f5fe8
|
||||
164
Assets/Scripts/Units/Graph Tasks/CircleTarget.cs
Normal file
164
Assets/Scripts/Units/Graph Tasks/CircleTarget.cs
Normal file
@@ -0,0 +1,164 @@
|
||||
using System;
|
||||
using NodeCanvas.Framework;
|
||||
using ParadoxNotion.Design;
|
||||
using Sirenix.Utilities;
|
||||
using UnityEngine;
|
||||
using Random = UnityEngine.Random;
|
||||
|
||||
|
||||
namespace Reset.Units {
|
||||
|
||||
[Category("Reset/Units")]
|
||||
[Description("Gives the unit a new direction that causes them to circle the target.")]
|
||||
public class CircleTarget : ActionTask<UnitMovementHandler>{
|
||||
enum StrafeDirection{
|
||||
Forward = 0, Backwards, Left, Right
|
||||
}
|
||||
|
||||
// References
|
||||
private IUnitTargetProvider targetProvider;
|
||||
|
||||
// Pause settings
|
||||
[Description("How long will this unit wait to stop moving and pause")]
|
||||
public BBParameter<Vector2> pauseIntervalRange;
|
||||
[Description("How long this unit will within paused movement")]
|
||||
public BBParameter<Vector2> unpauseIntervalRange;
|
||||
|
||||
// Speed settings
|
||||
public BBParameter<Vector2> speedRange;
|
||||
[Description("How long this unit will wait before switching movement speed")]
|
||||
public BBParameter<Vector2> speedChangeIntervalRange;
|
||||
[SliderField(0, 1)]
|
||||
public BBParameter<float> speedSmoothing;
|
||||
|
||||
// Strafe direction settings
|
||||
[Description("How long this unit will wait before switching strafe direction")]
|
||||
public BBParameter<Vector2> strafeDirectionChangeInterval;
|
||||
[SliderField(0, 1)]
|
||||
public BBParameter<float> directionSmoothing;
|
||||
|
||||
// Pause state management
|
||||
private bool strafePaused;
|
||||
private float lastPauseEnterTime;
|
||||
private float lastPauseExitTime;
|
||||
private float pauseChangeTimeElapsed;
|
||||
private float nextPauseChangeTime;
|
||||
|
||||
// Direct state management
|
||||
private float lastDirectionChangeTime;
|
||||
private float directionChangeTimeElapsed;
|
||||
private StrafeDirection currentStrafeDirection;
|
||||
private float nextDirectionChangeTime;
|
||||
|
||||
// Speed state management
|
||||
private float lastSpeedChangeTime;
|
||||
private float speedChangeTimeElapsed;
|
||||
private float currentSpeed;
|
||||
private float nextSpeedChangeTime;
|
||||
|
||||
//Use for initialization. This is called only once in the lifetime of the task.
|
||||
//Return null if init was successfull. Return an error string otherwise
|
||||
protected override string OnInit() {
|
||||
if (pauseIntervalRange.value == Vector2.zero){ Debug.LogError($"Please set a setting for pause intervals on {agent.name}", agent.gameObject);}
|
||||
if (unpauseIntervalRange.value == Vector2.zero){ Debug.LogError($"Please set a setting for unpause intervals on {agent.name}", agent.gameObject);}
|
||||
if (speedRange.value == Vector2.zero){ Debug.LogError($"Please set a setting for speed range on {agent.name}", agent.gameObject);}
|
||||
if (speedChangeIntervalRange.value == Vector2.zero){ Debug.LogError($"Please set a setting for speed change intervals on {agent.name}", agent.gameObject);}
|
||||
if (strafeDirectionChangeInterval.value == Vector2.zero){ Debug.LogError($"Please set a setting for strafe direction change intervals on {agent.name}", agent.gameObject);}
|
||||
|
||||
// Get reference to target provider
|
||||
targetProvider = agent.gameObject.GetComponent<IUnitTargetProvider>();
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
//This is called once each time the task is enabled.
|
||||
//Call EndAction() to mark the action as finished, either in success or failure.
|
||||
//EndAction can be called from anywhere.
|
||||
protected override void OnExecute(){
|
||||
// Reset timers
|
||||
lastPauseEnterTime = 0f;
|
||||
lastPauseExitTime = 0f;
|
||||
pauseChangeTimeElapsed = 0f;
|
||||
lastDirectionChangeTime = 0f;
|
||||
directionChangeTimeElapsed = 0f;
|
||||
|
||||
// Initialize with direction
|
||||
currentStrafeDirection = (StrafeDirection)Random.Range(0, 3);
|
||||
}
|
||||
|
||||
//Called once per frame while the action is active.
|
||||
protected override void OnUpdate() {
|
||||
// Set a new direction
|
||||
agent.SetNewDirection(GetVector3Direction().ToVector2(), directionSmoothing.value, true);
|
||||
|
||||
// Set paused or set new speed if unpaused
|
||||
if (strafePaused) {
|
||||
agent.SetNewSpeed(0f, speedSmoothing.value, true);
|
||||
} else {
|
||||
agent.SetNewSpeed(currentSpeed, speedSmoothing.value, true);
|
||||
}
|
||||
|
||||
// Check the timers
|
||||
CheckForChange();
|
||||
}
|
||||
|
||||
// Method to quickly transform a strafe direction into a Vector3
|
||||
Vector3 GetVector3Direction(){
|
||||
switch (currentStrafeDirection) {
|
||||
case StrafeDirection.Forward:
|
||||
return agent.transform.position.DirectionTo(targetProvider.UnitTarget.transform.position);
|
||||
case StrafeDirection.Backwards:
|
||||
return -agent.transform.position.DirectionTo(targetProvider.UnitTarget.transform.position);
|
||||
case StrafeDirection.Left:
|
||||
return Quaternion.AngleAxis(-90f, Vector3.up) * agent.transform.position.DirectionTo(targetProvider.UnitTarget.transform.position);
|
||||
case StrafeDirection.Right:
|
||||
return Quaternion.AngleAxis(90f, Vector3.up) * agent.transform.position.DirectionTo(targetProvider.UnitTarget.transform.position);
|
||||
default:
|
||||
return Vector3.zero;
|
||||
}
|
||||
}
|
||||
|
||||
void SetNewPauseChangeTime(){
|
||||
if (strafePaused) {
|
||||
nextPauseChangeTime = elapsedTime + Random.Range(unpauseIntervalRange.value.x, unpauseIntervalRange.value.y);
|
||||
} else {
|
||||
nextPauseChangeTime = elapsedTime + Random.Range(pauseIntervalRange.value.x, pauseIntervalRange.value.y);
|
||||
}
|
||||
}
|
||||
|
||||
void SetNewSpeedChangeTime(){
|
||||
nextSpeedChangeTime = elapsedTime + Random.Range(speedChangeIntervalRange.value.x, speedChangeIntervalRange.value.y);
|
||||
}
|
||||
|
||||
void SetNewDirectionChangeTime(){
|
||||
nextDirectionChangeTime = elapsedTime + Random.Range(strafeDirectionChangeInterval.value.x, strafeDirectionChangeInterval.value.y);
|
||||
}
|
||||
|
||||
void CheckForChange(){
|
||||
if (nextPauseChangeTime > elapsedTime) {
|
||||
strafePaused = !strafePaused;
|
||||
SetNewPauseChangeTime();
|
||||
}
|
||||
|
||||
if (nextSpeedChangeTime > elapsedTime) {
|
||||
currentSpeed = Random.Range(speedRange.value.x, speedRange.value.y);
|
||||
SetNewSpeedChangeTime();
|
||||
}
|
||||
|
||||
if (nextDirectionChangeTime > elapsedTime) {
|
||||
currentStrafeDirection = (StrafeDirection)Random.Range(0, 3);
|
||||
SetNewDirectionChangeTime();
|
||||
}
|
||||
}
|
||||
|
||||
//Called when the task is disabled.
|
||||
protected override void OnStop() {
|
||||
|
||||
}
|
||||
|
||||
//Called when the task is paused.
|
||||
protected override void OnPause() {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Units/Graph Tasks/CircleTarget.cs.meta
Normal file
2
Assets/Scripts/Units/Graph Tasks/CircleTarget.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9f9afac70b34c5e44b747e86f7491aa3
|
||||
65
Assets/Scripts/Units/Graph Tasks/SetNewPathfindingPath.cs
Normal file
65
Assets/Scripts/Units/Graph Tasks/SetNewPathfindingPath.cs
Normal file
@@ -0,0 +1,65 @@
|
||||
using NodeCanvas.Framework;
|
||||
using ParadoxNotion.Design;
|
||||
using Pathfinding;
|
||||
using UnityEngine;
|
||||
|
||||
|
||||
namespace Reset.Units {
|
||||
|
||||
[Category("Reset/Units")]
|
||||
[Description("Set a new path towards a provided target")]
|
||||
public class SetNewPathfindingPath : ActionTask<UnitPathfinding>{
|
||||
public BBParameter<GameObject> target;
|
||||
|
||||
public bool useTimer;
|
||||
public BBParameter<float> timeToRepath;
|
||||
|
||||
//Use for initialization. This is called only once in the lifetime of the task.
|
||||
//Return null if init was successfull. Return an error string otherwise
|
||||
protected override string OnInit() {
|
||||
if (target.isNoneOrNull) {
|
||||
Debug.Log($"There is no target set for {agent.name} to pathfind to.", agent.gameObject);
|
||||
return $"There is no target set for {agent.name} to pathfind to.";
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
//This is called once each time the task is enabled.
|
||||
//Call EndAction() to mark the action as finished, either in success or failure.
|
||||
//EndAction can be called from anywhere.
|
||||
protected override void OnExecute() {
|
||||
agent.seeker.StartPath(agent.transform.position, target.value.transform.position, OnPathComplete);
|
||||
|
||||
if (useTimer) {
|
||||
return;
|
||||
}
|
||||
|
||||
EndAction(true);
|
||||
}
|
||||
|
||||
public void OnPathComplete(Path p){
|
||||
if (!p.error) {
|
||||
agent.AssignNewPath(p);
|
||||
}
|
||||
}
|
||||
|
||||
//Called once per frame while the action is active.
|
||||
protected override void OnUpdate() {
|
||||
if (useTimer && elapsedTime > timeToRepath.value) {
|
||||
agent.seeker.StartPath(agent.transform.position, target.value.transform.position, OnPathComplete);
|
||||
EndAction();
|
||||
}
|
||||
}
|
||||
|
||||
//Called when the task is disabled.
|
||||
protected override void OnStop() {
|
||||
|
||||
}
|
||||
|
||||
//Called when the task is paused.
|
||||
protected override void OnPause() {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 71ce4953752dde3449673b8931aefc00
|
||||
64
Assets/Scripts/Units/Graph Tasks/SetWanderingPath.cs
Normal file
64
Assets/Scripts/Units/Graph Tasks/SetWanderingPath.cs
Normal file
@@ -0,0 +1,64 @@
|
||||
using NodeCanvas.Framework;
|
||||
using ParadoxNotion.Design;
|
||||
using Pathfinding;
|
||||
using UnityEngine;
|
||||
|
||||
|
||||
namespace Reset.Units {
|
||||
|
||||
[Category("Reset/Pathfinding")]
|
||||
[Description("Set the agent's current path to a wandering path.")]
|
||||
public class SetWanderingPath : ActionTask<UnitPathfinding> {
|
||||
|
||||
//Use for initialization. This is called only once in the lifetime of the task.
|
||||
//Return null if init was successfull. Return an error string otherwise
|
||||
protected override string OnInit() {
|
||||
return null;
|
||||
}
|
||||
|
||||
//This is called once each time the task is enabled.
|
||||
//Call EndAction() to mark the action as finished, either in success or failure.
|
||||
//EndAction can be called from anywhere.
|
||||
protected override void OnExecute(){
|
||||
Enemy thisEnemy = agent.Unit as Enemy;
|
||||
Vector3 pathTargetPos = agent.transform.position;
|
||||
|
||||
if (thisEnemy.relatedSpawner) {
|
||||
pathTargetPos = thisEnemy.relatedSpawner.transform.position;
|
||||
}
|
||||
|
||||
Vector3 randomizedDestination = new Vector3(
|
||||
Random.Range(-thisEnemy.relatedSpawner.radius, thisEnemy.relatedSpawner.radius),
|
||||
0f,
|
||||
Random.Range(-thisEnemy.relatedSpawner.radius, thisEnemy.relatedSpawner.radius)
|
||||
);
|
||||
|
||||
pathTargetPos += randomizedDestination;
|
||||
|
||||
agent.seeker.StartPath(agent.transform.position, pathTargetPos, OnPathComplete);
|
||||
|
||||
EndAction(true);
|
||||
}
|
||||
|
||||
public void OnPathComplete(Path p){
|
||||
if (!p.error) {
|
||||
agent.AssignNewPath(p);
|
||||
}
|
||||
}
|
||||
|
||||
//Called once per frame while the action is active.
|
||||
protected override void OnUpdate() {
|
||||
|
||||
}
|
||||
|
||||
//Called when the task is disabled.
|
||||
protected override void OnStop() {
|
||||
|
||||
}
|
||||
|
||||
//Called when the task is paused.
|
||||
protected override void OnPause() {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a8b7661016b47ae4e9137833e7111460
|
||||
41
Assets/Scripts/Units/Graph Tasks/TogglePathfinding.cs
Normal file
41
Assets/Scripts/Units/Graph Tasks/TogglePathfinding.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
using NodeCanvas.Framework;
|
||||
using ParadoxNotion.Design;
|
||||
|
||||
|
||||
namespace Reset.Units {
|
||||
|
||||
[Category("Reset/Units")]
|
||||
[Description("Set whether this unit can use pathfinding or not.")]
|
||||
public class TogglePathfinding : ActionTask<UnitPathfinding>{
|
||||
public BBParameter<bool> value;
|
||||
|
||||
//Use for initialization. This is called only once in the lifetime of the task.
|
||||
//Return null if init was successfull. Return an error string otherwise
|
||||
protected override string OnInit() {
|
||||
return null;
|
||||
}
|
||||
|
||||
//This is called once each time the task is enabled.
|
||||
//Call EndAction() to mark the action as finished, either in success or failure.
|
||||
//EndAction can be called from anywhere.
|
||||
protected override void OnExecute(){
|
||||
agent.pathfindingEnabled = value.value;
|
||||
EndAction(true);
|
||||
}
|
||||
|
||||
//Called once per frame while the action is active.
|
||||
protected override void OnUpdate() {
|
||||
|
||||
}
|
||||
|
||||
//Called when the task is disabled.
|
||||
protected override void OnStop() {
|
||||
|
||||
}
|
||||
|
||||
//Called when the task is paused.
|
||||
protected override void OnPause() {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e7bebfffaed94604db733c72cde6be7d
|
||||
7
Assets/Scripts/Units/IUnitDirectionProvider.cs
Normal file
7
Assets/Scripts/Units/IUnitDirectionProvider.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Reset.Units{
|
||||
public interface IUnitDirectionProvider{
|
||||
public Vector2 Direction{ get; }
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Units/IUnitDirectionProvider.cs.meta
Normal file
3
Assets/Scripts/Units/IUnitDirectionProvider.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ba6af7dc2e654035a720449447af3fa8
|
||||
timeCreated: 1761268431
|
||||
@@ -13,14 +13,17 @@ using Sirenix.OdinInspector;
|
||||
using Unity.Cinemachine;
|
||||
using Object = UnityEngine.Object;
|
||||
|
||||
public class PlayerControls : MonoBehaviour{
|
||||
public class PlayerControls : MonoBehaviour, IUnitDirectionProvider{
|
||||
// References
|
||||
private Player thisPlayer;
|
||||
|
||||
private PlayerInput input;
|
||||
private SignalDefinition inputSignal;
|
||||
private SignalDefinition blockSignal;
|
||||
|
||||
|
||||
// IUnitDirectionProvider
|
||||
public Vector2 Direction => rawMoveInput;
|
||||
|
||||
// TODO: Turn these into accessors
|
||||
public Vector2 rawMoveInput;
|
||||
public Vector2 rawLookInput;
|
||||
|
||||
@@ -22,8 +22,16 @@ public class SettingValue<T> : IResettableSettingValue{
|
||||
|
||||
public T Value{
|
||||
get => currentValue;
|
||||
set => targetValue = value;
|
||||
set{
|
||||
if (IsSmoothable()) {
|
||||
targetValue = value;
|
||||
} else {
|
||||
currentValue = value;
|
||||
targetValue = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[HorizontalGroup("Settings"), VerticalGroup("Settings/Smoothing"), BoxGroup("Settings/Smoothing/Smoothing"), LabelText("Current"), ShowIf("@IsSmoothable()")]
|
||||
public float currentSmoothing;
|
||||
[HorizontalGroup("Settings"), VerticalGroup("Settings/Value"), BoxGroup("Settings/Value/Value"), LabelText("Default")]
|
||||
|
||||
@@ -24,6 +24,14 @@ namespace Reset.Units{
|
||||
get{ if (!_graph) { _graph = GetComponent<GraphOwner>(); } return _graph; }
|
||||
}
|
||||
|
||||
private UnitCombat _combat;
|
||||
internal UnitCombat Combat{
|
||||
get {
|
||||
if (_combat == null) { _combat = GetComponent<UnitCombat>(); }
|
||||
return _combat;
|
||||
}
|
||||
}
|
||||
|
||||
// Debug and Gizmos
|
||||
public NetworkVariable<FixedString64Bytes> graphStateAsString;
|
||||
|
||||
@@ -94,13 +102,18 @@ namespace Reset.Units{
|
||||
|
||||
private void DrawStateGizmo(){
|
||||
// Get state from FSM
|
||||
if (UnitIsLocal()) {
|
||||
|
||||
string stateString = "";
|
||||
if (UnitIsNetworked() && UnitIsLocal()) {
|
||||
graphStateAsString.Value = FSM.currentRootStateName;
|
||||
stateString = graphStateAsString.Value.ToString();
|
||||
} else {
|
||||
stateString = FSM.currentRootStateName;
|
||||
}
|
||||
|
||||
// Draw state gizmo, regardless of if local or not
|
||||
try {
|
||||
Draw.ingame.Label2D(transform.position + Vector3.up * 2.7f, graphStateAsString.Value.ToString(),
|
||||
Draw.ingame.Label2D(transform.position + Vector3.up * 2.7f, stateString,
|
||||
Color.red);
|
||||
} catch (Exception e) {
|
||||
Debug.LogError(e.Message);
|
||||
|
||||
@@ -4,6 +4,14 @@ using UnityEngine;
|
||||
namespace Reset.Units{
|
||||
public class UnitAnimation : UnitComponent{
|
||||
public Animator modelAnimator;
|
||||
|
||||
public Transform headBone;
|
||||
public Transform neckBone;
|
||||
|
||||
public Vector3 headRotOffset;
|
||||
public Vector3 neckRotOffset;
|
||||
|
||||
public Vector3 rotationLimit;
|
||||
|
||||
// Temporary
|
||||
private float inputMagnitude;
|
||||
@@ -18,8 +26,47 @@ namespace Reset.Units{
|
||||
} catch (Exception e) {
|
||||
Debug.LogError($"Failed in setting X and Y move direction floats: {e.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void LateUpdate(){
|
||||
// TurnHead();
|
||||
}
|
||||
|
||||
void TurnHead(){
|
||||
var targetObject = (Unit.Combat as EnemyCombat).UnitTarget;
|
||||
|
||||
if (targetObject) {
|
||||
Vector3 headDirToTarget = headBone.position.DirectionTo(targetObject.transform.position);
|
||||
Vector3 neckDirToTarget = neckBone.position.DirectionTo(targetObject.transform.position);
|
||||
|
||||
Quaternion newHeadRot = Quaternion.LookRotation(headDirToTarget);
|
||||
Quaternion newNeckRot = Quaternion.LookRotation(neckDirToTarget);
|
||||
|
||||
Quaternion offsetHeadRot = Quaternion.Euler(headRotOffset);
|
||||
Quaternion offsetNeckRot = Quaternion.Euler(neckRotOffset);
|
||||
|
||||
Debug.Log(offsetNeckRot.eulerAngles);
|
||||
|
||||
Vector3 clampedHeadRot = new Vector3(
|
||||
Mathf.Clamp(newHeadRot.eulerAngles.x, -rotationLimit.x, rotationLimit.x),
|
||||
Mathf.Clamp(newHeadRot.eulerAngles.y, -rotationLimit.y, rotationLimit.y),
|
||||
Mathf.Clamp(newHeadRot.eulerAngles.z, -rotationLimit.z, rotationLimit.z)
|
||||
);
|
||||
|
||||
Vector3 clampedNeckRot = new Vector3(
|
||||
Mathf.Clamp(newNeckRot.eulerAngles.x, -rotationLimit.x, rotationLimit.x),
|
||||
Mathf.Clamp(newNeckRot.eulerAngles.y, -rotationLimit.y, rotationLimit.y),
|
||||
Mathf.Clamp(newNeckRot.eulerAngles.z, -rotationLimit.z, rotationLimit.z)
|
||||
);
|
||||
|
||||
Quaternion outputHeadRot = Quaternion.Lerp(headBone.transform.rotation, Quaternion.Euler(clampedHeadRot), .8f);
|
||||
Quaternion outputNeckRot = Quaternion.Lerp(neckBone.transform.rotation, Quaternion.Euler(clampedNeckRot), .2f);
|
||||
|
||||
headBone.transform.rotation = offsetHeadRot * headBone.transform.rotation * outputHeadRot;
|
||||
neckBone.transform.rotation = (offsetNeckRot * neckBone.transform.rotation * outputNeckRot);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,13 @@
|
||||
namespace Reset.Units{
|
||||
public enum UnitFacingDirection{
|
||||
TowardsTarget = 0,
|
||||
MatchInput,
|
||||
MatchCamera,
|
||||
Static,
|
||||
Momentum,
|
||||
SpecifiedDirection
|
||||
}
|
||||
|
||||
public enum PlayerFacingDirection{
|
||||
TowardsTarget = 0,
|
||||
MatchInput,
|
||||
@@ -31,7 +31,7 @@ namespace Reset.Units{
|
||||
[Title("Gravity Scale"), HideLabel, InlineProperty] public SettingValue<float> gravityScale = new SettingValue<float>(1f);
|
||||
|
||||
// Rotation
|
||||
[Title("Rotate Facing"), HideLabel, InlineProperty] public SettingValue<PlayerFacingDirection> facingDirection = new SettingValue<PlayerFacingDirection>(initValue: PlayerFacingDirection.Momentum);
|
||||
[Title("Rotate Facing"), HideLabel, InlineProperty] public SettingValue<UnitFacingDirection> facingDirection = new SettingValue<UnitFacingDirection>(initValue: UnitFacingDirection.Momentum);
|
||||
[Title("Rotation Speed"), HideLabel, InlineProperty] public SettingValue<float> rotationSpeed = new SettingValue<float>(5f);
|
||||
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ using Sirenix.OdinInspector;
|
||||
using Unity.Netcode;
|
||||
|
||||
namespace Reset.Units{
|
||||
public class UnitMovementHandler : UnitComponent{
|
||||
public class UnitMovementHandler : UnitComponent {
|
||||
[ShowInInspector, InlineProperty, HideLabel, FoldoutGroup("Resolved Movement", expanded: true)]
|
||||
public ResolvedMovement resolvedMovement;
|
||||
|
||||
@@ -19,8 +19,8 @@ namespace Reset.Units{
|
||||
|
||||
// References
|
||||
private CharacterController controller;
|
||||
private PlayerControls controls;
|
||||
private LockOnManager lockOnManager;
|
||||
private IUnitDirectionProvider directionProvider;
|
||||
private IUnitTargetProvider targetProvider;
|
||||
|
||||
// Movement Data
|
||||
[ShowInInspector, PropertyOrder(2), FoldoutGroup("Movement Data", expanded: true), InlineProperty, HideLabel] public UnitMovementData data = new();
|
||||
@@ -30,8 +30,8 @@ namespace Reset.Units{
|
||||
|
||||
void Awake(){
|
||||
controller = GetComponent<CharacterController>();
|
||||
controls = GetComponent<PlayerControls>();
|
||||
lockOnManager = GetComponent<LockOnManager>();
|
||||
directionProvider = GetComponent<IUnitDirectionProvider>();
|
||||
targetProvider = GetComponent<IUnitTargetProvider>();
|
||||
|
||||
InitAllSettings();
|
||||
}
|
||||
@@ -59,7 +59,7 @@ namespace Reset.Units{
|
||||
// Update the direction, called every frame
|
||||
private void UpdateCurrentDirection(){
|
||||
// Get input value
|
||||
Vector2 targetDirection = new Vector2(controls.rawMoveInput.x, controls.rawMoveInput.y);
|
||||
Vector2 targetDirection = new Vector2(directionProvider.Direction.x, directionProvider.Direction.y);
|
||||
|
||||
// Rotate input by camera rotation (instead of rotating the output direction by camera rotation)
|
||||
targetDirection = (Camera.main.transform.rotation * targetDirection.ToVector3()).ToVector2();
|
||||
@@ -97,7 +97,7 @@ namespace Reset.Units{
|
||||
newDirection = Vector2.SmoothDamp(currentDirection, targetDirection, ref refVelocityDirectionChangingHardness, data.directionChangingSoftness.Value * data.airDirectionDecay.Value * Time.deltaTime);
|
||||
}
|
||||
|
||||
newDirection = Vector3.Slerp(resolvedMovement.moveDirection.World, newDirection, controls.rawMoveInput.magnitude);
|
||||
newDirection = Vector3.Slerp(resolvedMovement.moveDirection.World, newDirection, directionProvider.Direction.magnitude);
|
||||
|
||||
// Commit the new direction
|
||||
resolvedMovement.moveDirection.World = newDirection;
|
||||
@@ -108,7 +108,7 @@ namespace Reset.Units{
|
||||
// ""Smooth"" the speed
|
||||
float smoothedSpeed;
|
||||
|
||||
if (resolvedMovement.moveDirection.Local.magnitude < controls.rawMoveInput.magnitude) {
|
||||
if (resolvedMovement.moveDirection.Local.magnitude < directionProvider.Direction.magnitude) {
|
||||
smoothedSpeed = Mathf.MoveTowards(resolvedMovement.moveSpeed, data.moveSpeed.Value, data.acceleration.Value * Time.deltaTime);
|
||||
} else {
|
||||
smoothedSpeed = Mathf.MoveTowards(resolvedMovement.moveSpeed, 0f, data.deacceleration.Value * Time.deltaTime);
|
||||
@@ -135,42 +135,42 @@ namespace Reset.Units{
|
||||
// Update the rotation, called every frame
|
||||
private void UpdateCurrentRotation(){
|
||||
// Get input value
|
||||
Vector3 inputMovement = new Vector3(controls.rawMoveInput.x, 0f, controls.rawMoveInput.y);
|
||||
Vector3 inputMovement = new Vector3(directionProvider.Direction.x, 0f, directionProvider.Direction.y);
|
||||
|
||||
Quaternion targetRotation = Quaternion.identity;
|
||||
// Switch the desired rotation based on current movement setting
|
||||
switch (data.facingDirection.Value) {
|
||||
// Just look at target
|
||||
case PlayerFacingDirection.TowardsTarget:
|
||||
case UnitFacingDirection.TowardsTarget:
|
||||
// Look directly at the target
|
||||
if (lockOnManager.mainTarget == null) {
|
||||
if (targetProvider.UnitTarget == null) {
|
||||
Debug.LogError("Trying to rotate towards a target but there is no target. Forcing rotation to Static and continuing");
|
||||
data.facingDirection.Value = PlayerFacingDirection.Static;
|
||||
data.facingDirection.currentValue = PlayerFacingDirection.Static;
|
||||
data.facingDirection.Value = UnitFacingDirection.Static;
|
||||
data.facingDirection.currentValue = UnitFacingDirection.Static;
|
||||
|
||||
targetRotation = transform.rotation;
|
||||
break;
|
||||
}
|
||||
|
||||
targetRotation = Quaternion.LookRotation(transform.position.DirectionTo(lockOnManager.mainTarget.gameObject.transform.position));
|
||||
targetRotation = Quaternion.LookRotation(transform.position.DirectionTo(targetProvider.UnitTarget.transform.position));
|
||||
break;
|
||||
case PlayerFacingDirection.Momentum:
|
||||
case UnitFacingDirection.Momentum:
|
||||
// Look towards the current direction the agent is moving
|
||||
if (inputMovement.magnitude > .05f){
|
||||
targetRotation = Quaternion.LookRotation(resolvedMovement.moveDirection.RawWorld.ToVector3(), Vector3.up);
|
||||
}
|
||||
break;
|
||||
case PlayerFacingDirection.MatchInput:
|
||||
case UnitFacingDirection.MatchInput:
|
||||
// Look towards the input direction- similar to Momentum but snappier
|
||||
if (controls.rawMoveInput.magnitude < 0.05f) { break; }
|
||||
if (directionProvider.Direction.magnitude < 0.05f) { break; }
|
||||
|
||||
targetRotation = Camera.main.transform.rotation * Quaternion.LookRotation(inputMovement);
|
||||
break;
|
||||
case PlayerFacingDirection.MatchCamera:
|
||||
case UnitFacingDirection.MatchCamera:
|
||||
// Look the same direction as the camera
|
||||
targetRotation = Quaternion.Euler(Camera.main.transform.rotation.eulerAngles.Flatten(0, null, 0));
|
||||
break;
|
||||
case PlayerFacingDirection.Static:
|
||||
case UnitFacingDirection.Static:
|
||||
// Don't change
|
||||
targetRotation = resolvedMovement.rotation;
|
||||
break;
|
||||
@@ -179,9 +179,9 @@ namespace Reset.Units{
|
||||
DebugOverlayDrawer.ChangeValue("Rotation", "Target Rotation", targetRotation.eulerAngles);
|
||||
|
||||
// Add the current input into the created rotation
|
||||
if (data.facingDirection.Value == PlayerFacingDirection.MatchCamera || data.facingDirection.Value == PlayerFacingDirection.TowardsTarget) {
|
||||
if (data.facingDirection.Value == UnitFacingDirection.MatchCamera || data.facingDirection.Value == UnitFacingDirection.TowardsTarget) {
|
||||
resolvedMovement.rotation = targetRotation;
|
||||
} else if (controls.rawMoveInput.sqrMagnitude > .1){
|
||||
} else if (directionProvider.Direction.sqrMagnitude > .1){
|
||||
resolvedMovement.rotation = targetRotation;
|
||||
}
|
||||
|
||||
@@ -391,6 +391,7 @@ namespace Reset.Units{
|
||||
public void OverwriteDirectionFromInput(Vector2 value, float priority, float speed = Mathf.Infinity){ // Old
|
||||
Debug.LogError("Using an old movement command! Switch to one of the new alternatives!");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
93
Assets/Scripts/Units/UnitPathfinding.cs
Normal file
93
Assets/Scripts/Units/UnitPathfinding.cs
Normal file
@@ -0,0 +1,93 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using Pathfinding;
|
||||
using Pathfinding.Drawing;
|
||||
using UnityEngine;
|
||||
using Vector2 = UnityEngine.Vector2;
|
||||
using Vector3 = UnityEngine.Vector3;
|
||||
|
||||
namespace Reset.Units{
|
||||
[RequireComponent(typeof(Seeker))]
|
||||
public class UnitPathfinding : UnitComponent, IUnitDirectionProvider{
|
||||
public Vector2 Direction{ get; set; }
|
||||
|
||||
public bool pathfindingEnabled;
|
||||
|
||||
public Seeker seeker;
|
||||
|
||||
public float nextWaypointDistance = 3;
|
||||
private int currentWaypoint;
|
||||
|
||||
public Path path;
|
||||
public bool reachedEndOfPath;
|
||||
|
||||
public void Start(){
|
||||
seeker = GetComponent<Seeker>();
|
||||
|
||||
Enemy thisEnemy = (Unit as Enemy);
|
||||
|
||||
if (thisEnemy.relatedSpawner){
|
||||
seeker.graphMask = GraphMask.FromGraph(thisEnemy.relatedSpawner.relatedGraph);
|
||||
} else {
|
||||
Debug.LogWarning("Creating a graph for a singular enemy is not yet implemented. Graph mask not set on this unit.", transform);
|
||||
}
|
||||
}
|
||||
|
||||
public void AssignNewPath(Path p){
|
||||
if (!p.error) {
|
||||
path = p;
|
||||
// Reset the waypoint counter so that we start to move towards the first point in the path
|
||||
currentWaypoint = 0;
|
||||
}
|
||||
}
|
||||
|
||||
public void Update(){
|
||||
FollowCurrentPath();
|
||||
}
|
||||
|
||||
private void FollowCurrentPath(){
|
||||
if (path == null) {
|
||||
// We have no path to follow yet, so don't do anything
|
||||
return;
|
||||
}
|
||||
|
||||
reachedEndOfPath = false;
|
||||
// The distance to the next waypoint in the path
|
||||
float distanceToWaypoint;
|
||||
|
||||
while (true) {
|
||||
// If you want maximum performance you can check the squared distance instead to get rid of a
|
||||
// square root calculation. But that is outside the scope of this tutorial.
|
||||
distanceToWaypoint = Vector3.Distance(transform.position, path.vectorPath[currentWaypoint]);
|
||||
if (distanceToWaypoint < nextWaypointDistance) {
|
||||
// Check if there is another waypoint or if we have reached the end of the path
|
||||
if (currentWaypoint + 1 < path.vectorPath.Count) {
|
||||
currentWaypoint++;
|
||||
} else {
|
||||
// Set a status variable to indicate that the agent has reached the end of the path.
|
||||
// You can use this to trigger some special code if your game requires that.
|
||||
reachedEndOfPath = true;
|
||||
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Pass the direction to the direction handler interface
|
||||
if (currentWaypoint + 1 == path.vectorPath.Count) {
|
||||
Direction = (path.vectorPath[currentWaypoint] - transform.position).ToVector2();
|
||||
Direction = Vector3.ClampMagnitude(Direction, 1f);
|
||||
} else {
|
||||
Direction = (path.vectorPath[currentWaypoint] - transform.position).normalized.ToVector2();
|
||||
}
|
||||
|
||||
// Draw an indicator for the path
|
||||
Draw.ingame.SolidCircle(path.vectorPath[currentWaypoint] + Vector3.up * .02f, Vector3.up, .3f);
|
||||
Draw.ingame.Arrow(transform.position, transform.position + Direction.ToVector3(), Vector3.up, .3f);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
2
Assets/Scripts/Units/UnitPathfinding.cs.meta
Normal file
2
Assets/Scripts/Units/UnitPathfinding.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1a72dabd280fe71488a78596bd852afc
|
||||
@@ -14,7 +14,9 @@
|
||||
"GUID:f2d49d9fa7e7eb3418e39723a7d3b92f",
|
||||
"GUID:5540e30183c82e84b954c033c388e06c",
|
||||
"GUID:fe25561d224ed4743af4c60938a59d0b",
|
||||
"GUID:37e17ffe38d86ae48bc3207e83ffef88"
|
||||
"GUID:37e17ffe38d86ae48bc3207e83ffef88",
|
||||
"GUID:efa45043feb7e4147a305b73b5cea642",
|
||||
"GUID:f4059aaf6c60a4a58a177a2609feb769"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
7
Assets/Scripts/Wilds.Core.asmdef.old.meta
Normal file
7
Assets/Scripts/Wilds.Core.asmdef.old.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a4ea9f82528f3024da71454257341643
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user