@ -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: 20f70984b262f8d4382bf5262dddb83e, type: 3} |
|||
m_Name: SkeletonArcher |
|||
m_EditorClassIdentifier: |
|||
enemyName: skeletonArcher |
|||
enemyIcon: {fileID: 21300000, guid: 99d6cfcd8d628454989abc09534f0b64, type: 3} |
|||
stepRange: 2 |
|||
stepRangeMultiplier: 1 |
|||
speed: 2 |
|||
maxMoveCoolDown: 0 |
|||
currentMoveCoolDown: 0 |
|||
shieldValue: 0 |
|||
upShieldValue: 0 |
|||
maxHP: 25 |
|||
currentHP: 25 |
|||
colourType: 0 |
|||
maxSkillCoolDown: 3 |
|||
currentSkillCoolDown: 3 |
|||
damageMultiplier: 1 |
|||
damage: 4 |
|||
attackRange: 5 |
|||
@ -0,0 +1,8 @@ |
|||
fileFormatVersion: 2 |
|||
guid: cd41dee2989428446961e4cb663b53ff |
|||
NativeFormatImporter: |
|||
externalObjects: {} |
|||
mainObjectFileID: 11400000 |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|||
@ -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: 20f70984b262f8d4382bf5262dddb83e, type: 3} |
|||
m_Name: SkullGuardian |
|||
m_EditorClassIdentifier: |
|||
enemyName: skullGuardian |
|||
enemyIcon: {fileID: 21300000, guid: bd8f3094e7ef01148bddd857e065ebc3, type: 3} |
|||
stepRange: 3 |
|||
stepRangeMultiplier: 1 |
|||
speed: 1 |
|||
maxMoveCoolDown: 0 |
|||
currentMoveCoolDown: 0 |
|||
shieldValue: 0 |
|||
upShieldValue: 7 |
|||
maxHP: 27 |
|||
currentHP: 27 |
|||
colourType: 0 |
|||
maxSkillCoolDown: 3 |
|||
currentSkillCoolDown: 3 |
|||
damageMultiplier: 1 |
|||
damage: 5 |
|||
attackRange: 1 |
|||
@ -0,0 +1,8 @@ |
|||
fileFormatVersion: 2 |
|||
guid: f3b1b010998041142826272011c50414 |
|||
NativeFormatImporter: |
|||
externalObjects: {} |
|||
mainObjectFileID: 11400000 |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|||
|
After Width: | Height: | Size: 7.5 KiB |
@ -0,0 +1,127 @@ |
|||
fileFormatVersion: 2 |
|||
guid: 7dabc4a5de8b7f14c8af2d6c078e4470 |
|||
TextureImporter: |
|||
internalIDToNameTable: [] |
|||
externalObjects: {} |
|||
serializedVersion: 12 |
|||
mipmaps: |
|||
mipMapMode: 0 |
|||
enableMipMap: 0 |
|||
sRGBTexture: 1 |
|||
linearTexture: 0 |
|||
fadeOut: 0 |
|||
borderMipMap: 0 |
|||
mipMapsPreserveCoverage: 0 |
|||
alphaTestReferenceValue: 0.5 |
|||
mipMapFadeDistanceStart: 1 |
|||
mipMapFadeDistanceEnd: 3 |
|||
bumpmap: |
|||
convertToNormalMap: 0 |
|||
externalNormalMap: 0 |
|||
heightScale: 0.25 |
|||
normalMapFilter: 0 |
|||
flipGreenChannel: 0 |
|||
isReadable: 0 |
|||
streamingMipmaps: 0 |
|||
streamingMipmapsPriority: 0 |
|||
vTOnly: 0 |
|||
ignoreMipmapLimit: 0 |
|||
grayScaleToAlpha: 0 |
|||
generateCubemap: 6 |
|||
cubemapConvolution: 0 |
|||
seamlessCubemap: 0 |
|||
textureFormat: 1 |
|||
maxTextureSize: 2048 |
|||
textureSettings: |
|||
serializedVersion: 2 |
|||
filterMode: 1 |
|||
aniso: 1 |
|||
mipBias: 0 |
|||
wrapU: 1 |
|||
wrapV: 1 |
|||
wrapW: 0 |
|||
nPOTScale: 0 |
|||
lightmap: 0 |
|||
compressionQuality: 50 |
|||
spriteMode: 1 |
|||
spriteExtrude: 1 |
|||
spriteMeshType: 1 |
|||
alignment: 0 |
|||
spritePivot: {x: 0.5, y: 0.5} |
|||
spritePixelsToUnits: 100 |
|||
spriteBorder: {x: 0, y: 0, z: 0, w: 0} |
|||
spriteGenerateFallbackPhysicsShape: 1 |
|||
alphaUsage: 1 |
|||
alphaIsTransparency: 1 |
|||
spriteTessellationDetail: -1 |
|||
textureType: 8 |
|||
textureShape: 1 |
|||
singleChannelComponent: 0 |
|||
flipbookRows: 1 |
|||
flipbookColumns: 1 |
|||
maxTextureSizeSet: 0 |
|||
compressionQualitySet: 0 |
|||
textureFormatSet: 0 |
|||
ignorePngGamma: 0 |
|||
applyGammaDecoding: 0 |
|||
swizzle: 50462976 |
|||
cookieLightType: 0 |
|||
platformSettings: |
|||
- serializedVersion: 3 |
|||
buildTarget: DefaultTexturePlatform |
|||
maxTextureSize: 256 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 1 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
ignorePlatformSupport: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
|||
- serializedVersion: 3 |
|||
buildTarget: Standalone |
|||
maxTextureSize: 2048 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 1 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
ignorePlatformSupport: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
|||
- serializedVersion: 3 |
|||
buildTarget: Server |
|||
maxTextureSize: 2048 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 1 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
ignorePlatformSupport: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
|||
spriteSheet: |
|||
serializedVersion: 2 |
|||
sprites: [] |
|||
outline: [] |
|||
physicsShape: [] |
|||
bones: [] |
|||
spriteID: 5e97eb03825dee720800000000000000 |
|||
internalID: 0 |
|||
vertices: [] |
|||
indices: |
|||
edges: [] |
|||
weights: [] |
|||
secondaryTextures: [] |
|||
nameFileIdTable: {} |
|||
mipmapLimitGroupName: |
|||
pSDRemoveMatte: 0 |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|||
|
After Width: | Height: | Size: 6.1 KiB |
@ -0,0 +1,127 @@ |
|||
fileFormatVersion: 2 |
|||
guid: ef8be5fd7b9a2b24d8ffed755e2605b4 |
|||
TextureImporter: |
|||
internalIDToNameTable: [] |
|||
externalObjects: {} |
|||
serializedVersion: 12 |
|||
mipmaps: |
|||
mipMapMode: 0 |
|||
enableMipMap: 0 |
|||
sRGBTexture: 1 |
|||
linearTexture: 0 |
|||
fadeOut: 0 |
|||
borderMipMap: 0 |
|||
mipMapsPreserveCoverage: 0 |
|||
alphaTestReferenceValue: 0.5 |
|||
mipMapFadeDistanceStart: 1 |
|||
mipMapFadeDistanceEnd: 3 |
|||
bumpmap: |
|||
convertToNormalMap: 0 |
|||
externalNormalMap: 0 |
|||
heightScale: 0.25 |
|||
normalMapFilter: 0 |
|||
flipGreenChannel: 0 |
|||
isReadable: 0 |
|||
streamingMipmaps: 0 |
|||
streamingMipmapsPriority: 0 |
|||
vTOnly: 0 |
|||
ignoreMipmapLimit: 0 |
|||
grayScaleToAlpha: 0 |
|||
generateCubemap: 6 |
|||
cubemapConvolution: 0 |
|||
seamlessCubemap: 0 |
|||
textureFormat: 1 |
|||
maxTextureSize: 2048 |
|||
textureSettings: |
|||
serializedVersion: 2 |
|||
filterMode: 1 |
|||
aniso: 1 |
|||
mipBias: 0 |
|||
wrapU: 1 |
|||
wrapV: 1 |
|||
wrapW: 0 |
|||
nPOTScale: 0 |
|||
lightmap: 0 |
|||
compressionQuality: 50 |
|||
spriteMode: 1 |
|||
spriteExtrude: 1 |
|||
spriteMeshType: 1 |
|||
alignment: 0 |
|||
spritePivot: {x: 0.5, y: 0.5} |
|||
spritePixelsToUnits: 100 |
|||
spriteBorder: {x: 0, y: 0, z: 0, w: 0} |
|||
spriteGenerateFallbackPhysicsShape: 1 |
|||
alphaUsage: 1 |
|||
alphaIsTransparency: 1 |
|||
spriteTessellationDetail: -1 |
|||
textureType: 8 |
|||
textureShape: 1 |
|||
singleChannelComponent: 0 |
|||
flipbookRows: 1 |
|||
flipbookColumns: 1 |
|||
maxTextureSizeSet: 0 |
|||
compressionQualitySet: 0 |
|||
textureFormatSet: 0 |
|||
ignorePngGamma: 0 |
|||
applyGammaDecoding: 0 |
|||
swizzle: 50462976 |
|||
cookieLightType: 0 |
|||
platformSettings: |
|||
- serializedVersion: 3 |
|||
buildTarget: DefaultTexturePlatform |
|||
maxTextureSize: 256 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 1 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
ignorePlatformSupport: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
|||
- serializedVersion: 3 |
|||
buildTarget: Standalone |
|||
maxTextureSize: 2048 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 1 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
ignorePlatformSupport: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
|||
- serializedVersion: 3 |
|||
buildTarget: Server |
|||
maxTextureSize: 2048 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 1 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
ignorePlatformSupport: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
|||
spriteSheet: |
|||
serializedVersion: 2 |
|||
sprites: [] |
|||
outline: [] |
|||
physicsShape: [] |
|||
bones: [] |
|||
spriteID: 5e97eb03825dee720800000000000000 |
|||
internalID: 0 |
|||
vertices: [] |
|||
indices: |
|||
edges: [] |
|||
weights: [] |
|||
secondaryTextures: [] |
|||
nameFileIdTable: {} |
|||
mipmapLimitGroupName: |
|||
pSDRemoveMatte: 0 |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|||
@ -0,0 +1,77 @@ |
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!1 &7429868863709343630 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 3455870911667358594} |
|||
- component: {fileID: 4143743717990911317} |
|||
- component: {fileID: 9056489289630293226} |
|||
m_Layer: 5 |
|||
m_Name: head 1 |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!224 &3455870911667358594 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 7429868863709343630} |
|||
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: 0} |
|||
m_SizeDelta: {x: 176, y: 89} |
|||
m_Pivot: {x: 0.5, y: 0.5} |
|||
--- !u!222 &4143743717990911317 |
|||
CanvasRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 7429868863709343630} |
|||
m_CullTransparentMesh: 1 |
|||
--- !u!114 &9056489289630293226 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 7429868863709343630} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Material: {fileID: 0} |
|||
m_Color: {r: 1, g: 1, b: 1, a: 1} |
|||
m_RaycastTarget: 0 |
|||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} |
|||
m_Maskable: 0 |
|||
m_OnCullStateChanged: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_Sprite: {fileID: 21300000, guid: 60f21dd9d90e94f4c8692156423646f4, type: 3} |
|||
m_Type: 0 |
|||
m_PreserveAspect: 0 |
|||
m_FillCenter: 1 |
|||
m_FillMethod: 4 |
|||
m_FillAmount: 1 |
|||
m_FillClockwise: 1 |
|||
m_FillOrigin: 0 |
|||
m_UseSpriteMesh: 0 |
|||
m_PixelsPerUnitMultiplier: 1 |
|||
@ -0,0 +1,7 @@ |
|||
fileFormatVersion: 2 |
|||
guid: 2a9797c2a0e05814785fdfbd69154f5a |
|||
PrefabImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|||
|
After Width: | Height: | Size: 5.3 KiB |
@ -0,0 +1,127 @@ |
|||
fileFormatVersion: 2 |
|||
guid: 675fbaf6fc91ba94eb098a7bcac7dc3d |
|||
TextureImporter: |
|||
internalIDToNameTable: [] |
|||
externalObjects: {} |
|||
serializedVersion: 12 |
|||
mipmaps: |
|||
mipMapMode: 0 |
|||
enableMipMap: 0 |
|||
sRGBTexture: 1 |
|||
linearTexture: 0 |
|||
fadeOut: 0 |
|||
borderMipMap: 0 |
|||
mipMapsPreserveCoverage: 0 |
|||
alphaTestReferenceValue: 0.5 |
|||
mipMapFadeDistanceStart: 1 |
|||
mipMapFadeDistanceEnd: 3 |
|||
bumpmap: |
|||
convertToNormalMap: 0 |
|||
externalNormalMap: 0 |
|||
heightScale: 0.25 |
|||
normalMapFilter: 0 |
|||
flipGreenChannel: 0 |
|||
isReadable: 0 |
|||
streamingMipmaps: 0 |
|||
streamingMipmapsPriority: 0 |
|||
vTOnly: 0 |
|||
ignoreMipmapLimit: 0 |
|||
grayScaleToAlpha: 0 |
|||
generateCubemap: 6 |
|||
cubemapConvolution: 0 |
|||
seamlessCubemap: 0 |
|||
textureFormat: 1 |
|||
maxTextureSize: 2048 |
|||
textureSettings: |
|||
serializedVersion: 2 |
|||
filterMode: 1 |
|||
aniso: 1 |
|||
mipBias: 0 |
|||
wrapU: 1 |
|||
wrapV: 1 |
|||
wrapW: 0 |
|||
nPOTScale: 0 |
|||
lightmap: 0 |
|||
compressionQuality: 50 |
|||
spriteMode: 1 |
|||
spriteExtrude: 1 |
|||
spriteMeshType: 1 |
|||
alignment: 0 |
|||
spritePivot: {x: 0.5, y: 0.5} |
|||
spritePixelsToUnits: 100 |
|||
spriteBorder: {x: 0, y: 0, z: 0, w: 0} |
|||
spriteGenerateFallbackPhysicsShape: 1 |
|||
alphaUsage: 1 |
|||
alphaIsTransparency: 1 |
|||
spriteTessellationDetail: -1 |
|||
textureType: 8 |
|||
textureShape: 1 |
|||
singleChannelComponent: 0 |
|||
flipbookRows: 1 |
|||
flipbookColumns: 1 |
|||
maxTextureSizeSet: 0 |
|||
compressionQualitySet: 0 |
|||
textureFormatSet: 0 |
|||
ignorePngGamma: 0 |
|||
applyGammaDecoding: 0 |
|||
swizzle: 50462976 |
|||
cookieLightType: 0 |
|||
platformSettings: |
|||
- serializedVersion: 3 |
|||
buildTarget: DefaultTexturePlatform |
|||
maxTextureSize: 256 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 1 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
ignorePlatformSupport: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
|||
- serializedVersion: 3 |
|||
buildTarget: Standalone |
|||
maxTextureSize: 2048 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 1 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
ignorePlatformSupport: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
|||
- serializedVersion: 3 |
|||
buildTarget: Server |
|||
maxTextureSize: 2048 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 1 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
ignorePlatformSupport: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
|||
spriteSheet: |
|||
serializedVersion: 2 |
|||
sprites: [] |
|||
outline: [] |
|||
physicsShape: [] |
|||
bones: [] |
|||
spriteID: 5e97eb03825dee720800000000000000 |
|||
internalID: 0 |
|||
vertices: [] |
|||
indices: |
|||
edges: [] |
|||
weights: [] |
|||
secondaryTextures: [] |
|||
nameFileIdTable: {} |
|||
mipmapLimitGroupName: |
|||
pSDRemoveMatte: 0 |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|||
@ -0,0 +1,216 @@ |
|||
using System.Collections; |
|||
using System.Collections.Generic; |
|||
using UnityEngine; |
|||
|
|||
public class SkeletonArcher : MonoBehaviour |
|||
{ |
|||
EnemyNode enemyNode; |
|||
|
|||
public int stayRange = 5;//保持一定距离的范围
|
|||
|
|||
[Header("瞄准射线图层剔除")] |
|||
public LayerMask layerMask; |
|||
|
|||
[Header("计数标量")] |
|||
public float time; |
|||
float lastTime = 0; |
|||
|
|||
private void Start() |
|||
{ |
|||
enemyNode = GetComponent<EnemyNode>(); |
|||
} |
|||
|
|||
private void Update() |
|||
{ |
|||
//时时寻路
|
|||
if (GameManager.Instance.complete == true && TurnMaster.Instance.turn == TurnMaster.Turn.playerTurn) |
|||
{ |
|||
if (lastTime > 0) |
|||
{ |
|||
lastTime -= Time.deltaTime; |
|||
} |
|||
else |
|||
{ |
|||
enemyNode.FindPath(); |
|||
if (enemyNode.pasth.Count > stayRange) |
|||
{ |
|||
enemyNode.moveType = EnemyNode.MoveType.front; |
|||
} |
|||
else if (enemyNode.pasth.Count == stayRange) |
|||
{ |
|||
enemyNode.moveType = EnemyNode.MoveType.stay; |
|||
} |
|||
else |
|||
{ |
|||
//反向寻路
|
|||
MapUnity currentNode = enemyNode.pasth[0]; |
|||
enemyNode.oppositePasth.Clear(); |
|||
enemyNode.oppositePasth = AStarManager.Instance.FindOppositePath(currentNode, GameManager.Instance.playerOn, enemyNode.EnemyState.stepRange); |
|||
|
|||
enemyNode.moveType = EnemyNode.MoveType.back; |
|||
} |
|||
|
|||
if (enemyNode.moveType == EnemyNode.MoveType.stay) |
|||
{ |
|||
enemyNode.canMove = false; |
|||
} |
|||
else |
|||
{ |
|||
enemyNode.canMove = true; |
|||
} |
|||
|
|||
//瞄准
|
|||
switch (enemyNode.planAction) |
|||
{ |
|||
case EnemyNode.PlanAction.shoot: |
|||
ArcherAim(); |
|||
break; |
|||
case EnemyNode.PlanAction.aoe: |
|||
if (enemyNode.pasth.Count <= enemyNode.EnemyState.attackRange) |
|||
{ |
|||
enemyNode.lineAim.GetComponent<EnemyAimLine>().aimGamgObject = GameManager.Instance.player .gameObject; |
|||
} |
|||
else |
|||
{ |
|||
enemyNode.lineAim.GetComponent<EnemyAimLine>().aimGamgObject = enemyNode.pasth[enemyNode.EnemyState.attackRange].gameObject; |
|||
} |
|||
break; |
|||
|
|||
|
|||
} |
|||
//重置时间标量
|
|||
lastTime = time; |
|||
} |
|||
} |
|||
|
|||
} |
|||
|
|||
public void skeletonArcherTurn() |
|||
{ |
|||
// enemyNode.FindPath();
|
|||
|
|||
|
|||
//放技能
|
|||
if (enemyNode .EnemyState .currentSkillCoolDown >0) |
|||
{ |
|||
Vector3 dir = GameManager.Instance.player.transform.position - this.transform.position; |
|||
Ray ray = new Ray(this.transform.position, dir); |
|||
if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, layerMask.value)) |
|||
{ |
|||
if (raycastHit.collider.tag == "Player" && enemyNode.pasth.Count+1 <= enemyNode.EnemyState.attackRange) |
|||
{ |
|||
GameManager.Instance.playerState.currentHP -= (float)(enemyNode.EnemyState.damage * enemyNode.EnemyState.damageMultiplier); |
|||
} |
|||
} |
|||
Debug.Log("远程攻击"); |
|||
} |
|||
else |
|||
{ |
|||
if (enemyNode.pasth.Count <= enemyNode.EnemyState.attackRange) |
|||
{ |
|||
ArcherColour(GameManager.Instance.playerOn); |
|||
} |
|||
else |
|||
{ |
|||
ArcherColour(enemyNode.pasth[enemyNode.EnemyState.attackRange]); |
|||
} |
|||
enemyNode.EnemyState.currentSkillCoolDown = enemyNode.EnemyState.maxSkillCoolDown; |
|||
Debug.Log("剑雨"); |
|||
} |
|||
|
|||
//移动
|
|||
ArcherMove(); |
|||
|
|||
//下回合意图,先判断行走
|
|||
enemyNode.FindPath();//因为移动过了所以先重新寻路一下
|
|||
ArcherAim();//因为移动过了所以重新瞄准一下
|
|||
enemyNode.SettlementSkill(); |
|||
|
|||
if (enemyNode.EnemyState.currentMoveCoolDown > 0) |
|||
{ |
|||
enemyNode.canMove = false; |
|||
} |
|||
else |
|||
{ |
|||
if (enemyNode.pasth.Count == stayRange) |
|||
{ |
|||
enemyNode.canMove = false; |
|||
} |
|||
else |
|||
{ |
|||
enemyNode.canMove = true; |
|||
} |
|||
} |
|||
//判断下回合放啥技能
|
|||
if (enemyNode.EnemyState.currentSkillCoolDown<=0) |
|||
{ |
|||
enemyNode.planAction = EnemyNode.PlanAction.aoe; |
|||
enemyNode.canLineAppre = true; |
|||
} |
|||
else |
|||
{ |
|||
enemyNode.planAction = EnemyNode.PlanAction.shoot; |
|||
enemyNode.canLineAppre = true; |
|||
} |
|||
} |
|||
|
|||
public void ArcherMove() |
|||
{ |
|||
if (enemyNode.pasth.Count > 2) |
|||
{ |
|||
if (enemyNode.canMove) |
|||
{ |
|||
if (enemyNode.moveType == EnemyNode.MoveType.front) |
|||
{ |
|||
enemyNode.Move(enemyNode.pasth[0], enemyNode.EnemyState.stepRange); |
|||
} |
|||
else if (enemyNode.moveType == EnemyNode.MoveType.stay) |
|||
{ |
|||
//不动
|
|||
} |
|||
else |
|||
{ |
|||
enemyNode.MoveOpposite(enemyNode.oppositePasth[0], enemyNode.EnemyState.stepRange); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
public void ArcherColour(MapUnity currentNode) |
|||
{ |
|||
List<MapUnity> toColourPool = new List<MapUnity>(); |
|||
|
|||
if (currentNode.blocked == false) |
|||
toColourPool.Add(currentNode); |
|||
|
|||
for (int i = 0; i < currentNode.unitPool.Count; i++) |
|||
{ |
|||
if (currentNode.unitPool[i] != null && currentNode.unitPool[i].blocked == false) |
|||
{ |
|||
toColourPool.Add(currentNode.unitPool[i]); |
|||
} |
|||
} |
|||
|
|||
for (int c = 0; c < toColourPool.Count; c++) |
|||
{ |
|||
if (toColourPool.Count > 0) |
|||
{ |
|||
toColourPool[c].whoColour = MapUnity.WhoColour.enemyColour; |
|||
if(toColourPool[c].playerOn) |
|||
{ |
|||
GameManager.Instance.playerState.currentHP -= (float)(enemyNode.EnemyState.damage * enemyNode.EnemyState.damageMultiplier); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
public void ArcherAim() |
|||
{ |
|||
Vector3 dir = GameManager.Instance.player.transform.position - this.transform.position; |
|||
Ray ray = new Ray(this.transform.position, dir); |
|||
if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, layerMask.value)) |
|||
{ |
|||
enemyNode.lineAim.GetComponent<EnemyAimLine>().aimGamgObject = raycastHit.collider.gameObject; |
|||
} |
|||
|
|||
} |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
fileFormatVersion: 2 |
|||
guid: 2ee44fd1623e33f47a6ee9994ba818c5 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|||
@ -0,0 +1,131 @@ |
|||
using System.Collections; |
|||
using System.Collections.Generic; |
|||
using UnityEngine; |
|||
|
|||
public class SkullGuardian : MonoBehaviour |
|||
{ |
|||
EnemyNode enemyNode; |
|||
|
|||
[Header("计数标量")] |
|||
public float time; |
|||
float lastTime = 0; |
|||
|
|||
private void Start() |
|||
{ |
|||
enemyNode = GetComponent<EnemyNode>(); |
|||
} |
|||
|
|||
private void Update() |
|||
{ |
|||
//时时寻路
|
|||
if (GameManager.Instance.complete == true && TurnMaster.Instance.turn == TurnMaster.Turn.playerTurn) |
|||
{ |
|||
if (lastTime > 0) |
|||
{ |
|||
lastTime -= Time.deltaTime; |
|||
} |
|||
else |
|||
{ |
|||
enemyNode.FindPath(); |
|||
|
|||
//重置时间标量
|
|||
lastTime = time; |
|||
} |
|||
} |
|||
} |
|||
public void SkullGuardianTurn() |
|||
{ |
|||
enemyNode.FindPath(); |
|||
|
|||
//回合动作
|
|||
switch (enemyNode.planAction) |
|||
{ |
|||
case EnemyNode.PlanAction.attack: |
|||
//攻击
|
|||
MapUnity currentMapUnity = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; |
|||
if (enemyNode.canMove) |
|||
{ |
|||
if(enemyNode.pasth.Count<= enemyNode.EnemyState.attackRange + enemyNode.EnemyState.stepRange* enemyNode.EnemyState.stepRangeMultiplier) |
|||
{ |
|||
GameManager.Instance.playerState.currentHP -= (float)(enemyNode.EnemyState.damage * enemyNode.EnemyState.damageMultiplier); |
|||
} |
|||
} |
|||
else |
|||
{ |
|||
if (enemyNode.pasth.Count <= enemyNode.EnemyState.attackRange) |
|||
{ |
|||
GameManager.Instance.playerState.currentHP -= (float)(enemyNode.EnemyState.damage * enemyNode.EnemyState.damageMultiplier); |
|||
} |
|||
} |
|||
Debug.Log("攻击"); |
|||
break; |
|||
|
|||
case EnemyNode.PlanAction.sheield: |
|||
enemyNode.EnemyState.shieldValue += enemyNode.EnemyState.upShieldValue; |
|||
enemyNode.EnemyState.currentSkillCoolDown = enemyNode.EnemyState.maxSkillCoolDown; |
|||
break; |
|||
|
|||
} |
|||
SkullGuardianMove(); |
|||
|
|||
//下回合意图
|
|||
enemyNode.SettlementSkill(); |
|||
NextTurnIntention(); |
|||
} |
|||
|
|||
public void SkullGuardianMove() |
|||
{ |
|||
if (enemyNode.pasth.Count > 2&& enemyNode.canMove) |
|||
{ |
|||
enemyNode.Move(enemyNode.pasth[0], enemyNode.EnemyState.stepRange); |
|||
} |
|||
|
|||
} |
|||
|
|||
public void NextTurnIntention() |
|||
{ |
|||
|
|||
if (enemyNode.pasth.Count <= 1) |
|||
{ |
|||
enemyNode.canMove = false; |
|||
} |
|||
else |
|||
{ |
|||
enemyNode.canMove = true; |
|||
} |
|||
|
|||
if(enemyNode .EnemyState .currentSkillCoolDown <=0) |
|||
{ |
|||
enemyNode.planAction = EnemyNode.PlanAction.sheield; |
|||
} |
|||
else |
|||
{ |
|||
enemyNode.planAction = EnemyNode.PlanAction.attack; |
|||
enemyNode.canLineAppre = true; |
|||
} |
|||
|
|||
} |
|||
|
|||
public void WolfColour() |
|||
{ |
|||
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; |
|||
List<MapUnity> toColourPool = new List<MapUnity>(); |
|||
for (int i = 0; i < currentNode.unitPool.Count; i++) |
|||
{ |
|||
if (currentNode.unitPool[i] != null && currentNode.unitPool[i].blocked == false) |
|||
{ |
|||
toColourPool.Add(currentNode.unitPool[i]); |
|||
} |
|||
} |
|||
|
|||
for (int c = 0; c < 3; c++) |
|||
{ |
|||
if (toColourPool.Count > 0) |
|||
{ |
|||
int r = Random.Range(0, toColourPool.Count); |
|||
toColourPool[r].whoColour = MapUnity.WhoColour.enemyColour; |
|||
toColourPool.RemoveAt(r); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
fileFormatVersion: 2 |
|||
guid: 159aa5c40181a574ea93a2306670a2c8 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|||
|
After Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 8.3 KiB |
|
After Width: | Height: | Size: 7.7 KiB |
|
After Width: | Height: | Size: 556 B |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 556 B |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 8.3 KiB |
@ -1,10 +1,10 @@ |
|||
{ "pid": 35942, "tid": -1, "ph": "M", "name": "process_name", "args": { "name": "netcorerun.dll" } }, |
|||
{ "pid": 35942, "tid": -1, "ph": "M", "name": "process_sort_index", "args": { "sort_index": "-1" } }, |
|||
{ "pid": 35942, "tid": 1, "ph": "M", "name": "thread_name", "args": { "name": "" } }, |
|||
{ "pid": 35942, "tid": 1, "ts": 1718831320116718, "dur": 1022802, "ph": "X", "name": "BuildProgram", "args": {} }, |
|||
{ "pid": 35942, "tid": 1, "ts": 1718831320122845, "dur": 485031, "ph": "X", "name": "BuildProgramContextConstructor", "args": {} }, |
|||
{ "pid": 35942, "tid": 1, "ts": 1718831321061291, "dur": 5615, "ph": "X", "name": "OutputData.Write", "args": {} }, |
|||
{ "pid": 35942, "tid": 1, "ts": 1718831321066910, "dur": 72595, "ph": "X", "name": "Backend.Write", "args": {} }, |
|||
{ "pid": 35942, "tid": 1, "ts": 1718831321069693, "dur": 46292, "ph": "X", "name": "JsonToString", "args": {} }, |
|||
{ "pid": 35942, "tid": 1, "ts": 1718831321147792, "dur": 1731, "ph": "X", "name": "", "args": {} }, |
|||
{ "pid": 35942, "tid": 1, "ts": 1718831321147272, "dur": 2644, "ph": "X", "name": "Write chrome-trace events", "args": {} }, |
|||
{ "pid": 35942, "tid": 1, "ts": 1719206357171611, "dur": 403588, "ph": "X", "name": "BuildProgram", "args": {} }, |
|||
{ "pid": 35942, "tid": 1, "ts": 1719206357172744, "dur": 60187, "ph": "X", "name": "BuildProgramContextConstructor", "args": {} }, |
|||
{ "pid": 35942, "tid": 1, "ts": 1719206357514285, "dur": 4444, "ph": "X", "name": "OutputData.Write", "args": {} }, |
|||
{ "pid": 35942, "tid": 1, "ts": 1719206357518732, "dur": 56452, "ph": "X", "name": "Backend.Write", "args": {} }, |
|||
{ "pid": 35942, "tid": 1, "ts": 1719206357520315, "dur": 39403, "ph": "X", "name": "JsonToString", "args": {} }, |
|||
{ "pid": 35942, "tid": 1, "ts": 1719206357582541, "dur": 1383, "ph": "X", "name": "", "args": {} }, |
|||
{ "pid": 35942, "tid": 1, "ts": 1719206357582037, "dur": 2124, "ph": "X", "name": "Write chrome-trace events", "args": {} }, |
|||
|
|||
@ -1 +1 @@ |
|||
{"cameraMode":{"drawMode":0,"name":"Shaded","section":"Shading Mode"},"sceneLighting":true,"audioPlay":false,"sceneViewState":{"m_AlwaysRefresh":false,"showFog":true,"showSkybox":true,"showFlares":true,"showImageEffects":true,"showParticleSystems":true,"showVisualEffectGraphs":true,"m_FxEnabled":true},"in2DMode":false,"pivot":{"x":5.858705043792725,"y":0.45823049545288088,"z":3.1902248859405519},"rotation":{"x":0.5809919834136963,"y":-0.00010264659795211628,"z":-0.00021224815282039344,"w":0.8141756057739258},"size":4.06609582901001,"orthographic":false} |
|||
{"cameraMode":{"drawMode":0,"name":"Shaded","section":"Shading Mode"},"sceneLighting":true,"audioPlay":false,"sceneViewState":{"m_AlwaysRefresh":false,"showFog":true,"showSkybox":true,"showFlares":true,"showImageEffects":true,"showParticleSystems":true,"showVisualEffectGraphs":true,"m_FxEnabled":true},"in2DMode":false,"pivot":{"x":3.641876220703125,"y":0.5838644504547119,"z":4.551746845245361},"rotation":{"x":0.5660651922225952,"y":-0.08681631833314896,"z":0.059741247445344928,"w":0.8178631663322449},"size":1.493765950202942,"orthographic":false} |
|||
@ -1 +1 @@ |
|||
12988 |
|||
16196 |
|||