From b77ca2783131be61153ece8e1f6130191728e2e9 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Sun, 3 Aug 2025 09:37:57 +0200 Subject: [PATCH] feat: spawn enemies, shoot bullets and move the ship --- games/unity/magisterka_1/Assets/Bullet.cs | 9 ++ games/unity/magisterka_1/Assets/Enemy.cs | 8 ++ games/unity/magisterka_1/Assets/Enemy.prefab | 2 +- .../magisterka_1/Assets/EnemySpawner.prefab | 49 ++++++++ .../Assets/EnemySpawner.prefab.meta | 7 ++ .../Assets/Scenes/SampleScene.unity | 110 ++++++++++-------- .../ProjectSettings/TagManager.asset | 7 +- 7 files changed, 139 insertions(+), 53 deletions(-) create mode 100644 games/unity/magisterka_1/Assets/EnemySpawner.prefab create mode 100644 games/unity/magisterka_1/Assets/EnemySpawner.prefab.meta diff --git a/games/unity/magisterka_1/Assets/Bullet.cs b/games/unity/magisterka_1/Assets/Bullet.cs index 4911e73..f226dcc 100644 --- a/games/unity/magisterka_1/Assets/Bullet.cs +++ b/games/unity/magisterka_1/Assets/Bullet.cs @@ -9,4 +9,13 @@ public class Bullet : MonoBehaviour transform.Translate(Vector3.up * speed * Time.deltaTime); if (transform.position.y > 10) Destroy(gameObject); // Out of bounds } + + void OnTriggerEnter2D(Collider2D other) +{ + if (other.CompareTag("Enemy")) + { + Destroy(other.gameObject); + Destroy(gameObject); + } +} } diff --git a/games/unity/magisterka_1/Assets/Enemy.cs b/games/unity/magisterka_1/Assets/Enemy.cs index 37bd766..c1d53ef 100644 --- a/games/unity/magisterka_1/Assets/Enemy.cs +++ b/games/unity/magisterka_1/Assets/Enemy.cs @@ -9,4 +9,12 @@ public class Enemy : MonoBehaviour transform.Translate(Vector3.down * speed * Time.deltaTime); if (transform.position.y < -10) Destroy(gameObject); // Out of bounds } + + void OnTriggerEnter2D(Collider2D other) +{ + if (other.CompareTag("Player")) + { + Destroy(other.gameObject); + } +} } \ No newline at end of file diff --git a/games/unity/magisterka_1/Assets/Enemy.prefab b/games/unity/magisterka_1/Assets/Enemy.prefab index 1faccd5..542fd95 100644 --- a/games/unity/magisterka_1/Assets/Enemy.prefab +++ b/games/unity/magisterka_1/Assets/Enemy.prefab @@ -13,7 +13,7 @@ GameObject: - component: {fileID: 3170550521239760013} m_Layer: 0 m_Name: Enemy - m_TagString: Untagged + m_TagString: Enemy m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 diff --git a/games/unity/magisterka_1/Assets/EnemySpawner.prefab b/games/unity/magisterka_1/Assets/EnemySpawner.prefab new file mode 100644 index 0000000..26b4d72 --- /dev/null +++ b/games/unity/magisterka_1/Assets/EnemySpawner.prefab @@ -0,0 +1,49 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8207645575008704228 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2427810774091329811} + - component: {fileID: 8748518743210624718} + m_Layer: 0 + m_Name: EnemySpawner + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2427810774091329811 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8207645575008704228} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1.0668902, y: 0.18729335, z: 0.08451133} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8748518743210624718 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8207645575008704228} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 097c791408057d99684a228fe77afa8c, type: 3} + m_Name: + m_EditorClassIdentifier: + enemyPrefab: {fileID: 54115470021400029, guid: f4abd498abb0b5742b88a4b3742840fa, type: 3} + spawnInterval: 1 + xRange: 8 diff --git a/games/unity/magisterka_1/Assets/EnemySpawner.prefab.meta b/games/unity/magisterka_1/Assets/EnemySpawner.prefab.meta new file mode 100644 index 0000000..3bed901 --- /dev/null +++ b/games/unity/magisterka_1/Assets/EnemySpawner.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4ec4bd3de4f8ac67bb407943efcaf6d3 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/games/unity/magisterka_1/Assets/Scenes/SampleScene.unity b/games/unity/magisterka_1/Assets/Scenes/SampleScene.unity index 8ff2215..131adb3 100644 --- a/games/unity/magisterka_1/Assets/Scenes/SampleScene.unity +++ b/games/unity/magisterka_1/Assets/Scenes/SampleScene.unity @@ -133,7 +133,7 @@ GameObject: - component: {fileID: 144850754} m_Layer: 0 m_Name: Player - m_TagString: Untagged + m_TagString: Player m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -224,7 +224,7 @@ Rigidbody2D: m_Mass: 1 m_LinearDamping: 0 m_AngularDamping: 0.05 - m_GravityScale: 1 + m_GravityScale: 0 m_Material: {fileID: 0} m_IncludeLayers: serializedVersion: 2 @@ -472,53 +472,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1487650623 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1487650624} - - component: {fileID: 1487650625} - m_Layer: 0 - m_Name: EnemySpawner - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1487650624 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1487650623} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -1.0668902, y: 0.18729335, z: 0.08451133} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1487650625 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1487650623} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 097c791408057d99684a228fe77afa8c, type: 3} - m_Name: - m_EditorClassIdentifier: - enemyPrefab: {fileID: 54115470021400029, guid: f4abd498abb0b5742b88a4b3742840fa, type: 3} - spawnInterval: 1 - xRange: 8 --- !u!1 &1539097747 GameObject: m_ObjectHideFlags: 0 @@ -550,6 +503,63 @@ Transform: m_Children: [] m_Father: {fileID: 144850752} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &3486274023181712303 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 2427810774091329811, guid: 4ec4bd3de4f8ac67bb407943efcaf6d3, type: 3} + propertyPath: m_LocalPosition.x + value: -1.0668902 + objectReference: {fileID: 0} + - target: {fileID: 2427810774091329811, guid: 4ec4bd3de4f8ac67bb407943efcaf6d3, type: 3} + propertyPath: m_LocalPosition.y + value: 0.18729335 + objectReference: {fileID: 0} + - target: {fileID: 2427810774091329811, guid: 4ec4bd3de4f8ac67bb407943efcaf6d3, type: 3} + propertyPath: m_LocalPosition.z + value: 0.08451133 + objectReference: {fileID: 0} + - target: {fileID: 2427810774091329811, guid: 4ec4bd3de4f8ac67bb407943efcaf6d3, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2427810774091329811, guid: 4ec4bd3de4f8ac67bb407943efcaf6d3, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2427810774091329811, guid: 4ec4bd3de4f8ac67bb407943efcaf6d3, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2427810774091329811, guid: 4ec4bd3de4f8ac67bb407943efcaf6d3, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2427810774091329811, guid: 4ec4bd3de4f8ac67bb407943efcaf6d3, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2427810774091329811, guid: 4ec4bd3de4f8ac67bb407943efcaf6d3, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2427810774091329811, guid: 4ec4bd3de4f8ac67bb407943efcaf6d3, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8207645575008704228, guid: 4ec4bd3de4f8ac67bb407943efcaf6d3, type: 3} + propertyPath: m_Name + value: EnemySpawner + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 4ec4bd3de4f8ac67bb407943efcaf6d3, type: 3} --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 @@ -557,4 +567,4 @@ SceneRoots: - {fileID: 519420032} - {fileID: 619394802} - {fileID: 144850752} - - {fileID: 1487650624} + - {fileID: 3486274023181712303} diff --git a/games/unity/magisterka_1/ProjectSettings/TagManager.asset b/games/unity/magisterka_1/ProjectSettings/TagManager.asset index 1c92a78..2d9e381 100644 --- a/games/unity/magisterka_1/ProjectSettings/TagManager.asset +++ b/games/unity/magisterka_1/ProjectSettings/TagManager.asset @@ -2,8 +2,9 @@ %TAG !u! tag:unity3d.com,2011: --- !u!78 &1 TagManager: - serializedVersion: 2 - tags: [] + serializedVersion: 3 + tags: + - Enemy layers: - Default - TransparentFX @@ -41,3 +42,5 @@ TagManager: - name: Default uniqueID: 0 locked: 0 + m_RenderingLayers: + - Default