Minor code cleanup

This commit is contained in:
Aldin Duraki 2020-05-05 11:16:27 -07:00
parent bf88e1af83
commit 3b417cbe0e
20 changed files with 44 additions and 83 deletions

View File

@ -10,8 +10,8 @@ import GameplayKit
class AtkBoostSkillComponent: GKComponent{ class AtkBoostSkillComponent: GKComponent{
let shapeNode :SKShapeNode let shapeNode: SKShapeNode
let labelNode :SKLabelNode let labelNode: SKLabelNode
init(text: String, texture: SKTexture?, anchorPoint: CGPoint) { init(text: String, texture: SKTexture?, anchorPoint: CGPoint) {
self.labelNode = SKLabelNode(text: text) self.labelNode = SKLabelNode(text: text)
@ -24,7 +24,6 @@ class AtkBoostSkillComponent: GKComponent{
shapeNode.fillColor = SKColor.gray shapeNode.fillColor = SKColor.gray
} }
super.init() super.init()
} }
required init?(coder: NSCoder) { required init?(coder: NSCoder) {

View File

@ -6,17 +6,13 @@
// Copyright © 2020 SP2. All rights reserved. // Copyright © 2020 SP2. All rights reserved.
// //
import Foundation
import GameplayKit import GameplayKit
class AttackActionComponent : GKComponent { class AttackActionComponent: GKComponent {
init(unitCount: Int, adjacencyList: Array<Base>, position: CGPoint) { init(unitCount: Int, adjacencyList: Array<Base>, position: CGPoint) {
super.init() super.init()
} }
required init?(coder: NSCoder) { required init?(coder: NSCoder) {
@ -25,7 +21,7 @@ class AttackActionComponent : GKComponent {
func action() { func action() {
// Not implemented yet
} }
} }

View File

@ -6,7 +6,6 @@
// Copyright © 2020 SP2. All rights reserved. // Copyright © 2020 SP2. All rights reserved.
// //
import Foundation
import GameplayKit import GameplayKit
class BackgroundComponent: GKComponent{ class BackgroundComponent: GKComponent{
@ -21,7 +20,7 @@ class BackgroundComponent: GKComponent{
sky.name = "clouds" sky.name = "clouds"
sky.zPosition = -1 sky.zPosition = -1
sky.size = CGSize(width: size.width, height: size.height) sky.size = CGSize(width: size.width, height: size.height)
sky.position = CGPoint(x: CGFloat(i) * sky.size.width , y: (size.height / 2)) sky.position = CGPoint(x: CGFloat(i) * sky.size.width, y: (size.height / 2))
nodes.append(sky) nodes.append(sky)
} }
super.init() super.init()
@ -36,8 +35,6 @@ class BackgroundComponent: GKComponent{
} }
} }
required init?(coder: NSCoder) { required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented") fatalError("init(coder:) has not been implemented")
} }

View File

@ -6,23 +6,20 @@
// Copyright © 2020 SP2. All rights reserved. // Copyright © 2020 SP2. All rights reserved.
// //
import Foundation
import SpriteKit import SpriteKit
class BaseNode: SKSpriteNode{ class BaseNode: SKSpriteNode{
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
// TODO: PopUp Einheiten + Close PopUp // TODO: PopUp Einheiten + Close PopUp
self.run( self.run(
SKAction.sequence( SKAction.sequence(
[ [
SKAction.resize(byWidth: 20, height: 20, duration: 0.5), SKAction.resize(byWidth: 20, height: 20, duration: 0.5),
SKAction.resize(byWidth: -20, height: -20, duration: 0.5) SKAction.resize(byWidth: -20, height: -20, duration: 0.5)
] ]
) )
) )
} }
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) { override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {

View File

@ -6,14 +6,13 @@
// Copyright © 2020 SP2. All rights reserved. // Copyright © 2020 SP2. All rights reserved.
// //
import Foundation
import GameplayKit import GameplayKit
class ButtonComponent: GKComponent { class ButtonComponent: GKComponent {
var buttonNode : ButtonNode var buttonNode: ButtonNode
init(iconName: String, text: String, position: CGPoint, isEnabled:Bool , onButtonPress: @escaping () -> ()) { init(iconName: String, text: String, position: CGPoint, isEnabled:Bool, onButtonPress: @escaping () -> ()) {
buttonNode = ButtonNode(iconName: iconName, buttonNode = ButtonNode(iconName: iconName,
text: text, text: text,
isEnabled: isEnabled, isEnabled: isEnabled,

View File

@ -6,12 +6,11 @@
// Copyright © 2020 SP2. All rights reserved. // Copyright © 2020 SP2. All rights reserved.
// //
import Foundation
import SpriteKit import SpriteKit
class ButtonNode : SKSpriteNode { class ButtonNode: SKSpriteNode {
var isEnabled:Bool{ var isEnabled: Bool{
didSet{ didSet{
if isEnabled { if isEnabled {
self.alpha = 1 self.alpha = 1
@ -25,7 +24,7 @@ class ButtonNode : SKSpriteNode {
let onButtonPress: () -> () let onButtonPress: () -> ()
init(iconName: String, text: String,isEnabled:Bool, position: CGPoint, onButtonPress: @escaping () -> ()) { init(iconName: String, text: String, isEnabled: Bool, position: CGPoint, onButtonPress: @escaping () -> ()) {
self.onButtonPress = onButtonPress self.onButtonPress = onButtonPress
self.isEnabled = isEnabled self.isEnabled = isEnabled
let texture = SKTexture(imageNamed: "yellow_button04") let texture = SKTexture(imageNamed: "yellow_button04")
@ -33,42 +32,39 @@ class ButtonNode : SKSpriteNode {
self.position = position self.position = position
let label = SKLabelNode(fontNamed: "Courier-Bold") let label = SKLabelNode(fontNamed: "Courier-Bold")
label.fontSize = 30 label.fontSize = 30
label.fontColor = SKColor.black label.fontColor = SKColor.black
label.zPosition = 1 label.zPosition = 1
label.verticalAlignmentMode = .center label.verticalAlignmentMode = .center
label.text = text label.text = text
label.name = "label" label.name = "label"
if !iconName.isEmpty { if iconName.isEmpty {
label.position = CGPoint(x: 0, y: 0)
} else {
label.position = CGPoint(x: size.width * 0.25, y: 0) label.position = CGPoint(x: size.width * 0.25, y: 0)
let icon = SKSpriteNode(imageNamed: iconName) let icon = SKSpriteNode(imageNamed: iconName)
icon.position = CGPoint(x: -size.width * 0.25, y: 0) icon.position = CGPoint(x: -size.width * 0.25, y: 0)
icon.zPosition = 1 icon.zPosition = 1
self.addChild(icon) self.addChild(icon)
} else {
label.position = CGPoint(x: 0, y: 0)
} }
self.addChild(label) self.addChild(label)
isUserInteractionEnabled = true isUserInteractionEnabled = true
} }
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
if isEnabled { if isEnabled {
let action = SKAction.sequence( let action = SKAction.sequence(
[ [
SKAction.scale(by: (3/4), duration: 0.3), SKAction.scale(by: (3/4), duration: 0.3),
SKAction.scale(by: (4/3), duration: 0.3), SKAction.scale(by: (4/3), duration: 0.3),
]) ]
)
self.childNode(withName: "label")?.run(action) self.childNode(withName: "label")?.run(action)
self.run(action) self.run(action)
onButtonPress() onButtonPress()
} }
} }

View File

@ -10,8 +10,8 @@ import GameplayKit
class DefBoostSkillComponent: GKComponent{ class DefBoostSkillComponent: GKComponent{
let shapeNode :SKShapeNode let shapeNode: SKShapeNode
let labelNode :SKLabelNode let labelNode: SKLabelNode
init(text: String, texture: SKTexture?, anchorPoint: CGPoint) { init(text: String, texture: SKTexture?, anchorPoint: CGPoint) {
self.labelNode = SKLabelNode(text: text) self.labelNode = SKLabelNode(text: text)
@ -24,7 +24,6 @@ class DefBoostSkillComponent: GKComponent{
shapeNode.fillColor = SKColor.gray shapeNode.fillColor = SKColor.gray
} }
super.init() super.init()
} }
required init?(coder: NSCoder) { required init?(coder: NSCoder) {

View File

@ -6,14 +6,13 @@
// Copyright © 2020 SP2. All rights reserved. // Copyright © 2020 SP2. All rights reserved.
// //
import Foundation
import GameplayKit import GameplayKit
import SpriteKit import SpriteKit
class DefaultBaseComponent: GKComponent { class DefaultBaseComponent: GKComponent {
var spriteNode: BaseNode var spriteNode: BaseNode
init(texture: SKTexture,position: CGPoint) { init(texture: SKTexture, position: CGPoint) {
spriteNode = BaseNode(texture: texture, size: CGSize(width: 80, height: 80)) spriteNode = BaseNode(texture: texture, size: CGSize(width: 80, height: 80))
spriteNode.position = position spriteNode.position = position
super.init() super.init()

View File

@ -6,12 +6,11 @@
// Copyright © 2020 SP2. All rights reserved. // Copyright © 2020 SP2. All rights reserved.
// //
import Foundation
import GameplayKit import GameplayKit
import SpriteKit import SpriteKit
class ModalBackgroundComponent: GKComponent { class ModalBackgroundComponent: GKComponent {
let spriteNode : SKSpriteNode let spriteNode: SKSpriteNode
init(anchorPoint: CGPoint) { init(anchorPoint: CGPoint) {
let texture = SKTexture(imageNamed:"ModalBackground") let texture = SKTexture(imageNamed:"ModalBackground")

View File

@ -6,7 +6,6 @@
// Copyright © 2020 SP2. All rights reserved. // Copyright © 2020 SP2. All rights reserved.
// //
import Foundation
import GameplayKit import GameplayKit
import SpriteKit import SpriteKit

View File

@ -10,8 +10,8 @@ import GameplayKit
class SpySkillComponent: GKComponent{ class SpySkillComponent: GKComponent{
let shapeNode :SKShapeNode let shapeNode: SKShapeNode
let labelNode :SKLabelNode let labelNode: SKLabelNode
init(text: String, texture: SKTexture?, anchorPoint: CGPoint) { init(text: String, texture: SKTexture?, anchorPoint: CGPoint) {
self.labelNode = SKLabelNode(text: text) self.labelNode = SKLabelNode(text: text)
@ -24,7 +24,6 @@ class SpySkillComponent: GKComponent{
shapeNode.fillColor = SKColor.gray shapeNode.fillColor = SKColor.gray
} }
super.init() super.init()
} }
required init?(coder: NSCoder) { required init?(coder: NSCoder) {

View File

@ -11,7 +11,7 @@ import GameplayKit
class TeamComponent: GKComponent { class TeamComponent: GKComponent {
let team: Team let team: Team
let fire:SKEmitterNode let fire: SKEmitterNode
init(team: Team, position: CGPoint) { init(team: Team, position: CGPoint) {
fire = SKEmitterNode(fileNamed: "Fire")! fire = SKEmitterNode(fileNamed: "Fire")!
@ -20,7 +20,8 @@ class TeamComponent: GKComponent {
fire.name = "fire" fire.name = "fire"
fire.particleColorSequence = nil fire.particleColorSequence = nil
fire.particleColorBlendFactor = 1.0 fire.particleColorBlendFactor = 1.0
switch team {
switch team {
case .team1: fire.particleColor = SKColor.red case .team1: fire.particleColor = SKColor.red
case .team2: fire.particleColor = SKColor.purple case .team2: fire.particleColor = SKColor.purple
case .team3: fire.particleColor = SKColor.green case .team3: fire.particleColor = SKColor.green

View File

@ -6,7 +6,6 @@
// Copyright © 2020 SP2. All rights reserved. // Copyright © 2020 SP2. All rights reserved.
// //
import Foundation
import GameplayKit import GameplayKit
class Background: GKEntity { class Background: GKEntity {
@ -16,7 +15,6 @@ class Background: GKEntity {
addComponent(BackgroundComponent(size: size)) addComponent(BackgroundComponent(size: size))
} }
override func update(deltaTime seconds: TimeInterval) { override func update(deltaTime seconds: TimeInterval) {
component(ofType: BackgroundComponent.self)?.update() component(ofType: BackgroundComponent.self)?.update()
} }
@ -24,7 +22,4 @@ class Background: GKEntity {
required init?(coder: NSCoder) { required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented") fatalError("init(coder:) has not been implemented")
} }
} }

View File

@ -9,7 +9,8 @@
import SpriteKit import SpriteKit
import GameplayKit import GameplayKit
class Base : GKEntity { class Base: GKEntity {
var unitCount: Int var unitCount: Int
var adjacencyList: Array<Base> var adjacencyList: Array<Base>

View File

@ -6,24 +6,20 @@
// Copyright © 2020 SP2. All rights reserved. // Copyright © 2020 SP2. All rights reserved.
// //
import Foundation
import GameKit import GameKit
class Button : GKEntity{ class Button: GKEntity{
let name : String
let name: String
var isEnabled = true var isEnabled = true
init(name: String, iconName: String, text: String, position: CGPoint, onButtonPress: @escaping () -> ()) { init(name: String, iconName: String, text: String, position: CGPoint, onButtonPress: @escaping () -> ()) {
self.name = name self.name = name
super.init() super.init()
self.addComponent(ButtonComponent(iconName: iconName, text: text,position: position, isEnabled: isEnabled, onButtonPress: onButtonPress)) self.addComponent(ButtonComponent(iconName: iconName, text: text, position: position, isEnabled: isEnabled, onButtonPress: onButtonPress))
} }
required init?(coder: NSCoder) { required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented") fatalError("init(coder:) has not been implemented")
} }
} }

View File

@ -6,7 +6,6 @@
// Copyright © 2020 SP2. All rights reserved. // Copyright © 2020 SP2. All rights reserved.
// //
import Foundation
import SpriteKit import SpriteKit
import GameplayKit import GameplayKit
@ -14,7 +13,7 @@ class EntityManager {
var entities = Set<GKEntity>() var entities = Set<GKEntity>()
let scene: SKScene let scene: SKScene
var isModal:Bool var isModal: Bool
init(scene: SKScene) { init(scene: SKScene) {
self.scene = scene self.scene = scene
@ -58,9 +57,8 @@ class EntityManager {
scene.addChild(node) scene.addChild(node)
} }
} }
} }
func remove(_ entity: GKEntity) { func remove(_ entity: GKEntity) {
if let spriteNode = entity.component(ofType: DefaultBaseComponent.self)?.spriteNode { if let spriteNode = entity.component(ofType: DefaultBaseComponent.self)?.spriteNode {
spriteNode.removeFromParent() spriteNode.removeFromParent()
@ -97,11 +95,11 @@ class EntityManager {
return entities.filter{$0 is Background}[0] return entities.filter{$0 is Background}[0]
} }
func getBaseNodeByTeam(for team: Team) -> SKSpriteNode?{ func getBaseNodeByTeam(for team: Team) -> SKSpriteNode? {
return getBaseByTeam(for: team)?.component(ofType: DefaultBaseComponent.self)?.spriteNode return getBaseByTeam(for: team)?.component(ofType: DefaultBaseComponent.self)?.spriteNode
} }
func getButtonByName(buttonName:String) -> Button{ func getButtonByName(buttonName:String) -> Button {
return entities.filter{$0 is Button && ($0 as! Button).name == buttonName }[0] as! Button return entities.filter{$0 is Button && ($0 as! Button).name == buttonName }[0] as! Button
} }
} }

View File

@ -6,12 +6,10 @@
// Copyright © 2020 SP2. All rights reserved. // Copyright © 2020 SP2. All rights reserved.
// //
import Foundation
import GameplayKit import GameplayKit
class Modal:GKEntity{ class Modal: GKEntity{
init(modaltype: ModalType, base: Base, anchorPoint: CGPoint) { init(modaltype: ModalType, base: Base, anchorPoint: CGPoint) {
super.init() super.init()

View File

@ -6,8 +6,6 @@
// Copyright © 2020 SP2. All rights reserved. // Copyright © 2020 SP2. All rights reserved.
// //
import Foundation
enum ModalType: String{ enum ModalType: String{
case BaseDetails case BaseDetails
case BaseAttack case BaseAttack

View File

@ -22,9 +22,9 @@ class GameViewController: UIViewController {
//TODO: create dev profile or remove on delivery //TODO: create dev profile or remove on delivery
view.showsFPS = true view.showsFPS = true
view.showsNodeCount = true view.showsNodeCount = true
GameCenterHelper.helper.viewController = self GameCenterHelper.helper.viewController = self
} }
} }
override var shouldAutorotate: Bool { override var shouldAutorotate: Bool {

View File

@ -28,7 +28,6 @@ class GameScene: SKScene{
} }
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) { override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
guard let touch = touches.first else { guard let touch = touches.first else {
return return
} }
@ -36,9 +35,7 @@ class GameScene: SKScene{
let touchLocation = touch.location(in: self) let touchLocation = touch.location(in: self)
if !isMoveTouch { if !isMoveTouch {
for entity in entityManager.entities { for entity in entityManager.entities {
let spriteNode = entity.component(ofType: DefaultBaseComponent.self)?.spriteNode let spriteNode = entity.component(ofType: DefaultBaseComponent.self)?.spriteNode
if entityManager.isModal && entity.isMember(of: Modal.self) { if entityManager.isModal && entity.isMember(of: Modal.self) {
@ -48,7 +45,6 @@ class GameScene: SKScene{
child.alpha = 1 child.alpha = 1
} }
} }
} }
if atPoint(touchLocation) == spriteNode && !entityManager.isModal { if atPoint(touchLocation) == spriteNode && !entityManager.isModal {
@ -58,7 +54,6 @@ class GameScene: SKScene{
if(child.name != "fire"){ if(child.name != "fire"){
child.alpha = 0.3 child.alpha = 0.3
} }
} }
entityManager.add(Modal(modaltype: .BaseDetails, entityManager.add(Modal(modaltype: .BaseDetails,
base: entity as! Base, base: entity as! Base,