add: you can't deploy to destroyed levels

add: levels now have bulletsGenerate
update: levels have different factories
This commit is contained in:
KOSMOGOR
2025-04-30 20:53:58 +03:00
parent 68cf00fd21
commit 85dc2955cf
6 changed files with 80 additions and 23 deletions
+6 -3
View File
@@ -49,15 +49,18 @@ MonoBehaviour:
- sceneName: Level1 - sceneName: Level1
hp: 0 hp: 0
maxHp: 100 maxHp: 100
factory: 0 factory: 1
bulletsGenerate: 15
- sceneName: Level2 - sceneName: Level2
hp: 0 hp: 0
maxHp: 100 maxHp: 100
factory: 1 factory: 3
bulletsGenerate: 50
- sceneName: Level3 - sceneName: Level3
hp: 0 hp: 0
maxHp: 100 maxHp: 100
factory: 3 factory: 2
bulletsGenerate: 5
enemies: enemies:
- prefab: {fileID: 3602081654026665026, guid: 7ab59219438e4a241affd5e9441d9d9f, type: 3} - prefab: {fileID: 3602081654026665026, guid: 7ab59219438e4a241affd5e9441d9d9f, type: 3}
weight: 1 weight: 1
+15 -15
View File
@@ -103,9 +103,9 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0} m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 0} m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: -100, y: 50} m_AnchoredPosition: {x: -59, y: 25}
m_SizeDelta: {x: 100, y: 50} m_SizeDelta: {x: 200, y: 100}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 1, y: 0}
--- !u!222 &4720682156438956312 --- !u!222 &4720682156438956312
CanvasRenderer: CanvasRenderer:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -161,8 +161,8 @@ MonoBehaviour:
m_faceColor: m_faceColor:
serializedVersion: 2 serializedVersion: 2
rgba: 4294967295 rgba: 4294967295
m_fontSize: 36 m_fontSize: 80
m_fontSizeBase: 36 m_fontSizeBase: 80
m_fontWeight: 400 m_fontWeight: 400
m_enableAutoSizing: 0 m_enableAutoSizing: 0
m_fontSizeMin: 18 m_fontSizeMin: 18
@@ -379,9 +379,9 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 150, y: 50} m_AnchoredPosition: {x: 50, y: 25}
m_SizeDelta: {x: 200, y: 50} m_SizeDelta: {x: 400, y: 100}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0, y: 0}
--- !u!222 &2554197534496854829 --- !u!222 &2554197534496854829
CanvasRenderer: CanvasRenderer:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -437,8 +437,8 @@ MonoBehaviour:
m_faceColor: m_faceColor:
serializedVersion: 2 serializedVersion: 2
rgba: 4294967295 rgba: 4294967295
m_fontSize: 36 m_fontSize: 80
m_fontSizeBase: 36 m_fontSizeBase: 80
m_fontWeight: 400 m_fontWeight: 400
m_enableAutoSizing: 0 m_enableAutoSizing: 0
m_fontSizeMin: 18 m_fontSizeMin: 18
@@ -634,10 +634,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_UiScaleMode: 0 m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100 m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1 m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600} m_ReferenceResolution: {x: 1920, y: 1080}
m_ScreenMatchMode: 0 m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0 m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3 m_PhysicalUnit: 3
@@ -712,7 +712,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 1} m_AnchorMin: {x: 0.5, y: 1}
m_AnchorMax: {x: 0.5, y: 1} m_AnchorMax: {x: 0.5, y: 1}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 150, y: 50} m_SizeDelta: {x: 300, y: 100}
m_Pivot: {x: 0.5, y: 1} m_Pivot: {x: 0.5, y: 1}
--- !u!222 &1610488001899351068 --- !u!222 &1610488001899351068
CanvasRenderer: CanvasRenderer:
@@ -769,8 +769,8 @@ MonoBehaviour:
m_faceColor: m_faceColor:
serializedVersion: 2 serializedVersion: 2
rgba: 4294967295 rgba: 4294967295
m_fontSize: 36 m_fontSize: 80
m_fontSizeBase: 36 m_fontSizeBase: 80
m_fontWeight: 400 m_fontWeight: 400
m_enableAutoSizing: 0 m_enableAutoSizing: 0
m_fontSizeMin: 18 m_fontSizeMin: 18
+52 -4
View File
@@ -478,6 +478,18 @@ PrefabInstance:
propertyPath: m_SizeDelta.y propertyPath: m_SizeDelta.y
value: 30 value: 30
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_LocalScale.x
value: 2
objectReference: {fileID: 0}
- target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_LocalScale.y
value: 2
objectReference: {fileID: 0}
- target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_LocalScale.z
value: 2
objectReference: {fileID: 0}
- target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3} - target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_LocalPosition.x propertyPath: m_LocalPosition.x
value: 0 value: 0
@@ -512,7 +524,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3} - target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_AnchoredPosition.y propertyPath: m_AnchoredPosition.y
value: -250 value: -350
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3} - target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_LocalEulerAnglesHint.x propertyPath: m_LocalEulerAnglesHint.x
@@ -526,6 +538,10 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6514206649315783734, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3} - target: {fileID: 6514206649315783734, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_text propertyPath: m_text
value: Level 2 value: Level 2
@@ -636,6 +652,18 @@ PrefabInstance:
propertyPath: m_SizeDelta.y propertyPath: m_SizeDelta.y
value: 30 value: 30
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_LocalScale.x
value: 2
objectReference: {fileID: 0}
- target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_LocalScale.y
value: 2
objectReference: {fileID: 0}
- target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_LocalScale.z
value: 2
objectReference: {fileID: 0}
- target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3} - target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_LocalPosition.x propertyPath: m_LocalPosition.x
value: 0 value: 0
@@ -670,7 +698,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3} - target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_AnchoredPosition.y propertyPath: m_AnchoredPosition.y
value: -350 value: -550
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3} - target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_LocalEulerAnglesHint.x propertyPath: m_LocalEulerAnglesHint.x
@@ -684,6 +712,10 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6514206649315783734, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3} - target: {fileID: 6514206649315783734, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_text propertyPath: m_text
value: Level 3 value: Level 3
@@ -838,10 +870,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_UiScaleMode: 0 m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100 m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1 m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600} m_ReferenceResolution: {x: 1920, y: 1080}
m_ScreenMatchMode: 0 m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0 m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3 m_PhysicalUnit: 3
@@ -938,6 +970,18 @@ PrefabInstance:
propertyPath: m_SizeDelta.y propertyPath: m_SizeDelta.y
value: 30 value: 30
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_LocalScale.x
value: 2
objectReference: {fileID: 0}
- target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_LocalScale.y
value: 2
objectReference: {fileID: 0}
- target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_LocalScale.z
value: 2
objectReference: {fileID: 0}
- target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3} - target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_LocalPosition.x propertyPath: m_LocalPosition.x
value: 0 value: 0
@@ -986,6 +1030,10 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4288323700468240044, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6514206649315783734, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3} - target: {fileID: 6514206649315783734, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: m_text propertyPath: m_text
value: Level 1 value: Level 1
+4
View File
@@ -1,6 +1,7 @@
using System.Linq; using System.Linq;
using TMPro; using TMPro;
using UnityEngine; using UnityEngine;
using UnityEngine.UI;
public class DeployButton : MonoBehaviour public class DeployButton : MonoBehaviour
{ {
@@ -8,9 +9,12 @@ public class DeployButton : MonoBehaviour
public string levelName; public string levelName;
DeployController dc; DeployController dc;
Button button;
void Start() { void Start() {
dc = FindFirstObjectByType<DeployController>(); dc = FindFirstObjectByType<DeployController>();
button = GetComponent<Button>();
if (GameController.i.IsLevelDestroyed(levelName)) button.interactable = false;
} }
public void DeployFromButton() { public void DeployFromButton() {
+1
View File
@@ -11,6 +11,7 @@ public class DeployController : MonoBehaviour
public void Deploy(string sceneName) { public void Deploy(string sceneName) {
LevelInfo level = GameController.i.GetLevel(sceneName); LevelInfo level = GameController.i.GetLevel(sceneName);
if (GameController.i.IsLevelDestroyed(sceneName)) return;
SceneManager.LoadScene(level.sceneName); SceneManager.LoadScene(level.sceneName);
} }
+2 -1
View File
@@ -77,7 +77,7 @@ public class GameController : MonoBehaviour
void AddBullets() { void AddBullets() {
levels.ForEach(li => { levels.ForEach(li => {
if (!IsLevelDestroyed(li.sceneName) && li.factory != BulletType.None) inventory[li.factory] += 10; if (!IsLevelDestroyed(li.sceneName) && li.factory != BulletType.None) inventory[li.factory] += li.bulletsGenerate;
}); });
} }
@@ -148,6 +148,7 @@ public struct LevelInfo {
public int hp; public int hp;
public int maxHp; public int maxHp;
public BulletType factory; public BulletType factory;
public int bulletsGenerate;
public Dictionary<GameObject, int> enemies; public Dictionary<GameObject, int> enemies;
} }