From da63aa9735d22bc8f291803fcf73b2a1a31feb88 Mon Sep 17 00:00:00 2001 From: Matthew Kalahiki Date: Mon, 26 Apr 2021 22:20:07 -0500 Subject: [PATCH] DogBoss script --- .../Assets/Scenes/MatthewTestScene.unity | 120 ++++++++++++++++++ MuseumGame/Assets/Scripts/DogBoss.cs | 52 ++++++++ MuseumGame/Assets/Scripts/DogBoss.cs.meta | 11 ++ MuseumGame/Assets/Scripts/Health.cs | 4 + 4 files changed, 187 insertions(+) create mode 100644 MuseumGame/Assets/Scripts/DogBoss.cs create mode 100644 MuseumGame/Assets/Scripts/DogBoss.cs.meta diff --git a/MuseumGame/Assets/Scenes/MatthewTestScene.unity b/MuseumGame/Assets/Scenes/MatthewTestScene.unity index f56f0ee..1ce4cdc 100644 --- a/MuseumGame/Assets/Scenes/MatthewTestScene.unity +++ b/MuseumGame/Assets/Scenes/MatthewTestScene.unity @@ -1646,6 +1646,126 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: e9268c7f81b604f459302eb8b45a432e, type: 3} +--- !u!1 &1699180114 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1699180117} + - component: {fileID: 1699180116} + - component: {fileID: 1699180115} + - component: {fileID: 1699180118} + m_Layer: 0 + m_Name: Circle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1699180115 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1699180114} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8fe661d69c47dd74db5744aae6815da7, type: 3} + m_Name: + m_EditorClassIdentifier: + dogSpeed: 5 + runTime: 2 + waitTime: 2 +--- !u!212 &1699180116 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1699180114} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + 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: 0 + m_Sprite: {fileID: -2413806693520163455, guid: 4adeaf2d2b1c7417e89f026626d8264f, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1699180117 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1699180114} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!50 &1699180118 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1699180114} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 0 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 4 --- !u!1001 &4742363868994068291 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/MuseumGame/Assets/Scripts/DogBoss.cs b/MuseumGame/Assets/Scripts/DogBoss.cs new file mode 100644 index 0000000..25ddfbd --- /dev/null +++ b/MuseumGame/Assets/Scripts/DogBoss.cs @@ -0,0 +1,52 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class DogBoss : MonoBehaviour +{ + private bool faceRight = false; + private Rigidbody2D rb2d; + + public float dogSpeed; + public float runTime; + public float waitTime; + + // Start is called before the first frame update + void Start() + { + rb2d = GetComponent(); + StartCoroutine(DogMove()); + } + + // Update is called once per frame + void Update() + { + + } + private void flip() + { + faceRight = !faceRight; + Vector3 scaler = transform.localScale; + scaler.x *= -1; + transform.localScale = scaler; + } + IEnumerator DogMove() + { + for (; ; ) { + if (faceRight) + { + rb2d.velocity = new Vector2(dogSpeed, 0); + } + else + { + rb2d.velocity = new Vector2(-dogSpeed, 0); + } + yield return new WaitForSeconds(runTime); + + rb2d.velocity = new Vector2(0, 0); + + yield return new WaitForSeconds(waitTime); + flip(); + } + } +} diff --git a/MuseumGame/Assets/Scripts/DogBoss.cs.meta b/MuseumGame/Assets/Scripts/DogBoss.cs.meta new file mode 100644 index 0000000..8dd9c94 --- /dev/null +++ b/MuseumGame/Assets/Scripts/DogBoss.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8fe661d69c47dd74db5744aae6815da7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/MuseumGame/Assets/Scripts/Health.cs b/MuseumGame/Assets/Scripts/Health.cs index 61aac94..57e02d7 100644 --- a/MuseumGame/Assets/Scripts/Health.cs +++ b/MuseumGame/Assets/Scripts/Health.cs @@ -30,6 +30,10 @@ public class Health : MonoBehaviour rb2d.velocity = new Vector2(rb2d.velocity.x, 0); rb2d.AddForce(new Vector2(0, 200)); } + if (collider2D.gameObject.CompareTag("Dog")) + { + DamagePlayer(50); + } } // Start is called before the first frame update