Merge branch '89-regelwerk' into 'development'
Resolve "Regelwerk" Closes #89 See merge request marcel.schwarz/software-projekt-2!112
@ -50,6 +50,7 @@
|
||||
AB671B252494ECF0003FBE8D /* EloHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB671B242494ECF0003FBE8D /* EloHelper.swift */; };
|
||||
ABA03DA0244BD54F00A66916 /* Base.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABA03D9F244BD54F00A66916 /* Base.swift */; };
|
||||
ABC0C3732481509300387B8F /* MapUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABC0C3722481509300387B8F /* MapUtils.swift */; };
|
||||
AE0C8E2F249BCC2A00996360 /* RulesScene.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE0C8E2E249BCC2A00996360 /* RulesScene.swift */; };
|
||||
C04783EE2468583F004961FB /* intro-music.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = C04783ED2468583F004961FB /* intro-music.mp3 */; };
|
||||
C04783F024685995004961FB /* SettingsScene.swift in Sources */ = {isa = PBXBuildFile; fileRef = C04783EF24685995004961FB /* SettingsScene.swift */; };
|
||||
C05BB9C4247D890C00411249 /* SliderComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = C05BB9C3247D890C00411249 /* SliderComponent.swift */; };
|
||||
@ -119,6 +120,7 @@
|
||||
AB671B242494ECF0003FBE8D /* EloHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EloHelper.swift; sourceTree = "<group>"; };
|
||||
ABA03D9F244BD54F00A66916 /* Base.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Base.swift; sourceTree = "<group>"; };
|
||||
ABC0C3722481509300387B8F /* MapUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapUtils.swift; sourceTree = "<group>"; };
|
||||
AE0C8E2E249BCC2A00996360 /* RulesScene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RulesScene.swift; sourceTree = "<group>"; };
|
||||
C04783ED2468583F004961FB /* intro-music.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = "intro-music.mp3"; sourceTree = "<group>"; };
|
||||
C04783EF24685995004961FB /* SettingsScene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsScene.swift; sourceTree = "<group>"; };
|
||||
C05BB9C3247D890C00411249 /* SliderComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SliderComponent.swift; sourceTree = "<group>"; };
|
||||
@ -194,6 +196,7 @@
|
||||
C04783EF24685995004961FB /* SettingsScene.swift */,
|
||||
3EAD889424801B6A0048A10A /* RoundTimer.swift */,
|
||||
AB671B242494ECF0003FBE8D /* EloHelper.swift */,
|
||||
AE0C8E2E249BCC2A00996360 /* RulesScene.swift */,
|
||||
);
|
||||
path = GoldWars;
|
||||
sourceTree = "<group>";
|
||||
@ -432,6 +435,7 @@
|
||||
C064E9A8246C0EA50022B228 /* LabelNode.swift in Sources */,
|
||||
8B9CA5F1249A3C2E00561704 /* SkillButtonNode.swift in Sources */,
|
||||
3EAD889524801B6A0048A10A /* RoundTimer.swift in Sources */,
|
||||
AE0C8E2F249BCC2A00996360 /* RulesScene.swift in Sources */,
|
||||
3E67854024728368007B9DE4 /* CElements.swift in Sources */,
|
||||
ABA03DA0244BD54F00A66916 /* Base.swift in Sources */,
|
||||
C064E9AC246C151F0022B228 /* Label.swift in Sources */,
|
||||
|
21
GoldWars/GoldWars/Assets.xcassets/Credits.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Credits.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/Credits.imageset/Credits.png
vendored
Normal file
After Width: | Height: | Size: 997 KiB |
21
GoldWars/GoldWars/Assets.xcassets/RulesBasen.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "RulesBasen.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/RulesBasen.imageset/RulesBasen.png
vendored
Normal file
After Width: | Height: | Size: 145 KiB |
21
GoldWars/GoldWars/Assets.xcassets/RulesBoost.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "RulesBoost.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/RulesBoost.imageset/RulesBoost.png
vendored
Normal file
After Width: | Height: | Size: 146 KiB |
21
GoldWars/GoldWars/Assets.xcassets/RulesEinheiten.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "RulesEinheiten.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/RulesEinheiten.imageset/RulesEinheiten.png
vendored
Normal file
After Width: | Height: | Size: 89 KiB |
21
GoldWars/GoldWars/Assets.xcassets/RulesErfolge.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "RulesErfolge.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/RulesErfolge.imageset/RulesErfolge.png
vendored
Normal file
After Width: | Height: | Size: 187 KiB |
21
GoldWars/GoldWars/Assets.xcassets/RulesSpiel.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "RulesSpiel.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/RulesSpiel.imageset/RulesSpiel.png
vendored
Normal file
After Width: | Height: | Size: 84 KiB |
21
GoldWars/GoldWars/Assets.xcassets/RulesSpielende.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "RulesSpielende.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/RulesSpielende.imageset/RulesSpielende.png
vendored
Normal file
After Width: | Height: | Size: 83 KiB |
21
GoldWars/GoldWars/Assets.xcassets/questionmark.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "questionmark.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/questionmark.imageset/questionmark.png
vendored
Normal file
After Width: | Height: | Size: 3.7 KiB |
@ -15,6 +15,7 @@ class EntityManager {
|
||||
static let gameEMInstance = EntityManager()
|
||||
static let menuEMInstance = EntityManager()
|
||||
static let settingsEMInstance = EntityManager()
|
||||
static let rulesEMInstance = EntityManager()
|
||||
|
||||
var entities = Set<GKEntity>()
|
||||
var scene: SKScene
|
||||
|
118
GoldWars/GoldWars/RulesScene.swift
Normal file
@ -0,0 +1,118 @@
|
||||
//
|
||||
// RulesScene.swift
|
||||
// GoldWars
|
||||
//
|
||||
// Created by Chauntalle Schüle on 18.06.20.
|
||||
// Copyright © 2020 SP2. All rights reserved.
|
||||
//
|
||||
|
||||
import SpriteKit
|
||||
import GameplayKit
|
||||
|
||||
class RulesScene: SKScene {
|
||||
|
||||
var image: SKSpriteNode?
|
||||
|
||||
override func sceneDidLoad() {
|
||||
EntityManager.rulesEMInstance.setScene(scene: self)
|
||||
EntityManager.rulesEMInstance.add(
|
||||
Button(name: "backToMenuScene",
|
||||
textureName: "questionmark",
|
||||
text: "",
|
||||
position: CGPoint(x: self.size.width - 50, y: self.size.height - 50),
|
||||
onButtonPress: {
|
||||
EntityManager.rulesEMInstance.entities.removeAll()
|
||||
self.view?.presentScene(
|
||||
MenuScene(size: self.size),
|
||||
transition: SKTransition.flipVertical(withDuration: 0.5)
|
||||
)
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
EntityManager.rulesEMInstance.add(
|
||||
Label(fontnamed: "Courier-Bold",
|
||||
name: "rulesLabel",
|
||||
text: "Regelwerk",
|
||||
fontSize: 90,
|
||||
fontColor: .black,
|
||||
position: CGPoint(x: self.size.width * 0.5, y: self.size.height - 100),
|
||||
horizontalAlignmentMode: .center,
|
||||
vertikalAligmentMode: .baseline,
|
||||
isAnimationEnabled: true,
|
||||
isAnimationInfinite: true
|
||||
)
|
||||
)
|
||||
|
||||
image = SKSpriteNode(imageNamed: "RulesSpiel")
|
||||
image!.size = CGSize(width: size.width * 0.8, height: size.height * 0.8)
|
||||
image!.position = CGPoint(x: size.width * 0.6, y: size.height * 0.6 - 150)
|
||||
image!.zPosition = 4
|
||||
|
||||
self.addChild(image!)
|
||||
|
||||
EntityManager.rulesEMInstance.add(
|
||||
Button(name: "Spiel",
|
||||
textureName: "yellow_button13",
|
||||
text: "Spiel",
|
||||
position: CGPoint(x: self.size.width * 0.1, y: self.size.height * 0.5 + 150),
|
||||
onButtonPress: { self.image!.texture = SKTexture(imageNamed: "RulesSpiel") }
|
||||
)
|
||||
)
|
||||
EntityManager.rulesEMInstance.add(
|
||||
Button(name: "Basen",
|
||||
textureName: "yellow_button13",
|
||||
text: "Basen",
|
||||
position: CGPoint(x: self.size.width * 0.1, y: self.size.height * 0.5 + 85),
|
||||
onButtonPress: { self.image!.texture = SKTexture(imageNamed: "RulesBasen") }
|
||||
)
|
||||
)
|
||||
EntityManager.rulesEMInstance.add(
|
||||
Button(name: "Einheiten",
|
||||
textureName: "yellow_button13",
|
||||
text: "Einheiten",
|
||||
position: CGPoint(x: self.size.width * 0.1, y: self.size.height * 0.5 + 20),
|
||||
onButtonPress: { self.image!.texture = SKTexture(imageNamed: "RulesEinheiten") }
|
||||
)
|
||||
)
|
||||
EntityManager.rulesEMInstance.add(
|
||||
Button(name: "Spielende",
|
||||
textureName: "yellow_button13",
|
||||
text: "Spielende",
|
||||
position: CGPoint(x: self.size.width * 0.1, y: self.size.height * 0.5 - 45),
|
||||
onButtonPress: { self.image!.texture = SKTexture(imageNamed: "RulesSpielende") }
|
||||
)
|
||||
)
|
||||
EntityManager.rulesEMInstance.add(
|
||||
Button(name: "Boost",
|
||||
textureName: "yellow_button13",
|
||||
text: "Boost",
|
||||
position: CGPoint(x: self.size.width * 0.1, y: self.size.height * 0.5 - 110),
|
||||
onButtonPress: { self.image!.texture = SKTexture(imageNamed: "RulesBoost") }
|
||||
)
|
||||
)
|
||||
EntityManager.rulesEMInstance.add(
|
||||
Button(name: "Erfolge",
|
||||
textureName: "yellow_button13",
|
||||
text: "Erfolge",
|
||||
position: CGPoint(x: self.size.width * 0.1, y: self.size.height * 0.5 - 175),
|
||||
onButtonPress: { self.image!.texture = SKTexture(imageNamed: "RulesErfolge") }
|
||||
)
|
||||
)
|
||||
EntityManager.rulesEMInstance.add(
|
||||
Button(name: "Credits",
|
||||
textureName: "yellow_button13",
|
||||
text: "Credits",
|
||||
position: CGPoint(x: self.size.width * 0.1, y: self.size.height * 0.1 - 20),
|
||||
onButtonPress: { self.image!.texture = SKTexture(imageNamed: "Credits") }
|
||||
)
|
||||
)
|
||||
EntityManager.rulesEMInstance.add(Background(size: self.size))
|
||||
}
|
||||
|
||||
override func update(_ currentTime: TimeInterval) {
|
||||
if EntityManager.rulesEMInstance.entities.count != 0 {
|
||||
EntityManager.rulesEMInstance.getBackground()!.update(deltaTime: currentTime)
|
||||
}
|
||||
}
|
||||
}
|
@ -53,6 +53,14 @@ class MenuScene: SKScene {
|
||||
GameCenterManager.sharedInstance.authUser()
|
||||
}
|
||||
}))
|
||||
entityManager.add(Button(name: "regelwerkButton",
|
||||
textureName: "questionmark",
|
||||
text: "",
|
||||
position: CGPoint(x: self.size.width - 50, y: self.size.height - 50),
|
||||
onButtonPress: {
|
||||
let scene = RulesScene(size: self.size)
|
||||
self.loadScene(scene: scene)
|
||||
}))
|
||||
entityManager.add(Background(size: self.size))
|
||||
entityManager.add(SpinningLogoEntity(sceneSize: self.size))
|
||||
|
||||
|