Enable ability for both player and change trigger to current round
This commit is contained in:
parent
c0153d43d4
commit
97d51411dc
@ -15,7 +15,6 @@ class Base: GKEntity{
|
|||||||
var unitCount: Int
|
var unitCount: Int
|
||||||
var hasAttackBoost = false
|
var hasAttackBoost = false
|
||||||
var hasDefenseBoost = false
|
var hasDefenseBoost = false
|
||||||
var hasSpyBoost = false
|
|
||||||
var adjacencyList: Array<Base>
|
var adjacencyList: Array<Base>
|
||||||
var changeOwnership: Bool
|
var changeOwnership: Bool
|
||||||
var ownershipPlayer: GKPlayer?
|
var ownershipPlayer: GKPlayer?
|
||||||
|
@ -217,6 +217,14 @@ class EntityManager {
|
|||||||
return entities.filter{$0 is Base && ($0 as! Base).component(ofType: TeamComponent.self)?.team == team } as! Set<Base>
|
return entities.filter{$0 is Base && ($0 as! Base).component(ofType: TeamComponent.self)?.team == team } as! Set<Base>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getOpponentBases(for team: Team) -> Set<Base> {
|
||||||
|
if(team == .team1){
|
||||||
|
return getBasesByTeam(for: .team2)
|
||||||
|
}else {
|
||||||
|
return getBasesByTeam(for: .team1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func getBasesByPlayer(for player: GKPlayer) -> Set<Base> {
|
func getBasesByPlayer(for player: GKPlayer) -> Set<Base> {
|
||||||
return entities.filter{$0 is Base && ($0 as! Base).component(ofType: TeamComponent.self)?.player == player } as! Set<Base>
|
return entities.filter{$0 is Base && ($0 as! Base).component(ofType: TeamComponent.self)?.player == player } as! Set<Base>
|
||||||
}
|
}
|
||||||
@ -238,6 +246,10 @@ class EntityManager {
|
|||||||
return entities.filter { $0 is Base && ($0 as! Base).component(ofType: TeamComponent.self)?.player.displayName == playerName }[0].component(ofType: TeamComponent.self)!.team
|
return entities.filter { $0 is Base && ($0 as! Base).component(ofType: TeamComponent.self)?.player.displayName == playerName }[0].component(ofType: TeamComponent.self)!.team
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getTeam() -> Team {
|
||||||
|
return entities.filter { $0 is Base && ($0 as! Base).component(ofType: TeamComponent.self)?.player.displayName == GKLocalPlayer.local.displayName }[0].component(ofType: TeamComponent.self)!.team
|
||||||
|
}
|
||||||
|
|
||||||
func getBasebyID(id: Int) -> Base?{
|
func getBasebyID(id: Int) -> Base?{
|
||||||
for entity in entities {
|
for entity in entities {
|
||||||
if entity is Base && (entity as! Base).baseID == id {
|
if entity is Base && (entity as! Base).baseID == id {
|
||||||
|
@ -41,7 +41,7 @@ class HUD: GKEntity {
|
|||||||
hostUnitsLabel = SKLabelNode(text: "500" )
|
hostUnitsLabel = SKLabelNode(text: "500" )
|
||||||
peerLabel = SKLabelNode(text: peer?.displayName)
|
peerLabel = SKLabelNode(text: peer?.displayName)
|
||||||
peerUnitsLabel = SKLabelNode(text: "500")
|
peerUnitsLabel = SKLabelNode(text: "500")
|
||||||
|
|
||||||
roundTimerLabel = SKLabelNode(text: "")
|
roundTimerLabel = SKLabelNode(text: "")
|
||||||
roundTimerLabel.fontColor = UIColor.black
|
roundTimerLabel.fontColor = UIColor.black
|
||||||
roundTimerLabel.fontSize = CGFloat(45)
|
roundTimerLabel.fontSize = CGFloat(45)
|
||||||
@ -56,10 +56,10 @@ class HUD: GKEntity {
|
|||||||
isEnabled: true,
|
isEnabled: true,
|
||||||
position: CGPoint(x: EntityManager.gameEMInstance.scene.size.width * 0.75, y: EntityManager.gameEMInstance.scene.size.height * 0.1),
|
position: CGPoint(x: EntityManager.gameEMInstance.scene.size.width * 0.75, y: EntityManager.gameEMInstance.scene.size.height * 0.1),
|
||||||
onButtonPress: {
|
onButtonPress: {
|
||||||
EntityManager.gameEMInstance.getBasesByTeam(for: .team2).forEach({base in base.hasSpyBoost = true})
|
EntityManager.gameEMInstance.getOpponentBases(for: EntityManager.gameEMInstance.getTeam()).forEach({base in base.component(ofType: DefaultBaseComponent.self)?.labelNode.text = "\(base.unitCount)"})
|
||||||
GameCenterManager.sharedInstance.addAchievementProgress(identifier: "de.hft.stuttgart.ip2.goldwars.skill.first.time", increasePercentComplete: 100)
|
GameCenterManager.sharedInstance.addAchievementProgress(identifier: "de.hft.stuttgart.ip2.goldwars.skill.first.time", increasePercentComplete: 100)
|
||||||
GameCenterManager.sharedInstance.addAchievementProgress(identifier: "de.hft.stuttgart.ip2.goldwars.skill.spy.ten", increasePercentComplete: 10)
|
GameCenterManager.sharedInstance.addAchievementProgress(identifier: "de.hft.stuttgart.ip2.goldwars.skill.spy.ten", increasePercentComplete: 10)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
defSkill = SingeClickButtonNode(
|
defSkill = SingeClickButtonNode(
|
||||||
textureName: "yellow_circle",
|
textureName: "yellow_circle",
|
||||||
@ -70,7 +70,7 @@ class HUD: GKEntity {
|
|||||||
DataService.sharedInstance.localRoundData.hasDefenceBoost = true
|
DataService.sharedInstance.localRoundData.hasDefenceBoost = true
|
||||||
GameCenterManager.sharedInstance.addAchievementProgress(identifier: "de.hft.stuttgart.ip2.goldwars.skill.first.time", increasePercentComplete: 100)
|
GameCenterManager.sharedInstance.addAchievementProgress(identifier: "de.hft.stuttgart.ip2.goldwars.skill.first.time", increasePercentComplete: 100)
|
||||||
GameCenterManager.sharedInstance.addAchievementProgress(identifier: "de.hft.stuttgart.ip2.goldwars.skill.def.ten", increasePercentComplete: 10)
|
GameCenterManager.sharedInstance.addAchievementProgress(identifier: "de.hft.stuttgart.ip2.goldwars.skill.def.ten", increasePercentComplete: 10)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
atkSkill = SingeClickButtonNode(
|
atkSkill = SingeClickButtonNode(
|
||||||
textureName: "yellow_circle",
|
textureName: "yellow_circle",
|
||||||
@ -78,10 +78,10 @@ class HUD: GKEntity {
|
|||||||
isEnabled: true,
|
isEnabled: true,
|
||||||
position: CGPoint(x: EntityManager.gameEMInstance.scene.size.width * 0.95, y: EntityManager.gameEMInstance.scene.size.height * 0.1),
|
position: CGPoint(x: EntityManager.gameEMInstance.scene.size.width * 0.95, y: EntityManager.gameEMInstance.scene.size.height * 0.1),
|
||||||
onButtonPress: {
|
onButtonPress: {
|
||||||
DataService.sharedInstance.localRoundData.hasAttackBoost = true
|
DataService.sharedInstance.localRoundData.hasAttackBoost = true
|
||||||
GameCenterManager.sharedInstance.addAchievementProgress(identifier: "de.hft.stuttgart.ip2.goldwars.skill.first.time", increasePercentComplete: 100)
|
GameCenterManager.sharedInstance.addAchievementProgress(identifier: "de.hft.stuttgart.ip2.goldwars.skill.first.time", increasePercentComplete: 100)
|
||||||
GameCenterManager.sharedInstance.addAchievementProgress(identifier: "de.hft.stuttgart.ip2.goldwars.skill.atk.ten", increasePercentComplete: 10)
|
GameCenterManager.sharedInstance.addAchievementProgress(identifier: "de.hft.stuttgart.ip2.goldwars.skill.atk.ten", increasePercentComplete: 10)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
finishButton = SingeClickButtonNode(
|
finishButton = SingeClickButtonNode(
|
||||||
|
Loading…
Reference in New Issue
Block a user