Browse Source

完善英灵UI

SZAND\msx_2 1 year ago
parent
commit
2ae56172a8

+ 1 - 1
ActionTowerDefense/Assets/Resources/Prefab/Base/Base_Assassin.prefab

@@ -107,7 +107,7 @@ Rigidbody:
   m_GameObject: {fileID: 2437299196472462361}
   m_GameObject: {fileID: 2437299196472462361}
   serializedVersion: 2
   serializedVersion: 2
   m_Mass: 20
   m_Mass: 20
-  m_Drag: 0.1
+  m_Drag: 1
   m_AngularDrag: 0.05
   m_AngularDrag: 0.05
   m_UseGravity: 1
   m_UseGravity: 1
   m_IsKinematic: 0
   m_IsKinematic: 0

+ 1 - 1
ActionTowerDefense/Assets/Resources/Prefab/Base/Base_Cook.prefab

@@ -78,7 +78,7 @@ Rigidbody:
   m_GameObject: {fileID: 5440846222648032759}
   m_GameObject: {fileID: 5440846222648032759}
   serializedVersion: 2
   serializedVersion: 2
   m_Mass: 50
   m_Mass: 50
-  m_Drag: 0.1
+  m_Drag: 1
   m_AngularDrag: 0.05
   m_AngularDrag: 0.05
   m_UseGravity: 1
   m_UseGravity: 1
   m_IsKinematic: 0
   m_IsKinematic: 0

+ 1 - 1
ActionTowerDefense/Assets/Resources/Prefab/Base/Base_Float.prefab

@@ -287,7 +287,7 @@ Rigidbody:
   m_GameObject: {fileID: 8639832132491289359}
   m_GameObject: {fileID: 8639832132491289359}
   serializedVersion: 2
   serializedVersion: 2
   m_Mass: 10
   m_Mass: 10
-  m_Drag: 0.1
+  m_Drag: 1
   m_AngularDrag: 0.05
   m_AngularDrag: 0.05
   m_UseGravity: 1
   m_UseGravity: 1
   m_IsKinematic: 0
   m_IsKinematic: 0

+ 1 - 1
ActionTowerDefense/Assets/Resources/Prefab/Base/Base_Invisible.prefab

@@ -107,7 +107,7 @@ Rigidbody:
   m_GameObject: {fileID: 2437299196472462361}
   m_GameObject: {fileID: 2437299196472462361}
   serializedVersion: 2
   serializedVersion: 2
   m_Mass: 10
   m_Mass: 10
-  m_Drag: 0.1
+  m_Drag: 1
   m_AngularDrag: 0.05
   m_AngularDrag: 0.05
   m_UseGravity: 1
   m_UseGravity: 1
   m_IsKinematic: 0
   m_IsKinematic: 0

+ 1 - 0
ActionTowerDefense/Assets/Resources/Prefab/Player.prefab

@@ -1066,6 +1066,7 @@ MonoBehaviour:
   hasSpirits: 0
   hasSpirits: 0
   maxCards: 3
   maxCards: 3
   ownSpirits: ffffffffffffffffffffffff
   ownSpirits: ffffffffffffffffffffffff
+  ultimateTimes: 000000000000000000000000
 --- !u!1 &3571941039716665622
 --- !u!1 &3571941039716665622
 GameObject:
 GameObject:
   m_ObjectHideFlags: 0
   m_ObjectHideFlags: 0

+ 280 - 2
ActionTowerDefense/Assets/Scenes/SampleScene.unity

@@ -484,6 +484,7 @@ RectTransform:
   - {fileID: 1277794035}
   - {fileID: 1277794035}
   - {fileID: 2143411851}
   - {fileID: 2143411851}
   - {fileID: 992338365}
   - {fileID: 992338365}
+  - {fileID: 1485560494}
   m_Father: {fileID: 1861954883}
   m_Father: {fileID: 1861954883}
   m_RootOrder: 3
   m_RootOrder: 3
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -15876,12 +15877,14 @@ MonoBehaviour:
   - {fileID: 3490440114642113116}
   - {fileID: 3490440114642113116}
   choose1: {fileID: 3490440114947863750}
   choose1: {fileID: 3490440114947863750}
   P1icon: {fileID: 1185669033}
   P1icon: {fileID: 1185669033}
+  P1times: {fileID: 2051679829}
   player2cards:
   player2cards:
   - {fileID: 1426925761}
   - {fileID: 1426925761}
   - {fileID: 889449321}
   - {fileID: 889449321}
   - {fileID: 738314639}
   - {fileID: 738314639}
   choose2: {fileID: 389289662}
   choose2: {fileID: 389289662}
   P2icon: {fileID: 1277794032}
   P2icon: {fileID: 1277794032}
+  P2times: {fileID: 1485560492}
   floatHead: {fileID: 21300000, guid: 443c5ff65ec217344a2d85f838fdefdd, type: 3}
   floatHead: {fileID: 21300000, guid: 443c5ff65ec217344a2d85f838fdefdd, type: 3}
   CookHead: {fileID: 21300000, guid: 46a621b8eb8186d47ac47f08328c09c5, type: 3}
   CookHead: {fileID: 21300000, guid: 46a621b8eb8186d47ac47f08328c09c5, type: 3}
   AssassinHead: {fileID: 21300000, guid: 2fb512b8cf27fa94a8536d877c95554e, type: 3}
   AssassinHead: {fileID: 21300000, guid: 2fb512b8cf27fa94a8536d877c95554e, type: 3}
@@ -15889,7 +15892,7 @@ MonoBehaviour:
   NoneHead: {fileID: 21300000, guid: e11b0e3a444e48c4a904bf2b6a8e2ae6, type: 3}
   NoneHead: {fileID: 21300000, guid: e11b0e3a444e48c4a904bf2b6a8e2ae6, type: 3}
   isChoosing: {fileID: 21300000, guid: 7c5e1ab1829cae74080d0472e6cfbd7d, type: 3}
   isChoosing: {fileID: 21300000, guid: 7c5e1ab1829cae74080d0472e6cfbd7d, type: 3}
   isSelected: {fileID: 21300000, guid: e40889a5e19f152448a2de0798f6b6a6, type: 3}
   isSelected: {fileID: 21300000, guid: e40889a5e19f152448a2de0798f6b6a6, type: 3}
-  keepTime: 2
+  keepTime: 1
 --- !u!4 &970449925
 --- !u!4 &970449925
 Transform:
 Transform:
   m_ObjectHideFlags: 0
   m_ObjectHideFlags: 0
@@ -16813,6 +16816,141 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1471408787}
   m_GameObject: {fileID: 1471408787}
   m_CullTransparentMesh: 1
   m_CullTransparentMesh: 1
+--- !u!1 &1485560491
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1485560494}
+  - component: {fileID: 1485560493}
+  - component: {fileID: 1485560492}
+  m_Layer: 5
+  m_Name: times
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!114 &1485560492
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1485560491}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: 3
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 57663398defea1c4799bb92057f1f02f, type: 2}
+  m_sharedMaterial: {fileID: -5165435918990189265, guid: 57663398defea1c4799bb92057f1f02f, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4278190080
+  m_fontColor: {r: 1, g: 0.9050957, b: 0, 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: 52
+  m_fontSizeBase: 52
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 1
+  m_HorizontalAlignment: 2
+  m_VerticalAlignment: 512
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  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
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1485560493
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1485560491}
+  m_CullTransparentMesh: 1
+--- !u!224 &1485560494
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1485560491}
+  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: 389289665}
+  m_RootOrder: 3
+  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: 30, y: -39.99998}
+  m_SizeDelta: {x: 200, y: 50}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!1 &1497593545
 --- !u!1 &1497593545
 GameObject:
 GameObject:
   m_ObjectHideFlags: 0
   m_ObjectHideFlags: 0
@@ -27106,6 +27244,141 @@ MeshFilter:
   m_PrefabAsset: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 2045679344}
   m_GameObject: {fileID: 2045679344}
   m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
   m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1 &2051679828
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2051679831}
+  - component: {fileID: 2051679830}
+  - component: {fileID: 2051679829}
+  m_Layer: 5
+  m_Name: times
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!114 &2051679829
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2051679828}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: 3
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 57663398defea1c4799bb92057f1f02f, type: 2}
+  m_sharedMaterial: {fileID: -5165435918990189265, guid: 57663398defea1c4799bb92057f1f02f, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4278190080
+  m_fontColor: {r: 1, g: 0.9050957, b: 0, 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: 52
+  m_fontSizeBase: 52
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 1
+  m_HorizontalAlignment: 2
+  m_VerticalAlignment: 512
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  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
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &2051679830
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2051679828}
+  m_CullTransparentMesh: 1
+--- !u!224 &2051679831
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2051679828}
+  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: 3490440114947863751}
+  m_RootOrder: 3
+  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: 34, y: -40}
+  m_SizeDelta: {x: 200, y: 50}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!1 &2125326832
 --- !u!1 &2125326832
 GameObject:
 GameObject:
   m_ObjectHideFlags: 0
   m_ObjectHideFlags: 0
@@ -28493,7 +28766,7 @@ Canvas:
   m_OverrideSorting: 0
   m_OverrideSorting: 0
   m_OverridePixelPerfect: 0
   m_OverridePixelPerfect: 0
   m_SortingBucketNormalizedSize: 0
   m_SortingBucketNormalizedSize: 0
-  m_AdditionalShaderChannelsFlag: 25
+  m_AdditionalShaderChannelsFlag: 31
   m_SortingLayerID: 0
   m_SortingLayerID: 0
   m_SortingOrder: 0
   m_SortingOrder: 0
   m_TargetDisplay: 0
   m_TargetDisplay: 0
@@ -28679,6 +28952,7 @@ RectTransform:
   - {fileID: 1185669036}
   - {fileID: 1185669036}
   - {fileID: 1729202002}
   - {fileID: 1729202002}
   - {fileID: 2145343893}
   - {fileID: 2145343893}
+  - {fileID: 2051679831}
   m_Father: {fileID: 3490440114869015111}
   m_Father: {fileID: 3490440114869015111}
   m_RootOrder: 3
   m_RootOrder: 3
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -29617,21 +29891,25 @@ MonoBehaviour:
     quality: 0
     quality: 0
     corpse: 0
     corpse: 0
     introduction: {fileID: 0}
     introduction: {fileID: 0}
+    ultimateTimes: 1
   - spiritPrefab: {fileID: 5440846222648032759, guid: 60377cb19b4e5e2479fc1a15ec044a7d, type: 3}
   - spiritPrefab: {fileID: 5440846222648032759, guid: 60377cb19b4e5e2479fc1a15ec044a7d, type: 3}
     type: 2
     type: 2
     quality: 0
     quality: 0
     corpse: 0
     corpse: 0
     introduction: {fileID: 0}
     introduction: {fileID: 0}
+    ultimateTimes: 1
   - spiritPrefab: {fileID: 2437299196472462361, guid: 379837406bb87e445bf55a9b3ec14e6c, type: 3}
   - spiritPrefab: {fileID: 2437299196472462361, guid: 379837406bb87e445bf55a9b3ec14e6c, type: 3}
     type: 1
     type: 1
     quality: 0
     quality: 0
     corpse: 0
     corpse: 0
     introduction: {fileID: 0}
     introduction: {fileID: 0}
+    ultimateTimes: 2
   - spiritPrefab: {fileID: 2437299196472462361, guid: 8489325390fb140489cba3dec98fd048, type: 3}
   - spiritPrefab: {fileID: 2437299196472462361, guid: 8489325390fb140489cba3dec98fd048, type: 3}
     type: 3
     type: 3
     quality: 0
     quality: 0
     corpse: 0
     corpse: 0
     introduction: {fileID: 0}
     introduction: {fileID: 0}
+    ultimateTimes: 1
   times: 6
   times: 6
   qualityBackgrounds:
   qualityBackgrounds:
   - {fileID: 5828154296873993895, guid: 7fdfcd4011577684fb53b87f7dcbf8ec, type: 3}
   - {fileID: 5828154296873993895, guid: 7fdfcd4011577684fb53b87f7dcbf8ec, type: 3}

+ 18 - 13
ActionTowerDefense/Assets/Scripts/Spirits/Base_Spirits/Base_Spirits.cs

@@ -10,19 +10,18 @@ public class Base_Spirits : MonoBehaviour
     private float aa = 0;
     private float aa = 0;
     private float speed;
     private float speed;
 
 
-    private GameObject spirit;
-
     public int needCorpse;
     public int needCorpse;
     public int type;
     public int type;
+    public int ultimateTimes;
 
 
     private PlayerController pc;
     private PlayerController pc;
+    private Spirits s;
     private int id;
     private int id;
 
 
     private void Start()
     private void Start()
     {
     {
         Xhold = buttons.transform.GetChild(1).GetComponent<SpriteRenderer>().material;
         Xhold = buttons.transform.GetChild(1).GetComponent<SpriteRenderer>().material;
         speed = 1 / SpiritSystem.XbtnKeepTime;
         speed = 1 / SpiritSystem.XbtnKeepTime;
-        spirit = transform.parent.gameObject;
     }
     }
 
 
     private void XHoldEffect(float a)
     private void XHoldEffect(float a)
@@ -35,6 +34,7 @@ public class Base_Spirits : MonoBehaviour
         if (other.gameObject.layer == 6 && aa == 0)
         if (other.gameObject.layer == 6 && aa == 0)
         {
         {
             pc = other.GetComponentInParent<PlayerController>();
             pc = other.GetComponentInParent<PlayerController>();
+            s = pc.GetComponent<Spirits>();
             id = pc.playerId;
             id = pc.playerId;
             switch (id)
             switch (id)
             {
             {
@@ -97,23 +97,28 @@ public class Base_Spirits : MonoBehaviour
             {
             {
                 if (Corpse.allCorpsesNum >= needCorpse)
                 if (Corpse.allCorpsesNum >= needCorpse)
                 {
                 {
-                    Corpse.allCorpsesNum -= needCorpse;
-                    switch (id)
+                    if (pc.GetComponent<Spirits>().hasSpirits != 3)
                     {
                     {
-                        case 0:
-                            SpiritSystem.isGainNewSpirit1 = type;
-                            break;
-                        case 1:
-                            SpiritSystem.isGainNewSpirit2 = type;
-                            break;
-                        default:
-                            break;
+                        Corpse.allCorpsesNum -= needCorpse;
+                        s.ultimateTimes[s.hasSpirits] = ultimateTimes;
+                        switch (id)
+                        {
+                            case 0:
+                                SpiritSystem.isGainNewSpirit1 = type;
+                                break;
+                            case 1:
+                                SpiritSystem.isGainNewSpirit2 = type;
+                                break;
+                            default:
+                                break;
+                        }
                     }
                     }
                     pc.isBaseBtnOut = false;
                     pc.isBaseBtnOut = false;
                 }
                 }
                 else
                 else
                 {
                 {
                     Corpse.isLackCorpse = true;
                     Corpse.isLackCorpse = true;
+                    pc.isBaseBtnOut = false;
                 }
                 }
             }
             }
         }
         }

+ 2 - 0
ActionTowerDefense/Assets/Scripts/Spirits/Base_Spirits/SpiritOutDoor.cs

@@ -27,6 +27,7 @@ public class SpiritOutDoor : MonoBehaviour
         public spiritQuality quality;
         public spiritQuality quality;
         public int corpse;
         public int corpse;
         public Sprite introduction;
         public Sprite introduction;
+        public int ultimateTimes;
     }
     }
 
 
     public BackDoor doorController;
     public BackDoor doorController;
@@ -59,6 +60,7 @@ public class SpiritOutDoor : MonoBehaviour
         Base_Spirits bs = g.GetComponentInChildren<Base_Spirits>();
         Base_Spirits bs = g.GetComponentInChildren<Base_Spirits>();
         bs.needCorpse = spirits[id].corpse;
         bs.needCorpse = spirits[id].corpse;
         bs.type = (int)spirits[id].type;
         bs.type = (int)spirits[id].type;
+        bs.ultimateTimes = spirits[id].ultimateTimes;
     }
     }
 
 
     private void OnTriggerEnter(Collider other)
     private void OnTriggerEnter(Collider other)

+ 60 - 4
ActionTowerDefense/Assets/Scripts/Spirits/Base_Spirits/SpiritSystem.cs

@@ -2,6 +2,7 @@ using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine;
 using UnityEngine.UI;
 using UnityEngine.UI;
+using TMPro;
 
 
 public class SpiritSystem : MonoBehaviour
 public class SpiritSystem : MonoBehaviour
 {
 {
@@ -26,6 +27,7 @@ public class SpiritSystem : MonoBehaviour
     private int curCard1;
     private int curCard1;
     static public bool isP1CardChange;
     static public bool isP1CardChange;
     public GameObject P1icon;
     public GameObject P1icon;
+    public TextMeshProUGUI P1times;
 
 
     [Header("玩家2图标")]
     [Header("玩家2图标")]
     static public GameObject player2;
     static public GameObject player2;
@@ -35,6 +37,7 @@ public class SpiritSystem : MonoBehaviour
     private int curCard2;
     private int curCard2;
     static public bool isP2CardChange;
     static public bool isP2CardChange;
     public GameObject P2icon;
     public GameObject P2icon;
+    public TextMeshProUGUI P2times;
 
 
     [Header("英灵图标")]
     [Header("英灵图标")]
     public Sprite floatHead;
     public Sprite floatHead;
@@ -80,9 +83,17 @@ public class SpiritSystem : MonoBehaviour
     static public GameObject curCheckSpirit2;
     static public GameObject curCheckSpirit2;
 
 
     //玩家的spirits组件
     //玩家的spirits组件
+    private PlayerController pc1;
+    private PlayerController pc2;
     private Spirits s1;
     private Spirits s1;
     private Spirits s2;
     private Spirits s2;
 
 
+    //变身中
+    private bool isTran1;
+    private bool isTran2;
+    private bool isChangeUltimateText1;
+    private bool isChangeUltimateText2;
+
     private void Start()
     private void Start()
     {
     {
         p1.position = p1Orig.position;
         p1.position = p1Orig.position;
@@ -121,7 +132,8 @@ public class SpiritSystem : MonoBehaviour
                 curCheckSpirit1.transform.parent.gameObject.SetActive(false);
                 curCheckSpirit1.transform.parent.gameObject.SetActive(false);
                 if (s1 == null)
                 if (s1 == null)
                 {
                 {
-                    s1= PlayersInput.instance[0].GetComponent<Spirits>();
+                    pc1 = PlayersInput.instance[0];
+                    s1 = pc1.GetComponent<Spirits>();
                 }
                 }
                 s1.ownSpirits[s1.hasSpirits] = s1.TranSpirit(spirit);
                 s1.ownSpirits[s1.hasSpirits] = s1.TranSpirit(spirit);
                 Sprite newHead = NoneHead;
                 Sprite newHead = NoneHead;
@@ -153,7 +165,8 @@ public class SpiritSystem : MonoBehaviour
                 curCheckSpirit2.transform.parent.gameObject.SetActive(false);
                 curCheckSpirit2.transform.parent.gameObject.SetActive(false);
                 if (s2 == null)
                 if (s2 == null)
                 {
                 {
-                    s2 = PlayersInput.instance[1].GetComponent<Spirits>();
+                    pc2 = PlayersInput.instance[1];
+                    s2 = pc2.GetComponent<Spirits>();
                 }
                 }
                 s2.ownSpirits[s2.hasSpirits] = s2.TranSpirit(spirit);
                 s2.ownSpirits[s2.hasSpirits] = s2.TranSpirit(spirit);
                 Sprite newHead2 = NoneHead;
                 Sprite newHead2 = NoneHead;
@@ -174,7 +187,7 @@ public class SpiritSystem : MonoBehaviour
                     default:
                     default:
                         break;
                         break;
                 }
                 }
-                player1cards[s2.hasSpirits].sprite = newHead2;
+                player2cards[s2.hasSpirits].sprite = newHead2;
                 s2.hasSpirits++;
                 s2.hasSpirits++;
                 if (s2.hasSpirits == 1)
                 if (s2.hasSpirits == 1)
                 {
                 {
@@ -196,18 +209,28 @@ public class SpiritSystem : MonoBehaviour
                 {
                 {
                     player1cards[i].sprite = player1cards[i + 1].sprite;
                     player1cards[i].sprite = player1cards[i + 1].sprite;
                     s1.ownSpirits[i] = s1.ownSpirits[i + 1];
                     s1.ownSpirits[i] = s1.ownSpirits[i + 1];
+                    s1.ultimateTimes[i] = s1.ultimateTimes[i + 1];
                 }
                 }
                 player1cards[s1.hasSpirits].sprite = NoneHead;
                 player1cards[s1.hasSpirits].sprite = NoneHead;
+                s1.ownSpirits[s1.hasSpirits] = Spirits.SpiritType.None;
                 s1.currentSpirit = s1.ownSpirits[0];
                 s1.currentSpirit = s1.ownSpirits[0];
                 choose1.transform.position = player1cards[0].transform.position;
                 choose1.transform.position = player1cards[0].transform.position;
+                P1times.gameObject.SetActive(false);
                 curCard1 = 0;
                 curCard1 = 0;
                 break;
                 break;
             case 1:
             case 1:
-                for (int i = 0; i < s2.hasSpirits; i++)
+                s2.hasSpirits--;
+                for (int i = curCard2; i < s2.hasSpirits; i++)
                 {
                 {
                     player2cards[i].sprite = player2cards[i + 1].sprite;
                     player2cards[i].sprite = player2cards[i + 1].sprite;
+                    s2.ownSpirits[i] = s2.ownSpirits[i + 1];
+                    s2.ultimateTimes[i] = s2.ultimateTimes[i + 1];
                 }
                 }
                 player2cards[s2.hasSpirits].sprite = NoneHead;
                 player2cards[s2.hasSpirits].sprite = NoneHead;
+                s2.currentSpirit = s2.ownSpirits[0];
+                choose2.transform.position = player2cards[0].transform.position;
+                P2times.gameObject.SetActive(false);
+                curCard2 = 0;
                 break;
                 break;
             default:
             default:
                 break;
                 break;
@@ -256,10 +279,16 @@ public class SpiritSystem : MonoBehaviour
             case 0:
             case 0:
                 P1icon.transform.localPosition = p1WordTo.localPosition;
                 P1icon.transform.localPosition = p1WordTo.localPosition;
                 choose1.GetComponent<Image>().sprite = isSelected;
                 choose1.GetComponent<Image>().sprite = isSelected;
+                P1times.text = s1.ultimateTimes[curCard1].ToString();
+                P1times.gameObject.SetActive(true);
+                isTran1 = true;
                 break;
                 break;
             case 1:
             case 1:
                 P2icon.transform.localPosition = p2WordTo.localPosition;
                 P2icon.transform.localPosition = p2WordTo.localPosition;
                 choose2.GetComponent<Image>().sprite = isSelected;
                 choose2.GetComponent<Image>().sprite = isSelected;
+                P2times.text = s2.ultimateTimes[curCard2].ToString();
+                P2times.gameObject.SetActive(true);
+                isTran2 = true;
                 break;
                 break;
             default:
             default:
                 break;
                 break;
@@ -274,11 +303,13 @@ public class SpiritSystem : MonoBehaviour
                 P1icon.transform.localPosition = p1WordOrig.localPosition;
                 P1icon.transform.localPosition = p1WordOrig.localPosition;
                 choose1.GetComponent<Image>().sprite = isChoosing;
                 choose1.GetComponent<Image>().sprite = isChoosing;
                 EndTranChangeUI(0);
                 EndTranChangeUI(0);
+                isTran1 = false;
                 break;
                 break;
             case 1:
             case 1:
                 P2icon.transform.localPosition = p2WordOrig.localPosition;
                 P2icon.transform.localPosition = p2WordOrig.localPosition;
                 choose2.GetComponent<Image>().sprite = isChoosing;
                 choose2.GetComponent<Image>().sprite = isChoosing;
                 EndTranChangeUI(1);
                 EndTranChangeUI(1);
+                isTran2 = false;
                 break;
                 break;
             default:
             default:
                 break;
                 break;
@@ -397,5 +428,30 @@ public class SpiritSystem : MonoBehaviour
             GainNewSpirit(1, isGainNewSpirit2);
             GainNewSpirit(1, isGainNewSpirit2);
             isGainNewSpirit2 = -1;
             isGainNewSpirit2 = -1;
         }
         }
+
+        if (isTran1)
+        {
+            if (pc1.isUltimate)
+            {
+                isChangeUltimateText1 = true;
+            }
+        }
+        if (isTran2)
+        {
+            if (pc2.isUltimate)
+            {
+                isChangeUltimateText2 = true;
+            }
+        }
+        if (isChangeUltimateText1)
+        {
+            isChangeUltimateText1 = false;
+            P1times.text = (--s1.ultimateTimes[curCard1]).ToString();
+        }
+        if (isChangeUltimateText2)
+        {
+            isChangeUltimateText2 = false;
+            P1times.text = (--s2.ultimateTimes[curCard2]).ToString();
+        }
     }
     }
 }
 }

+ 1 - 0
ActionTowerDefense/Assets/Scripts/Spirits/Base_Spirits/Spirits.cs

@@ -21,6 +21,7 @@ public class Spirits : MonoBehaviour
     public int hasSpirits;          //已有的英灵牌数量
     public int hasSpirits;          //已有的英灵牌数量
     public int maxCards;            //最多有多少张英灵牌
     public int maxCards;            //最多有多少张英灵牌
     public SpiritType[] ownSpirits; //已有的英灵牌
     public SpiritType[] ownSpirits; //已有的英灵牌
+    public int[] ultimateTimes;     //英灵可使用的技能次数
 
 
     public SpiritType TranSpirit(int k)
     public SpiritType TranSpirit(int k)
     {
     {

File diff suppressed because it is too large
+ 0 - 0
ActionTowerDefense/Assets/TextMesh Pro/Resources/Fonts & Materials/Game Over SDF.asset


Some files were not shown because too many files changed in this diff