Merge branch '38-verschiedene-modals-fuer-angriff-und-verschieben' into 'development'
Resolve "Verschiedene Modals fuer Angriff und Verschieben" Closes #38 See merge request marcel.schwarz/software-projekt-2!81
This commit is contained in:
commit
02c7903705
@ -41,7 +41,6 @@
|
||||
9EC2FBA72476B1EC00ABF11F /* PlayerInfoComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9EC2FBA62476B1EC00ABF11F /* PlayerInfoComponent.swift */; };
|
||||
9EC7E48B2461FBF700396BCD /* SliderNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9EC7E48A2461FBF700396BCD /* SliderNode.swift */; };
|
||||
9EC86B9F245C88A300796EF3 /* Modal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9EC86B9E245C88A300796EF3 /* Modal.swift */; };
|
||||
9EC86BA6245C8AD000796EF3 /* ModalType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9EC86BA5245C8AD000796EF3 /* ModalType.swift */; };
|
||||
9EEDE02D246FCD770096C735 /* SpinningLogoEntity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9EEDE02C246FCD770096C735 /* SpinningLogoEntity.swift */; };
|
||||
9EEDE02F246FCD800096C735 /* SpinningLogoComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9EEDE02E246FCD800096C735 /* SpinningLogoComponent.swift */; };
|
||||
AB0B88F6247AD89200C8DF66 /* SkillComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB0B88F5247AD89200C8DF66 /* SkillComponent.swift */; };
|
||||
@ -108,7 +107,6 @@
|
||||
9EC2FBA62476B1EC00ABF11F /* PlayerInfoComponent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerInfoComponent.swift; sourceTree = "<group>"; };
|
||||
9EC7E48A2461FBF700396BCD /* SliderNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SliderNode.swift; sourceTree = "<group>"; };
|
||||
9EC86B9E245C88A300796EF3 /* Modal.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Modal.swift; sourceTree = "<group>"; };
|
||||
9EC86BA5245C8AD000796EF3 /* ModalType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModalType.swift; sourceTree = "<group>"; };
|
||||
9ECD3699245C91F7008DEEBD /* GoldWars.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = GoldWars.entitlements; sourceTree = "<group>"; };
|
||||
9EEDE02C246FCD770096C735 /* SpinningLogoEntity.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SpinningLogoEntity.swift; sourceTree = "<group>"; };
|
||||
9EEDE02E246FCD800096C735 /* SpinningLogoComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SpinningLogoComponent.swift; sourceTree = "<group>"; };
|
||||
@ -203,23 +201,23 @@
|
||||
116060F4245C56EA004E5A36 /* Components */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
C05BB9C3247D890C00411249 /* SliderComponent.swift */,
|
||||
C064E9A7246C0EA50022B228 /* LabelNode.swift */,
|
||||
9E174C81245DD81D00209FF0 /* ButtonNode.swift */,
|
||||
8BB6FF3F2472B8F000162BBD /* SingeClickButtonNode.swift */,
|
||||
9EA3ABEA245C6DFA006BC61D /* BaseNode.swift */,
|
||||
9EC7E48A2461FBF700396BCD /* SliderNode.swift */,
|
||||
C064E9A9246C114C0022B228 /* LabelComponent.swift */,
|
||||
AB0B88F5247AD89200C8DF66 /* SkillComponent.swift */,
|
||||
9EEDE02E246FCD800096C735 /* SpinningLogoComponent.swift */,
|
||||
9E174C85245DD91500209FF0 /* ButtonComponent.swift */,
|
||||
9EA3ABE8245C6DAA006BC61D /* DefaultBaseComponent.swift */,
|
||||
9E78ACB7245CB75B00526FF7 /* TeamComponent.swift */,
|
||||
9E174C87245DF1FF00209FF0 /* BackgroundComponent.swift */,
|
||||
9E04AFAE245E2B73002D5CFC /* AttackActionComponent.swift */,
|
||||
2086465B2461B66200817C23 /* TimerComponent.swift */,
|
||||
9E174C87245DF1FF00209FF0 /* BackgroundComponent.swift */,
|
||||
9EA3ABEA245C6DFA006BC61D /* BaseNode.swift */,
|
||||
9E174C85245DD91500209FF0 /* ButtonComponent.swift */,
|
||||
9E174C81245DD81D00209FF0 /* ButtonNode.swift */,
|
||||
9EA3ABE8245C6DAA006BC61D /* DefaultBaseComponent.swift */,
|
||||
3E6785432472CC27007B9DE4 /* DefaultWayComponent.swift */,
|
||||
C064E9A9246C114C0022B228 /* LabelComponent.swift */,
|
||||
C064E9A7246C0EA50022B228 /* LabelNode.swift */,
|
||||
9EC2FBA62476B1EC00ABF11F /* PlayerInfoComponent.swift */,
|
||||
8BB6FF3F2472B8F000162BBD /* SingeClickButtonNode.swift */,
|
||||
AB0B88F5247AD89200C8DF66 /* SkillComponent.swift */,
|
||||
C05BB9C3247D890C00411249 /* SliderComponent.swift */,
|
||||
9EC7E48A2461FBF700396BCD /* SliderNode.swift */,
|
||||
9EEDE02E246FCD800096C735 /* SpinningLogoComponent.swift */,
|
||||
9E78ACB7245CB75B00526FF7 /* TeamComponent.swift */,
|
||||
2086465B2461B66200817C23 /* TimerComponent.swift */,
|
||||
);
|
||||
path = Components;
|
||||
sourceTree = "<group>";
|
||||
@ -259,7 +257,6 @@
|
||||
9EC86BA2245C89B200796EF3 /* Enums */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9EC86BA5245C8AD000796EF3 /* ModalType.swift */,
|
||||
3EBD242D245D9332003CECE7 /* Team.swift */,
|
||||
3F745DEF246F48FC00CE7375 /* PlayerMoveType.swift */,
|
||||
);
|
||||
@ -401,7 +398,6 @@
|
||||
9E78ACB8245CB75B00526FF7 /* TeamComponent.swift in Sources */,
|
||||
9E0E459724796262009817A6 /* GameCenterManager.swift in Sources */,
|
||||
3FE19DB5246C7A22004827AB /* RoundCalculatorService.swift in Sources */,
|
||||
9EC86BA6245C8AD000796EF3 /* ModalType.swift in Sources */,
|
||||
9EC239E1246878A900952F74 /* MultiplayerNetwork.swift in Sources */,
|
||||
9EA3ABEB245C6DFA006BC61D /* BaseNode.swift in Sources */,
|
||||
9E04AFAF245E2B73002D5CFC /* AttackActionComponent.swift in Sources */,
|
||||
|
@ -11,6 +11,7 @@ import GameplayKit
|
||||
enum ModalType: String{
|
||||
case BaseDetails
|
||||
case BaseAttack
|
||||
case BaseMoveOwnUnits
|
||||
}
|
||||
|
||||
class Modal: GKEntity{
|
||||
@ -46,7 +47,11 @@ class Modal: GKEntity{
|
||||
footer = SKLabelNode()
|
||||
case .BaseAttack:
|
||||
header = SKLabelNode(text: "Angriff")
|
||||
body = SKLabelNode(text: "Schicke \(unitCount / 2) Einheiten")
|
||||
body = SKLabelNode(text: "Schicke \(unitCount / 2)\nEinheiten")
|
||||
footer = SKLabelNode()
|
||||
case .BaseMoveOwnUnits:
|
||||
header = SKLabelNode(text: "Formation")
|
||||
body = SKLabelNode(text: "Sende \(unitCount / 2)\nEinheiten")
|
||||
footer = SKLabelNode()
|
||||
}
|
||||
|
||||
@ -75,9 +80,10 @@ class Modal: GKEntity{
|
||||
addComponent(ButtonComponent(textureName: "yellow_button04", text: "Zurück", position: CGPoint(x: anchorPoint.x , y: anchorPoint.y - 105), isEnabled: true, onButtonPress: {
|
||||
EntityManager.gameEMInstance.removeModal()
|
||||
}))
|
||||
case .BaseAttack:
|
||||
case .BaseAttack, .BaseMoveOwnUnits:
|
||||
let text = (modaltype == .BaseAttack) ? "Angriff" : "Senden"
|
||||
addComponent(SliderComponent(width: 300, position: CGPoint(x: anchorPoint.x , y: anchorPoint.y - 50)))
|
||||
addComponent(ButtonComponent(textureName: "yellow_button04", text: "Senden", position: CGPoint(x: anchorPoint.x , y: anchorPoint.y - 105), isEnabled: true, onButtonPress: {
|
||||
addComponent(ButtonComponent(textureName: "yellow_button04", text: text, position: CGPoint(x: anchorPoint.x , y: anchorPoint.y - 105), isEnabled: true, onButtonPress: {
|
||||
self.sendUnits(currentDraggedBase: currentDraggedBase, touchLocation: touchLocation, gameScene: gameScene, collisionBase: collisionBase)
|
||||
EntityManager.gameEMInstance.removeModal()
|
||||
}))
|
||||
|
@ -1,9 +0,0 @@
|
||||
//
|
||||
// ModalType.swift
|
||||
// GoldWars
|
||||
//
|
||||
// Created by Niko Jochim on 01.05.20.
|
||||
// Copyright © 2020 SP2. All rights reserved.
|
||||
//
|
||||
|
||||
|
@ -109,7 +109,8 @@ class GameScene: SKScene{
|
||||
if !checkIfMoveIsAble() {
|
||||
return
|
||||
}
|
||||
entityManager.add(Modal(modaltype: .BaseAttack,
|
||||
let modaltype = setModalType()
|
||||
entityManager.add(Modal(modaltype: modaltype,
|
||||
base: currentDraggedBase!,
|
||||
anchorPoint: CGPoint(x: self.size.width / 2 , y: self.size.height / 2),
|
||||
gameScene: self,
|
||||
@ -169,10 +170,22 @@ class GameScene: SKScene{
|
||||
}
|
||||
|
||||
func checkIfMoveIsAble() -> Bool{
|
||||
if collisionBase?.ownershipPlayer == currentDraggedBase?.ownershipPlayer {
|
||||
return RoundCalculatorService.sharedInstance.numberOfOwnUnitMoves < 5
|
||||
} else {
|
||||
if isAttackMove() {
|
||||
return RoundCalculatorService.sharedInstance.numberOfAttacks < 2
|
||||
} else {
|
||||
return RoundCalculatorService.sharedInstance.numberOfOwnUnitMoves < 5
|
||||
}
|
||||
}
|
||||
|
||||
func setModalType() -> ModalType {
|
||||
if isAttackMove() {
|
||||
return .BaseAttack
|
||||
} else {
|
||||
return .BaseMoveOwnUnits
|
||||
}
|
||||
}
|
||||
|
||||
func isAttackMove() -> Bool {
|
||||
return collisionBase?.ownershipPlayer != currentDraggedBase?.ownershipPlayer
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user