Energy works
This commit is contained in:
parent
ee8d66610e
commit
e59375bbe6
6 changed files with 178 additions and 50 deletions
|
|
@ -6,7 +6,8 @@ public class BattleController : MonoBehaviour
|
|||
{
|
||||
public HeroId[] heroIds;
|
||||
public MonsterId[] monsterIds;
|
||||
|
||||
public int maxEnergy = 6;
|
||||
|
||||
public HeroInfoUI heroUIPrefab;
|
||||
public GameObject uiCanvas;
|
||||
public BattlePlayerControls battlePlayerControls;
|
||||
|
|
@ -19,6 +20,12 @@ public class BattleController : MonoBehaviour
|
|||
private GameObject[] monsterSprites;
|
||||
private HeroInfoUI[] monsterUIs;
|
||||
|
||||
private int energy;
|
||||
|
||||
void Awake() {
|
||||
this.energy = this.maxEnergy;
|
||||
}
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
|
|
@ -74,11 +81,36 @@ public class BattleController : MonoBehaviour
|
|||
}
|
||||
|
||||
public void OnCardUsed(BaseCard card) {
|
||||
Debug.Log("OnCardClicked " + card);
|
||||
StartCoroutine(card.Use(battlePlayerControls));
|
||||
Debug.Log("OnCardUsed " + card);
|
||||
if (!CanUseCard(card)) {
|
||||
throw new System.InvalidOperationException("Cannot use card " + card.GetDisplayName());
|
||||
}
|
||||
StartCoroutine(UseCard(card));
|
||||
}
|
||||
|
||||
public IEnumerator UseCard(BaseCard card) {
|
||||
yield return card.Use(battlePlayerControls);
|
||||
PayCardCost(card);
|
||||
}
|
||||
|
||||
public void OnTurnPassed() {
|
||||
Debug.Log("OnTurnPassed");
|
||||
this.energy = this.maxEnergy;
|
||||
}
|
||||
|
||||
public bool CanUseCard(BaseCard card) {
|
||||
return this.energy >= card.GetCost();
|
||||
}
|
||||
|
||||
private void PayCardCost(BaseCard card) {
|
||||
this.energy -= card.GetCost();
|
||||
}
|
||||
|
||||
public int GetEnergy() {
|
||||
return this.energy;
|
||||
}
|
||||
|
||||
public int GetMaxEnergy() {
|
||||
return this.maxEnergy;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,6 @@ public class BattleParticipantSprite : MonoBehaviour
|
|||
}
|
||||
|
||||
void OnMouseDown() {
|
||||
Debug.Log("Clicked " + this.name);
|
||||
OnSpriteClicked(participant);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -56,7 +56,9 @@ public class BattlePlayerControls : MonoBehaviour
|
|||
|
||||
private void OnCardClicked(BaseCard card) {
|
||||
if (!this.waitingForTarget) {
|
||||
OnCardUsed(card);
|
||||
if (this.battleController.CanUseCard(card)) {
|
||||
OnCardUsed(card);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -121,6 +121,57 @@ NavMeshSettings:
|
|||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &24180899
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 24180900}
|
||||
- component: {fileID: 24180901}
|
||||
m_Layer: 5
|
||||
m_Name: EnergyUI
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &24180900
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 24180899}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 527589754}
|
||||
m_Father: {fileID: 35522592}
|
||||
m_RootOrder: 1
|
||||
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: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &24180901
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 24180899}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7045cd41e530ab440bda43353370773b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
text: {fileID: 527589755}
|
||||
battleController: {fileID: 359124400}
|
||||
--- !u!1 &35522588
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -211,8 +262,8 @@ RectTransform:
|
|||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||
m_Children:
|
||||
- {fileID: 527589754}
|
||||
- {fileID: 1281365532}
|
||||
- {fileID: 1415908914}
|
||||
- {fileID: 24180900}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
|
@ -252,6 +303,7 @@ MonoBehaviour:
|
|||
m_EditorClassIdentifier:
|
||||
heroIds: 010000000000000002000000
|
||||
monsterIds: 000000000100000000000000
|
||||
maxEnergy: 6
|
||||
heroUIPrefab: {fileID: 6641511084601005557, guid: ef1b469b45cedee418e4c4adf577cd00,
|
||||
type: 3}
|
||||
uiCanvas: {fileID: 35522588}
|
||||
|
|
@ -365,7 +417,7 @@ GameObject:
|
|||
- component: {fileID: 527589756}
|
||||
- component: {fileID: 527589755}
|
||||
m_Layer: 5
|
||||
m_Name: Text
|
||||
m_Name: EnergyText
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
|
|
@ -378,17 +430,17 @@ RectTransform:
|
|||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 527589753}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 35522592}
|
||||
m_Father: {fileID: 24180900}
|
||||
m_RootOrder: 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: -490, y: -279}
|
||||
m_SizeDelta: {x: 160, y: 30}
|
||||
m_AnchoredPosition: {x: -467.1, y: -316}
|
||||
m_SizeDelta: {x: 171.60992, y: 30}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &527589755
|
||||
MonoBehaviour:
|
||||
|
|
@ -403,7 +455,7 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_Color: {r: 0.93333334, g: 0.93333334, b: 0.93333334, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
|
|
@ -411,10 +463,10 @@ MonoBehaviour:
|
|||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 14
|
||||
m_FontStyle: 0
|
||||
m_FontSize: 20
|
||||
m_FontStyle: 1
|
||||
m_BestFit: 0
|
||||
m_MinSize: 10
|
||||
m_MinSize: 2
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 3
|
||||
m_AlignByGeometry: 0
|
||||
|
|
@ -497,7 +549,7 @@ Transform:
|
|||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1281365531
|
||||
--- !u!1 &1415908913
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
|
|
@ -505,44 +557,44 @@ GameObject:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1281365532}
|
||||
- component: {fileID: 1281365535}
|
||||
- component: {fileID: 1281365534}
|
||||
- component: {fileID: 1281365533}
|
||||
- component: {fileID: 1415908914}
|
||||
- component: {fileID: 1415908917}
|
||||
- component: {fileID: 1415908916}
|
||||
- component: {fileID: 1415908915}
|
||||
m_Layer: 5
|
||||
m_Name: Button
|
||||
m_Name: PassButton
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1281365532
|
||||
--- !u!224 &1415908914
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1281365531}
|
||||
m_GameObject: {fileID: 1415908913}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 1529429807}
|
||||
- {fileID: 2141503600}
|
||||
m_Father: {fileID: 35522592}
|
||||
m_RootOrder: 1
|
||||
m_RootOrder: 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: 490, y: -279}
|
||||
m_AnchoredPosition: {x: 480.5, y: -314.1}
|
||||
m_SizeDelta: {x: 160, y: 30}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1281365533
|
||||
--- !u!114 &1415908915
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1281365531}
|
||||
m_GameObject: {fileID: 1415908913}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
|
|
@ -575,12 +627,12 @@ MonoBehaviour:
|
|||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 1281365534}
|
||||
m_TargetGraphic: {fileID: 1415908916}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 359124400}
|
||||
m_MethodName: HitRandomParticipant
|
||||
- m_Target: {fileID: 1436154611}
|
||||
m_MethodName: PassTurnButtonClicked
|
||||
m_Mode: 1
|
||||
m_Arguments:
|
||||
m_ObjectArgument: {fileID: 0}
|
||||
|
|
@ -590,13 +642,13 @@ MonoBehaviour:
|
|||
m_StringArgument:
|
||||
m_BoolArgument: 0
|
||||
m_CallState: 2
|
||||
--- !u!114 &1281365534
|
||||
--- !u!114 &1415908916
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1281365531}
|
||||
m_GameObject: {fileID: 1415908913}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
|
|
@ -619,13 +671,13 @@ MonoBehaviour:
|
|||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!222 &1281365535
|
||||
--- !u!222 &1415908917
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1281365531}
|
||||
m_GameObject: {fileID: 1415908913}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1436154610
|
||||
GameObject:
|
||||
|
|
@ -656,6 +708,7 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 9b4d50dd7247d784d9402c81c0d7259d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
battleController: {fileID: 359124400}
|
||||
uiCanvas: {fileID: 35522588}
|
||||
cardPrefab: {fileID: 2477879196625076711, guid: a2a8de873e36bee42af5fda3c7299574,
|
||||
type: 3}
|
||||
|
|
@ -673,7 +726,7 @@ Transform:
|
|||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1529429806
|
||||
--- !u!1 &2141503599
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
|
|
@ -681,9 +734,9 @@ GameObject:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1529429807}
|
||||
- component: {fileID: 1529429809}
|
||||
- component: {fileID: 1529429808}
|
||||
- component: {fileID: 2141503600}
|
||||
- component: {fileID: 2141503602}
|
||||
- component: {fileID: 2141503601}
|
||||
m_Layer: 5
|
||||
m_Name: Text
|
||||
m_TagString: Untagged
|
||||
|
|
@ -691,18 +744,18 @@ GameObject:
|
|||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1529429807
|
||||
--- !u!224 &2141503600
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1529429806}
|
||||
m_GameObject: {fileID: 2141503599}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1281365532}
|
||||
m_Father: {fileID: 1415908914}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
|
|
@ -710,13 +763,13 @@ RectTransform:
|
|||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1529429808
|
||||
--- !u!114 &2141503601
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1529429806}
|
||||
m_GameObject: {fileID: 2141503599}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
|
|
@ -742,14 +795,12 @@ MonoBehaviour:
|
|||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: 'Hit random participant
|
||||
|
||||
'
|
||||
--- !u!222 &1529429809
|
||||
m_Text: Pass Turn
|
||||
--- !u!222 &2141503602
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1529429806}
|
||||
m_GameObject: {fileID: 2141503599}
|
||||
m_CullTransparentMesh: 0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue