Browse Source

添加随从

pull/35/head
45 1 year ago
parent
commit
042484af3f
  1. 8
      ColorlessWorld-2024-4-2/Assets/Audio.meta
  2. 8
      ColorlessWorld-2024-4-2/Assets/Audio/AnimVoic.meta
  3. BIN
      ColorlessWorld-2024-4-2/Assets/Audio/AnimVoic/攻击.wav
  4. 23
      ColorlessWorld-2024-4-2/Assets/Audio/AnimVoic/攻击.wav.meta
  5. 8
      ColorlessWorld-2024-4-2/Assets/Audio/UI.meta
  6. BIN
      ColorlessWorld-2024-4-2/Assets/Audio/UI/点击.wav
  7. 23
      ColorlessWorld-2024-4-2/Assets/Audio/UI/点击.wav.meta
  8. 8
      ColorlessWorld-2024-4-2/Assets/GameDate/ServantDate.meta
  9. 20
      ColorlessWorld-2024-4-2/Assets/GameDate/ServantDate/BottleCat.asset
  10. 8
      ColorlessWorld-2024-4-2/Assets/GameDate/ServantDate/BottleCat.asset.meta
  11. 9
      ColorlessWorld-2024-4-2/Assets/Image/PlayerAnim/AttackShort.anim
  12. 8
      ColorlessWorld-2024-4-2/Assets/Image/Servant.meta
  13. BIN
      ColorlessWorld-2024-4-2/Assets/Image/Servant/FishServant.png
  14. 149
      ColorlessWorld-2024-4-2/Assets/Image/Servant/FishServant.png.meta
  15. BIN
      ColorlessWorld-2024-4-2/Assets/Image/Servant/HuanBearServant.png
  16. 149
      ColorlessWorld-2024-4-2/Assets/Image/Servant/HuanBearServant.png.meta
  17. 8
      ColorlessWorld-2024-4-2/Assets/Prefab/Sevant.meta
  18. 8
      ColorlessWorld-2024-4-2/Assets/Prefab/Sevant/ServantSkill.meta
  19. 157
      ColorlessWorld-2024-4-2/Assets/Prefab/Sevant/ServantSkill/SkillUI.prefab
  20. 7
      ColorlessWorld-2024-4-2/Assets/Prefab/Sevant/ServantSkill/SkillUI.prefab.meta
  21. 2410
      ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity
  22. 8
      ColorlessWorld-2024-4-2/Assets/Scripts/Audio.meta
  23. 30
      ColorlessWorld-2024-4-2/Assets/Scripts/Audio/AudioManager.cs
  24. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Audio/AudioManager.cs.meta
  25. 12
      ColorlessWorld-2024-4-2/Assets/Scripts/Audio/PlayerAnimAudio.cs
  26. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Audio/PlayerAnimAudio.cs.meta
  27. 9
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs
  28. 21
      ColorlessWorld-2024-4-2/Assets/Scripts/GameManager.cs
  29. 7
      ColorlessWorld-2024-4-2/Assets/Scripts/Player.cs
  30. 3
      ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs
  31. 8
      ColorlessWorld-2024-4-2/Assets/Scripts/Servent.meta
  32. 8
      ColorlessWorld-2024-4-2/Assets/Scripts/Servent/KindOfServent.meta
  33. 72
      ColorlessWorld-2024-4-2/Assets/Scripts/Servent/KindOfServent/ServantBottleCat.cs
  34. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Servent/KindOfServent/ServantBottleCat.cs.meta
  35. 286
      ColorlessWorld-2024-4-2/Assets/Scripts/Servent/Servant.cs
  36. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Servent/Servant.cs.meta
  37. 8
      ColorlessWorld-2024-4-2/Assets/Scripts/Servent/ServantSkill.meta
  38. 22
      ColorlessWorld-2024-4-2/Assets/Scripts/Servent/ServantSkill/ServantSkillNode.cs
  39. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Servent/ServantSkill/ServantSkillNode.cs.meta
  40. 25
      ColorlessWorld-2024-4-2/Assets/Scripts/Servent/ServantUIBar.cs
  41. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Servent/ServantUIBar.cs.meta
  42. 20
      ColorlessWorld-2024-4-2/Assets/Scripts/Servent/ServentStateManager.cs
  43. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Servent/ServentStateManager.cs.meta
  44. 19
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/ServantState_SO.cs
  45. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/ServantState_SO.cs.meta
  46. 5
      ColorlessWorld-2024-4-2/ProjectSettings/TagManager.asset

8
ColorlessWorld-2024-4-2/Assets/Audio.meta

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

8
ColorlessWorld-2024-4-2/Assets/Audio/AnimVoic.meta

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

BIN
ColorlessWorld-2024-4-2/Assets/Audio/AnimVoic/攻击.wav

Binary file not shown.

23
ColorlessWorld-2024-4-2/Assets/Audio/AnimVoic/攻击.wav.meta

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 0f2b6b8613f1f9045a7a158aff6132b0
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

8
ColorlessWorld-2024-4-2/Assets/Audio/UI.meta

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

BIN
ColorlessWorld-2024-4-2/Assets/Audio/UI/点击.wav

Binary file not shown.

23
ColorlessWorld-2024-4-2/Assets/Audio/UI/点击.wav.meta

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: fbdba0f9a7b4f2d4ca75a2887c6d946a
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

8
ColorlessWorld-2024-4-2/Assets/GameDate/ServantDate.meta

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

20
ColorlessWorld-2024-4-2/Assets/GameDate/ServantDate/BottleCat.asset

@ -0,0 +1,20 @@
%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: 4d2bb1fedbd1d3d4aad155df6adf9d91, type: 3}
m_Name: BottleCat
m_EditorClassIdentifier:
ServantName: BottleCat
maxStepRange: 3
currentStepRange: 3
currentShieldValue: 0
maxHP: 60
currentHP: 60

8
ColorlessWorld-2024-4-2/Assets/GameDate/ServantDate/BottleCat.asset.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 28fb39120070fbe46b1d96b7004b7b1b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

9
ColorlessWorld-2024-4-2/Assets/Image/PlayerAnim/AttackShort.anim

@ -93,4 +93,11 @@ AnimationClip:
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []
m_Events:
- time: 0
functionName: AttackVoicePlayer
data:
objectReferenceParameter: {fileID: 0}
floatParameter: 0
intParameter: 0
messageOptions: 0

8
ColorlessWorld-2024-4-2/Assets/Image/Servant.meta

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

BIN
ColorlessWorld-2024-4-2/Assets/Image/Servant/FishServant.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 671 KiB

149
ColorlessWorld-2024-4-2/Assets/Image/Servant/FishServant.png.meta

@ -0,0 +1,149 @@
fileFormatVersion: 2
guid: e9022559ac99c6742859dea6090a915a
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: 2
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: 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: 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:
- serializedVersion: 2
name: FishServant_0
rect:
serializedVersion: 2
x: 473
y: 437
width: 1039
height: 965
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 6c9fbd71efbb73f4b8606ca68d951a6c
internalID: 29860647
vertices: []
indices:
edges: []
weights: []
outline: []
physicsShape: []
bones: []
spriteID: 6de0e39a68e6c7640a98254f6719d2f2
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable:
FishServant_0: 29860647
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
ColorlessWorld-2024-4-2/Assets/Image/Servant/HuanBearServant.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 856 KiB

149
ColorlessWorld-2024-4-2/Assets/Image/Servant/HuanBearServant.png.meta

@ -0,0 +1,149 @@
fileFormatVersion: 2
guid: af9abe0369f120e4cbdc812259a861f9
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: 2
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: 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: 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:
- serializedVersion: 2
name: HuanBearServant_0
rect:
serializedVersion: 2
x: 664
y: 433
width: 766
height: 990
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 01547b62c9a1b3348b1cf8945cd42dbd
internalID: 550902225
vertices: []
indices:
edges: []
weights: []
outline: []
physicsShape: []
bones: []
spriteID: 897633e0c4f12df46ba59eb45ef59a96
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable:
HuanBearServant_0: 550902225
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

8
ColorlessWorld-2024-4-2/Assets/Prefab/Sevant.meta

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

8
ColorlessWorld-2024-4-2/Assets/Prefab/Sevant/ServantSkill.meta

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

157
ColorlessWorld-2024-4-2/Assets/Prefab/Sevant/ServantSkill/SkillUI.prefab

@ -0,0 +1,157 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &7216391201375852461
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6590472616143143499}
- component: {fileID: 8783577258385544724}
- component: {fileID: 5523502723289762611}
- component: {fileID: 2081006775881656477}
- component: {fileID: 7217144041846661793}
- component: {fileID: 2642549078499773931}
m_Layer: 7
m_Name: SkillUI
m_TagString: ServantSkillUI
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6590472616143143499
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7216391201375852461}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0.00000012912}
m_LocalScale: {x: 1.5, y: 1.5, z: 1.5}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8783577258385544724
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7216391201375852461}
m_CullTransparentMesh: 1
--- !u!114 &5523502723289762611
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7216391201375852461}
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: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 6bb6daa2b9becef4d9fad23fa49a2fc2, 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
--- !u!114 &2081006775881656477
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7216391201375852461}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 5523502723289762611}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!65 &7217144041846661793
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7216391201375852461}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Size: {x: 0.3, y: 0.3, z: 0.1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &2642549078499773931
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7216391201375852461}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dcce6360d5c9e3447b2423e902e0c254, type: 3}
m_Name:
m_EditorClassIdentifier:

7
ColorlessWorld-2024-4-2/Assets/Prefab/Sevant/ServantSkill/SkillUI.prefab.meta

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

2410
ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity

File diff suppressed because it is too large

8
ColorlessWorld-2024-4-2/Assets/Scripts/Audio.meta

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

30
ColorlessWorld-2024-4-2/Assets/Scripts/Audio/AudioManager.cs

@ -0,0 +1,30 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AudioManager : Singleton<AudioManager>
{
public AudioClip UIClick;
public AudioClip AttackClick;
public AudioSource UIClickSource;
public AudioSource ActionSource;
private void Start()
{
DontDestroyOnLoad(this.gameObject);
}
public void UIClickPlayer()
{
UIClickSource.clip = UIClick;
UIClickSource.Play();
}
public void AttackVoicePlayer()
{
ActionSource .clip = AttackClick;
ActionSource .Play();
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Audio/AudioManager.cs.meta

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

12
ColorlessWorld-2024-4-2/Assets/Scripts/Audio/PlayerAnimAudio.cs

@ -0,0 +1,12 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerAnimAudio : MonoBehaviour
{
//音效播放器
public void AttackVoicePlayer()
{
AudioManager.Instance.AttackVoicePlayer();
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Audio/PlayerAnimAudio.cs.meta

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

9
ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs

@ -44,7 +44,16 @@ public class TurnMaster : Singleton<TurnMaster>
banAction
}
[Header("随从动作")]
public ServantAction servantAction;
public enum ServantAction
{
none,
useSkill,
move,
banAction
}
public void Start()
{
/*totalCost = Usermanager.Instance.totalCost;

21
ColorlessWorld-2024-4-2/Assets/Scripts/GameManager.cs

@ -7,13 +7,19 @@ public class GameManager : Singleton<GameManager>
{
public bool complete;
public List <Yunit> X;
[Header("当前选择角色")]
public SelectedCharacter character;
public enum SelectedCharacter
{
player,
servant
}
[Header("角色当前位置参数")]
public MapUnity playerOn;//当前在哪个格子上
public Player player;//玩家脚本
[Header("角色状态数据参数")]
public PlayerState_SO templatePlayerState;//角色数据ScriptableObject模板
public PlayerState_SO playerState;//在游戏中实际使用的数据
[Header("角色动作状态")]
@ -34,6 +40,12 @@ public class GameManager : Singleton<GameManager>
//顶边UI显示玩家血量
public Text playerHPinUpUI;
[Header("使魔当前位置参数")]
public MapUnity servantOn;//当前在哪个格子上
[Header("角色状态数据参数")]
public ServantState_SO servantState;//在游戏中实际使用的数据
[Header("场地颜色个数UI")]
public int playerBoundary;//开局场地分界
public int enemyBoundary;//场地分界
@ -56,8 +68,11 @@ public class GameManager : Singleton<GameManager>
GenerateEnmptyMapList();
//生成角色数据
if (templatePlayerState != null)
playerState = Instantiate(templatePlayerState);
if (PlayerStatsManager .Instance .playerState != null)
playerState = Instantiate(PlayerStatsManager.Instance.playerState);
//生成角色数据
if (ServentStateManager .Instance .servantState != null)
servantState = Instantiate(ServentStateManager.Instance.servantState);
//开局场地涂色并开始阶段
StartCoroutine(StartStartColourCoroutine(complete));

7
ColorlessWorld-2024-4-2/Assets/Scripts/Player.cs

@ -45,6 +45,7 @@ public class Player : MonoBehaviour
Ray ray = Camera.main.ScreenPointToRay(Mouse.current.position.value);
if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, playerLayerMask.value) && raycastHit.collider.gameObject.tag == "Player")
{
GameManager.Instance.character = GameManager.SelectedCharacter.player;
Debug.Log(raycastHit.collider.gameObject.name);
influencePreviewPool.UnionWith(MapUnityManager.Instance.findReachableTiles(GameManager.Instance.playerOn, GameManager.Instance.playerState.currentStepRange));
//遍历影响池变色
@ -58,7 +59,7 @@ public class Player : MonoBehaviour
}
else
{
// Debug.Log(raycastHit.collider.gameObject.name);
if (GameManager.Instance.character == GameManager.SelectedCharacter.player)
StartCoroutine( MoveToChooseNode());
@ -97,7 +98,7 @@ public class Player : MonoBehaviour
FlipLocalScale(raycastHit.point);
//角色移动
if (mapNode .influenced &&mapNode .blocked ==false &&mapNode .enemyNode ==null )
if (mapNode .influenced &&mapNode .blocked ==false &&mapNode .enemyNode ==null&& mapNode.playerOn == false )
{
//获得路径
movePath = AStarManager.Instance.FindPathWithEndNode(GameManager.Instance.playerOn, mapNode);
@ -566,4 +567,6 @@ public class Player : MonoBehaviour
}
}
}

3
ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs

@ -86,4 +86,7 @@ public class PlayerStatsManager : Singleton <PlayerStatsManager>
if (syncMoneyText != null)
syncMoneyText();
}
}

8
ColorlessWorld-2024-4-2/Assets/Scripts/Servent.meta

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

8
ColorlessWorld-2024-4-2/Assets/Scripts/Servent/KindOfServent.meta

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

72
ColorlessWorld-2024-4-2/Assets/Scripts/Servent/KindOfServent/ServantBottleCat.cs

@ -0,0 +1,72 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
public class ServantBottleCat : Servant
{
public override void SkillePreviewSelector(int index)
{
switch (index)
{
case 0:
PreEffect_0();
break;
case 1:
PreEffect_1();
break;
case 2:
PreEffect_2();
break;
}
}
public override void SkilleEffectSelector(int index)
{
switch (index)
{
case 0:
Effect_0();
break;
case 1:
Effect_1();
break;
case 2:
Effect_2();
break;
}
}
public void PreEffect_0()
{
MovePreView();
}
public void PreEffect_1()
{
MovePreView();
}
public void PreEffect_2()
{
}
public void Effect_0()
{
StartCoroutine(MoveToChooseNode());
}
public void Effect_1()
{
Ray ray = Camera.main.ScreenPointToRay(Mouse.current.position.value);
if (Physics.Raycast(ray, out RaycastHit raycastHit, 500,chooseNodeLayerMask.value))
{
MapUnity currentNode = raycastHit.transform.GetComponent<MapUnity>();
if (currentNode.enemyNode != null )
{
currentNode.enemyNode.EnemyState.currentHP -= skillList[currentSkillInex].value;
}
}
ResetPreView();
}
public void Effect_2()
{
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Servent/KindOfServent/ServantBottleCat.cs.meta

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

286
ColorlessWorld-2024-4-2/Assets/Scripts/Servent/Servant.cs

@ -0,0 +1,286 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.Playables;
using static Servant;
public class Servant : MonoBehaviour
{
public int startPositionX, startPositionY;
public HashSet<MapUnity> influencePreviewPool = new HashSet<MapUnity>();//记录预览影响的对象池
[Header("层级检测")]
public LayerMask chooseNodeLayerMask;//移动射线选择的层级
public LayerMask playerLayerMask;//角色层级
[Header("路径")]
public List<MapUnity> movePath = new List<MapUnity>();
[Header("动画器")]
public Animator anim;
[Header("跑步速度")]
public float speed = 2;
[Header("步数标识个数集(UI)")]
public int stepIconCount;
public Transform StepIconFather;
public GameObject stepIconPrefab;
[Header("技能UI列表(UI)")]
public GameObject SkillUI;
public List<ServantSkill> skillList = new List<ServantSkill>();
[Header("技能UI生成资源")]
public GameObject SkillUIPrefab;
[Header("当前处于哪个技能的范围预览")]
public int currentSkillInex;
private void Start()
{
Invoke("StartSevent", 4f);
InstantiateSkillUI();
}
public void StartSevent()
{
MapUnity currentNode = GameManager.Instance.X[startPositionX].Y[startPositionY];
currentNode.playerOn = true;
GameManager.Instance.servantOn = currentNode;
this.gameObject.transform.position = new Vector3(currentNode.transform.position.x, 0.5f, currentNode.transform.position.z);
}
public void Update()
{
if (Mouse.current.leftButton.wasReleasedThisFrame && TurnMaster.Instance.playerAction != TurnMaster.PlayerAction.useCard && TurnMaster.Instance.servantAction != TurnMaster.ServantAction.banAction&& TurnMaster.Instance.servantAction != TurnMaster.ServantAction.useSkill)
{
//if (GameManager.Instance.servantState.currentStepRange > 0 && !Usermanager.playerAbnormalCondition.ContainsKey(AbnormalCondition.banStep))
Ray ray = Camera.main.ScreenPointToRay(Mouse.current.position.value);
if(Physics.Raycast(ray, out RaycastHit raycastHit, 500, playerLayerMask.value) )
{
if (raycastHit.collider.gameObject.tag == "Servant")
{
GameManager.Instance.character = GameManager.SelectedCharacter.servant;
Debug.Log(raycastHit.collider.gameObject.name);
//展开技能表
SkillUI.SetActive(!SkillUI.activeInHierarchy);
}
else if (raycastHit.collider.gameObject.tag == "ServantSkillUI")//检测到是技能
{
GameManager.Instance.character = GameManager.SelectedCharacter.servant;
TurnMaster.Instance.servantAction = TurnMaster.ServantAction.useSkill;
//技能范围预览(目前是button触发)
//MovePreView();
SkillePreviewSelector(currentSkillInex);
}
else
{
//检测到地面,释放技能实际效果
if (GameManager.Instance.character == GameManager.SelectedCharacter.servant)
{
SkilleEffectSelector(currentSkillInex);
}
}
}
}
if (Mouse.current.rightButton.wasPressedThisFrame)
{
ResetPreView();
}
//同步步数UI标识
if (GameManager.Instance.servantState.currentStepRange != stepIconCount)
{
for (int i = StepIconFather.childCount - 1; i >= 0; i--)
{
Destroy(StepIconFather.GetChild(i).gameObject);
}
stepIconCount = GameManager.Instance.servantState.currentStepRange;
for (int i = 0; i <stepIconCount; i++)
{
Instantiate(stepIconPrefab, StepIconFather);
}
}
}
//技能范围预览
public virtual void SkillePreviewSelector(int index)
{
}
//技能效果释放
public virtual void SkilleEffectSelector(int index)
{
}
//生成技能UI
public void InstantiateSkillUI()
{
for(int i=0;i<skillList .Count;i++)
{
var currentUI = Instantiate(SkillUIPrefab, SkillUI.transform);
ServantSkillNode servantSkillNode = currentUI.GetComponent<ServantSkillNode>();
servantSkillNode.servantSkill = skillList[i];
servantSkillNode.servant = this;
}
}
//取消释放技能重置状态
public void ResetPreView()
{
// StepPreviewInfluencedNode(step);
CloseStepPreviewInfluencedNode();//取消格子预览
if (TurnMaster.Instance.servantAction != TurnMaster.ServantAction.banAction)
TurnMaster.Instance.servantAction = TurnMaster.ServantAction.none;
}
//点击移动技能预览移动范围
public void MovePreView()
{
influencePreviewPool.UnionWith(MapUnityManager.Instance.findReachableTiles(GameManager.Instance.servantOn, GameManager.Instance.servantState.currentStepRange));
//遍历影响池变色
foreach (MapUnity mapUnity in influencePreviewPool)
{
mapUnity.influenced = true;
mapUnity.choossedMark.GetComponent<Renderer>().material = mapUnity.red;
}
//StepPreviewInfluencedNode(GameManager.Instance.playerState.currentStepRange);
TurnMaster.Instance.servantAction = TurnMaster.ServantAction.move;
}
public IEnumerator MoveToChooseNode()//射线检测选择一个mapNode
{
Ray ray = Camera.main.ScreenPointToRay(Mouse.current.position.value);
if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, chooseNodeLayerMask.value))
{
Debug.Log(raycastHit.collider.gameObject.name);
MapUnity mapNode = raycastHit.collider.transform.GetComponent<MapUnity>();
//改变缩放翻转
// FlipLocalScale(raycastHit.point);
//角色移动
if (mapNode.influenced && mapNode.blocked == false && mapNode.enemyNode == null&&mapNode .playerOn ==false )
{
//获得路径
movePath = AStarManager.Instance.FindPathWithEndNode(GameManager.Instance.servantOn, mapNode);
//判断能否到达
if (movePath.Count - 1 > GameManager.Instance.servantState.currentStepRange)
{
Debug.Log("不能移动到该位置");
yield break;
}
//改变动画
// anim.SetBool("move", true);
if (GameManager.Instance.servantOn != null)
{
GameManager.Instance.servantOn.playerOn = false;
GameManager.Instance.servantOn.influenced = false;
}
//遍历影响池变色
foreach (MapUnity mapUnity in influencePreviewPool)
{
mapUnity.influenced = false;
}
influencePreviewPool.Clear();
//标记终点
mapNode.markInfluenced = true;
for (int i = 1; i < movePath.Count; i++)
{
bool move = true;
float time = 0;
Vector3 startPos = transform.position;
Vector3 endpos = new Vector3(movePath[i].transform.position.x, transform.position.y, movePath[i].transform.position.z);
while (move)
{
transform.position = Vector3.Lerp(startPos, endpos, time += Time.deltaTime * speed);
if (Vector3.Distance(transform.position, endpos) < 0.1f)
{
move = false;
}
yield return 0;
}
//判断寄生,流血是否生效
Usermanager.Instance.ParasitismnRealize(movePath[i]);//传入当前node
Usermanager.Instance.bleedRealize();
//减体力
GameManager.Instance.servantState.currentStepRange -= 1;
}
this.gameObject.transform.position = new Vector3(mapNode.transform.position.x, 0.5f, mapNode.transform.position.z);
mapNode.playerOn = true;
GameManager.Instance.servantOn = mapNode;
//改变动画
//anim.SetBool("move", false);
//取消标记终点
mapNode.markInfluenced = false;
TurnMaster.Instance.servantAction = TurnMaster.ServantAction.none;
}
else
{
Debug.Log("不能移动到该位置");
}
}
}
public void CloseStepPreviewInfluencedNode()
{
//遍历影响池变色
foreach (MapUnity mapUnity in influencePreviewPool)
{
mapUnity.influenced = false;
}
influencePreviewPool.Clear();
}
//改变缩放翻转
public void FlipLocalScale(Vector3 point)
{
if (point.x < transform.position.x)
{
anim.transform.localScale = new Vector3(-0.45f, 0.45f, 0.45f);
}
else
{
anim.transform.localScale = new Vector3(0.45f, 0.45f, 0.45f);
}
}
[System .Serializable ]
public class ServantSkill
{
public string name;
public string disdescription;
public int effectIndex;
public int value;
public int throwRange;
public int effectRange;
public SkillType skillType;
public enum SkillType
{
bullet,
melee,
magic,
aoe,
move,
noneRange
}
public string IconPath;
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Servent/Servant.cs.meta

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

8
ColorlessWorld-2024-4-2/Assets/Scripts/Servent/ServantSkill.meta

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

22
ColorlessWorld-2024-4-2/Assets/Scripts/Servent/ServantSkill/ServantSkillNode.cs

@ -0,0 +1,22 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class ServantSkillNode : MonoBehaviour
{
public Servant servant;
public Servant.ServantSkill servantSkill;
private void Start()
{
GetComponent<Button>().onClick.AddListener(PreEffect);
}
public void PreEffect()
{
servant.currentSkillInex = servantSkill.effectIndex;
// servant.SkillePreviewSelector(servantSkill.effectIndex);
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Servent/ServantSkill/ServantSkillNode.cs.meta

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

25
ColorlessWorld-2024-4-2/Assets/Scripts/Servent/ServantUIBar.cs

@ -0,0 +1,25 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.UI;
public class ServantUIBar : MonoBehaviour
{
public Image HPBar;
public Text textCurrentHPdValue;
public Text textMaxHPValue;
// public Text stepText;
public Text textShieldValue;
private void Update()
{
textCurrentHPdValue.text = GameManager.Instance.servantState.currentHP.ToString();
textMaxHPValue.text = GameManager.Instance.servantState.maxHP.ToString();
HPBar.fillAmount = GameManager.Instance.servantState.currentHP / GameManager.Instance.servantState.maxHP;
//stepText.text = GameManager.Instance.playerState.currentStepRange.ToString();
textShieldValue.text = GameManager.Instance.servantState.currentShieldValue.ToString();
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Servent/ServantUIBar.cs.meta

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

20
ColorlessWorld-2024-4-2/Assets/Scripts/Servent/ServentStateManager.cs

@ -0,0 +1,20 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ServentStateManager : Singleton<ServentStateManager>
{
[Header("使魔数据")]
//使魔数据
public ServantState_SO servantState;
//使魔脚本
public Servant servant;
private void Start()
{
DontDestroyOnLoad(this.gameObject);
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Servent/ServentStateManager.cs.meta

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

19
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/ServantState_SO.cs

@ -0,0 +1,19 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "New State", menuName = "PlayerState/ServantState")]
public class ServantState_SO : ScriptableObject
{
public string ServantName;
public int maxStepRange;//步数
public int currentStepRange;
public int currentShieldValue;//护盾
public float maxHP;//血量
public float currentHP;
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/ServantState_SO.cs.meta

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

5
ColorlessWorld-2024-4-2/ProjectSettings/TagManager.asset

@ -6,6 +6,8 @@ TagManager:
tags:
- Enemy
- Card
- Servant
- ServantSkillUI
layers:
- Default
- TransparentFX
@ -55,3 +57,6 @@ TagManager:
- name: CardUI
uniqueID: 3099584011
locked: 0
- name: ServantSkillUI
uniqueID: 144399565
locked: 0

Loading…
Cancel
Save