Laser beam

This commit is contained in:
2023-10-16 12:15:44 +02:00
parent 6bfb6f8642
commit eb51da13ed
16 changed files with 336 additions and 3 deletions
@@ -5,13 +5,14 @@ using UnityEngine;
RequireComponent(typeof(Animator)),
RequireComponent(typeof(BoxCollider2D))
]
public class Enemy : MonoBehaviour
public class Ennemy : MonoBehaviour
{
private SpriteRenderer _sr;
private Transform _player;
public float Speed = .1f;
public int Damages = 1;
public int Life = 100;
private void Start()
{
@@ -20,6 +21,15 @@ public class Enemy : MonoBehaviour
_player = GameObject.FindGameObjectWithTag("Player").transform;
}
private void Update()
{
if (Life <= 0)
{
Destroy(gameObject);
_player.GetComponent<PlayerManager>().MayorKills++;
}
}
private void FixedUpdate()
{
if (_player != null)
+4 -2
View File
@@ -15,7 +15,7 @@ GameObject:
- component: {fileID: 247299863115505385}
m_Layer: 0
m_Name: Mayor
m_TagString: Untagged
m_TagString: Ennemy
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
@@ -120,7 +120,9 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: f4b3c6920a262c94696eed7deeec570f, type: 3}
m_Name:
m_EditorClassIdentifier:
speed: 20
Speed: 0.1
Damages: 1
Life: 100
--- !u!61 &247299863115505385
BoxCollider2D:
m_ObjectHideFlags: 0
+18
View File
@@ -17,6 +17,7 @@ GameObject:
- component: {fileID: 3787322971358149925}
- component: {fileID: 7397454076540391921}
- component: {fileID: 8339747699126584523}
- component: {fileID: 2991086602376010793}
m_Layer: 0
m_Name: Player
m_TagString: Player
@@ -232,6 +233,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 32f5e7611866dce4ab320c814d279d84, type: 3}
m_Name:
m_EditorClassIdentifier:
lookOnRight: 1
--- !u!114 &7397454076540391921
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -261,7 +263,23 @@ MonoBehaviour:
Speed: 2
Exp: 0
Level: 1
MayorKills: 0
pauseMenu: {fileID: 1161238801143918071}
--- !u!114 &2991086602376010793
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1784956759114531697}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ce23672c2f6b5bd42adf4a7776a52005, type: 3}
m_Name:
m_EditorClassIdentifier:
laser: {fileID: 4893257253370123985, guid: 95cb513377bf0e248bd66d6f7ddae920, type: 3}
laserOnX: 0
laserOnY: 0
--- !u!1001 &1611953582756194365
PrefabInstance:
m_ObjectHideFlags: 0
+3
View File
@@ -10,6 +10,9 @@ public class PlayerManager : MonoBehaviour
public int Exp = 0;
public int Level = 1;
// Kills stats
public int MayorKills = 0;
[SerializeField]
private GameObject pauseMenu;
+4
View File
@@ -7,6 +7,8 @@ public class PlayerMovements : MonoBehaviour
private Animator _animator;
private PlayerManager _pm;
public bool lookOnRight = true;
private void Start()
{
_sr = GetComponent<SpriteRenderer>();
@@ -26,9 +28,11 @@ public class PlayerMovements : MonoBehaviour
if (moveH < 0)
{
_sr.flipX = true;
lookOnRight = false;
} else if (moveH > 0)
{
_sr.flipX = false;
lookOnRight = true;
}
/** --- update animator -------------------------------------------*/
+35
View File
@@ -0,0 +1,35 @@
using UnityEngine;
[RequireComponent (typeof(PlayerMovements))]
public class PlayerWeapons : MonoBehaviour
{
[SerializeField] private GameObject laser;
[Header("If all are false: only on 1 side")]
[SerializeField] private bool laserOnX;
[SerializeField] private bool laserOnY;
private PlayerMovements _pm;
private void Start()
{
_pm = GetComponent<PlayerMovements>();
InvokeRepeating(nameof(ShootBeam), 5f, 5f);
}
private void ShootBeam()
{
Instantiate(laser, transform.position, _pm.lookOnRight ? Quaternion.identity : Quaternion.Euler(0, 0, 180), transform);
if (laserOnX)
{
Instantiate(laser, transform.position, _pm.lookOnRight ? Quaternion.Euler(0, 0, 180) : Quaternion.identity, transform);
}
if (laserOnY)
{
Instantiate(laser, transform.position, Quaternion.Euler(0, 0, 90), transform);
Instantiate(laser, transform.position, Quaternion.Euler(0, 0, 270), transform);
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ce23672c2f6b5bd42adf4a7776a52005
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -364,6 +364,14 @@ PrefabInstance:
propertyPath: m_Name
value: Player
objectReference: {fileID: 0}
- target: {fileID: 2991086602376010793, guid: 05d927a24df204541afbb77f1af3a9a2, type: 3}
propertyPath: laserOnX
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2991086602376010793, guid: 05d927a24df204541afbb77f1af3a9a2, type: 3}
propertyPath: laserOnY
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3622515600777588477, guid: 05d927a24df204541afbb77f1af3a9a2, type: 3}
propertyPath: m_LocalPosition.x
value: 0
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5d2bc612c6ecbfb49baeae7a00e7808f
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 581d57eb256967542af2b7eed9c89401
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+29
View File
@@ -0,0 +1,29 @@
using System.Collections;
using UnityEngine;
[RequireComponent (typeof(BoxCollider2D))]
public class LaserBeam : MonoBehaviour
{
public int Damages = 50;
public float lifeSeconds = 1f;
public void Start()
{
StartCoroutine(nameof(EndLifeAfterXSeconds));
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.CompareTag("Ennemy"))
{
collision.gameObject.GetComponent<Ennemy>().Life -= Damages;
}
}
private IEnumerator EndLifeAfterXSeconds()
{
yield return new WaitForSeconds(lifeSeconds);
Destroy(gameObject);
}
}
+11
View File
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 85af5326636cca14082a8bc4f4dfedcc
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+178
View File
@@ -0,0 +1,178 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4525128753919750195
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3048739808217203004}
- component: {fileID: 5328816822109051468}
m_Layer: 0
m_Name: Beam
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3048739808217203004
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4525128753919750195}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 25, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4430932250055150325}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &5328816822109051468
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4525128753919750195}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: -1
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 2
m_Size: {x: 50, y: 0.16}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &4893257253370123985
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4430932250055150325}
- component: {fileID: 3148908794889564978}
- component: {fileID: 1475843655422961594}
m_Layer: 0
m_Name: Laser Beam
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4430932250055150325
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4893257253370123985}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3048739808217203004}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!61 &3148908794889564978
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4893257253370123985}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_ForceSendLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ForceReceiveLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ContactCaptureLayers:
serializedVersion: 2
m_Bits: 4294967295
m_CallbackLayers:
serializedVersion: 2
m_Bits: 4294967295
m_IsTrigger: 1
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 25, y: 0}
m_SpriteTilingProperty:
border: {x: 0.049999997, y: 0.049999997, z: 0.049999997, w: 0.049999997}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 0.16, y: 0.16}
newSize: {x: 50, y: 0.16}
adaptiveTilingThreshold: 1
drawMode: 2
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 50, y: 0.16}
m_EdgeRadius: 0
--- !u!114 &1475843655422961594
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4893257253370123985}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 85af5326636cca14082a8bc4f4dfedcc, type: 3}
m_Name:
m_EditorClassIdentifier:
Damages: 50
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 95cb513377bf0e248bd66d6f7ddae920
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: