This commit is contained in:
2025-01-17 13:10:42 +01:00
commit 4536213c91
15115 changed files with 1442174 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0c64d264596194ba0bff9b27c7928d57
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,167 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1220112045462766
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4705424115751604}
- component: {fileID: 33764645063084806}
- component: {fileID: 23598453568307950}
m_Layer: 0
m_Name: Visual
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4705424115751604
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1220112045462766}
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_Children: []
m_Father: {fileID: 4183478139923782}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &33764645063084806
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1220112045462766}
m_Mesh: {fileID: 4300002, guid: baedbbad82997f445a8cb4da210404e0, type: 3}
--- !u!23 &23598453568307950
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1220112045462766}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 583ff7026dac91849b7c7b2468ba456b, type: 2}
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: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &1653686695687168
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4183478139923782}
- component: {fileID: 58911922280945336}
- component: {fileID: 50909243341912102}
- component: {fileID: 114601615147883220}
m_Layer: 0
m_Name: Asteroid
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4183478139923782
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1653686695687168}
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_Children:
- {fileID: 4705424115751604}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!58 &58911922280945336
CircleCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1653686695687168}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 1
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
serializedVersion: 2
m_Radius: 0.5
--- !u!50 &50909243341912102
Rigidbody2D:
serializedVersion: 4
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1653686695687168}
m_BodyType: 1
m_Simulated: 1
m_UseFullKinematicContacts: 0
m_UseAutoMass: 0
m_Mass: 1
m_LinearDrag: 0
m_AngularDrag: 0.05
m_GravityScale: 1
m_Material: {fileID: 0}
m_Interpolate: 1
m_SleepingMode: 1
m_CollisionDetection: 1
m_Constraints: 0
--- !u!114 &114601615147883220
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1653686695687168}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2ffc52749732c4937a322d64623addf3, type: 3}
m_Name:
m_EditorClassIdentifier:
asteroidExplosion: {fileID: 100004, guid: a6d58f54ce5934781962a4f887e834f3, type: 3}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6ef8c70ee398040cd96c9c6b046d7ee0
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,76 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1859710063229298
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4366364659058516}
- component: {fileID: 20377649588474206}
m_Layer: 0
m_Name: Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4366364659058516
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1859710063229298}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!20 &20377649588474206
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1859710063229298}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 1
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1a06aa0896835ab4d92672582ee1742e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 9cfd2cdd25852594b8c9f1c5528e8e87
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,6 @@
fileFormatVersion: 2
guid: a6d58f54ce5934781962a4f887e834f3
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 23fbf2b41e7a11b468af47b5b9fe6edc
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,63 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_ParentPrefab: {fileID: 0}
m_RootGameObject: {fileID: 1560558224493566}
m_IsPrefabParent: 1
--- !u!1 &1560558224493566
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4315250768066480}
- component: {fileID: 114341638294691572}
m_Layer: 0
m_Name: GameManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4315250768066480
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1560558224493566}
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_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &114341638294691572
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1560558224493566}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a714a81b1536b4426b80643ee6a61629, type: 3}
m_Name:
m_EditorClassIdentifier:
spaceshipPrefab: {fileID: 1546399597766936, guid: 6168cd56cd6c54ceea9dce5cbd70458a,
type: 2}
asteroidPrefab: {fileID: 1653686695687168, guid: 6ef8c70ee398040cd96c9c6b046d7ee0,
type: 2}
asteroidCount: 0
asteroidSpawnDelay: 1
asteroidSpawnTimer: 0
deaths: 0
mobileInputCanvas: {fileID: 1935473650922600, guid: 073a42ed5c0e32f4caca730878a5f2b9,
type: 2}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1d08b6c4fc93b4816be92979bac02b20
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,173 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_ParentPrefab: {fileID: 0}
m_RootGameObject: {fileID: 1138199845139298}
m_IsPrefabParent: 1
--- !u!1 &1035386964261088
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4796391903237718}
- component: {fileID: 108192813739255852}
m_Layer: 0
m_Name: ColdLight
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &1138199845139298
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4696753086440088}
m_Layer: 0
m_Name: Lighting
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &1851966716751366
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4803032359773098}
- component: {fileID: 108756170717035470}
m_Layer: 0
m_Name: WarmLight
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4696753086440088
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1138199845139298}
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_Children:
- {fileID: 4803032359773098}
- {fileID: 4796391903237718}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &4796391903237718
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1035386964261088}
m_LocalRotation: {x: -0.2376234, y: 0.73535436, z: 0.5491153, w: 0.31821623}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4696753086440088}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 286.5, y: -226.8, z: 0}
--- !u!4 &4803032359773098
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1851966716751366}
m_LocalRotation: {x: 0.40592465, y: -0.23485525, z: 0.10876717, w: 0.87649184}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4696753086440088}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 49.7, y: -30, z: 0}
--- !u!108 &108192813739255852
Light:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1035386964261088}
m_Enabled: 1
serializedVersion: 8
m_Type: 1
m_Color: {r: 0, g: 0.71034503, b: 1, a: 1}
m_Intensity: 0.3
m_Range: 10
m_SpotAngle: 30
m_CookieSize: 10
m_Shadows:
m_Type: 0
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_Lightmapping: 4
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!108 &108756170717035470
Light:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1851966716751366}
m_Enabled: 1
serializedVersion: 8
m_Type: 1
m_Color: {r: 1, g: 0.3103448, b: 0, a: 1}
m_Intensity: 0.77
m_Range: 10
m_SpotAngle: 30
m_CookieSize: 10
m_Shadows:
m_Type: 0
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_Lightmapping: 4
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_ShadowRadius: 0
m_ShadowAngle: 0

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 94a58f57296315a43acf9cb0455c51cb
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6168cd56cd6c54ceea9dce5cbd70458a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1680df514e7e41543ad9ef4a61e49e42
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 58dc4a156c6b5984987f3394fd558d37
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b1182636d049cdd41be478e824a3be06
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,179 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1260654842730644
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4762832958201390}
- component: {fileID: 61714626582628662}
- component: {fileID: 50249730776775846}
- component: {fileID: 114708358174716088}
m_Layer: 0
m_Name: Laser
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4762832958201390
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1260654842730644}
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_Children:
- {fileID: 4618405364176704}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!61 &61714626582628662
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1260654842730644}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 0
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0.25}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 0.083333336, y: 0.083333336}
newSize: {x: 0.2, y: 0.2}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 0.2, y: 0.5}
m_EdgeRadius: 0
--- !u!50 &50249730776775846
Rigidbody2D:
serializedVersion: 4
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1260654842730644}
m_BodyType: 1
m_Simulated: 1
m_UseFullKinematicContacts: 0
m_UseAutoMass: 0
m_Mass: 1
m_LinearDrag: 0
m_AngularDrag: 0.05
m_GravityScale: 1
m_Material: {fileID: 0}
m_Interpolate: 1
m_SleepingMode: 1
m_CollisionDetection: 1
m_Constraints: 0
--- !u!114 &114708358174716088
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1260654842730644}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5db3784d30964d24aa8bad3aabc8a2d0, type: 3}
m_Name:
m_EditorClassIdentifier:
destroyOnCollision: 0
isActive: 1
duration: 0.75
--- !u!1 &1480441331374636
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4618405364176704}
- component: {fileID: 33346622378511068}
- component: {fileID: 23809108965932534}
m_Layer: 0
m_Name: Visual
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4618405364176704
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1480441331374636}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0.25, z: 0}
m_LocalScale: {x: 1, y: 0.86, z: 0.5}
m_Children: []
m_Father: {fileID: 4762832958201390}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &33346622378511068
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1480441331374636}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &23809108965932534
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1480441331374636}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 3220a19be9d4c6e4891e401eb38caa9e, type: 2}
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: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 77573510eaf859c4695181255e2d6c2d
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,177 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1258988639053648
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4276166475450550}
- component: {fileID: 33874305319380902}
- component: {fileID: 23378388564085086}
m_Layer: 0
m_Name: Visual
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4276166475450550
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1258988639053648}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
m_Children: []
m_Father: {fileID: 4925278178489408}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &33874305319380902
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1258988639053648}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &23378388564085086
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1258988639053648}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 3220a19be9d4c6e4891e401eb38caa9e, type: 2}
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: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &1382199488278630
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4925278178489408}
- component: {fileID: 61250418499648812}
- component: {fileID: 50666150104879410}
- component: {fileID: 114078910698489114}
m_Layer: 0
m_Name: Projectile
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4925278178489408
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1382199488278630}
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_Children:
- {fileID: 4276166475450550}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!61 &61250418499648812
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1382199488278630}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 0
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 0.083333336, y: 0.083333336}
newSize: {x: 0.2, y: 0.2}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 0.2, y: 0.2}
m_EdgeRadius: 0
--- !u!50 &50666150104879410
Rigidbody2D:
serializedVersion: 4
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1382199488278630}
m_BodyType: 1
m_Simulated: 1
m_UseFullKinematicContacts: 0
m_UseAutoMass: 0
m_Mass: 1
m_LinearDrag: 0
m_AngularDrag: 0.05
m_GravityScale: 1
m_Material: {fileID: 0}
m_Interpolate: 1
m_SleepingMode: 1
m_CollisionDetection: 1
m_Constraints: 0
--- !u!114 &114078910698489114
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1382199488278630}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ab65719fb77f94941b627fdedb501f31, type: 3}
m_Name:
m_EditorClassIdentifier:
destroyOnCollision: 1

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: de5f42023184642b0b244a8e0ad56f03
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,19 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 15d37c83db3355947a8633e4162238f7, type: 3}
m_Name: WeaponData
m_EditorClassIdentifier:
weapons:
- weaponName: Basic
weaponPrefab: {fileID: 1382199488278630, guid: de5f42023184642b0b244a8e0ad56f03, type: 3}
- weaponName: Laser
weaponPrefab: {fileID: 1260654842730644, guid: 77573510eaf859c4695181255e2d6c2d, type: 3}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: cd21e76343fd12145b604e732bdf3810
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c9c418a8e883b1246a9d4a98cfeab4b7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,55 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1019787296165444
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4893403959414016}
- component: {fileID: 114472804864517158}
m_Layer: 0
m_Name: TestsReferences
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4893403959414016
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1019787296165444}
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_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &114472804864517158
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1019787296165444}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 442ac454dde377b499a5106b58789677, type: 3}
m_Name:
m_EditorClassIdentifier:
asteroidsScene: {fileID: 102900000, guid: 99c9720ab356a0642a771bea13969a05, type: 3}
spaceshipPrefab: {fileID: 1546399597766936, guid: 6168cd56cd6c54ceea9dce5cbd70458a, type: 3}
cameraPrefab: {fileID: 1859710063229298, guid: 1a06aa0896835ab4d92672582ee1742e, type: 3}
asteroidPrefab: {fileID: 1653686695687168, guid: 6ef8c70ee398040cd96c9c6b046d7ee0, type: 3}
gameManagerPrefab: {fileID: 1560558224493566, guid: 1d08b6c4fc93b4816be92979bac02b20, type: 3}
projectilePrefab: {fileID: 1382199488278630, guid: de5f42023184642b0b244a8e0ad56f03, type: 3}
laserPrefab: {fileID: 1260654842730644, guid: 77573510eaf859c4695181255e2d6c2d, type: 3}
inGameMenuPrefab: {fileID: 1458198147551692, guid: 58dc4a156c6b5984987f3394fd558d37, type: 3}
spaceshipDebrisPrefab: {fileID: 1715439837662698, guid: 23fbf2b41e7a11b468af47b5b9fe6edc, type: 3}
explosionPrefab: {fileID: 100004, guid: a6d58f54ce5934781962a4f887e834f3, type: 3}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0b1bf207adfbf5643bd9daafdc4792f7
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4f704ae4b4f98ae41a0bce26658850c1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 99c9720ab356a0642a771bea13969a05
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 85f76a965e80c47e59bc69dad4b1fc16
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 304890e1473c6f043bddd6aedf753ed1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,11 @@
using UnityEngine;
public class AnimatorDisabler : StateMachineBehaviour
{
// OnStateExit is called when a transition ends and the state machine finishes evaluating this state
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
if (stateInfo.normalizedTime >= 1.0f)
animator.enabled = false;
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f7d5bbcfccd21a24a95cf046c5166dc3
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,13 @@
{
"name": "Unity.TestTools.CodeCoverage.Sample.Asteroids",
"references": [],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d3ece71e594f242f595df589ae3414f7
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ad033f3644482f24383a32bddafe2e9d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,62 @@
using UnityEngine;
public class AsteroidController : MonoBehaviour
{
public GameObject asteroidExplosion;
private int splitCount = 0;
private Vector2 direction = Vector2.right;
private void Start()
{
transform.rotation = Random.rotation;
}
private void Update()
{
if(!GameManager.IsPaused)
Move();
}
public void Move()
{
transform.position += (Vector3) direction * Time.deltaTime / transform.localScale.x / 2.0f;
if (Vector2.Distance(transform.position, Vector2.zero) > 20.0f)
DestroyImmediate(gameObject);
}
public void Split()
{
if(splitCount < 2)
for (int i = 0; i < 2; i++)
{
AsteroidController asteroid = Instantiate(gameObject, transform.position, Quaternion.identity).GetComponent<AsteroidController>();
asteroid.SetSplitCount(splitCount + 1);
asteroid.SetDirection(new Vector2(Random.Range(-20.0f, 20.0f), Random.Range(-20.0f, 20.0f)));
}
GameManager.AddToScore(splitCount);
Instantiate(asteroidExplosion, transform.position, transform.GetChild(0).rotation).transform.localScale = transform.localScale;
Destroy(gameObject);
}
public void SetSplitCount(int value)
{
splitCount = value;
transform.localScale = new Vector3(1.0f, 1.0f, 1.0f)/ (Mathf.Pow(2, splitCount));
}
public int GetSplitCount()
{
return splitCount;
}
public void SetDirection(Vector2 value)
{
direction = (value - (Vector2)transform.position).normalized;
}
public Vector2 GetDirection()
{
return direction;
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2ffc52749732c4937a322d64623addf3
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,31 @@
using UnityEngine;
public class DebrisController : MonoBehaviour
{
public GameObject explosionParticles;
public float impulse = 1.0f;
public float debrisDuration = 0.5f;
private Rigidbody2D[] fragments;
void Start()
{
if (GameManager.effectsEnabled)
{
if (explosionParticles != null)
{
GameObject particles = Instantiate(explosionParticles, transform.position, Quaternion.identity);
particles.transform.localScale = transform.localScale == Vector3.one ? transform.localScale : Vector3.one / 3.0f + transform.localScale / 2.0f;
Destroy(particles, particles.GetComponent<ParticleSystem>().main.duration);
}
fragments = GetComponentsInChildren<Rigidbody2D>();
foreach (Rigidbody2D fragment in fragments)
{
fragment.AddForce((fragment.position - (Vector2)transform.position) * transform.localScale.x * impulse, ForceMode2D.Impulse);
}
Destroy(gameObject, debrisDuration);
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6d0340cb4fdc1a84dbc5c92daf754b55
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,143 @@
using UnityEngine;
public class SpaceshipController : MonoBehaviour
{
public GameObject spaceshipDebris;
public WeaponList weaponList;
public Vector2 direction = Vector2.zero;
bool isColliding = false;
public enum Weapon
{
Basic,
Laser
}
public Weapon currentWeapon = Weapon.Basic;
private GameObject weaponInstance;
private void Update()
{
if (!GameManager.IsPaused)
Move();
}
public void Move()
{
float horizontalAxis = Input.GetAxis("Horizontal");
float verticalAxis = Input.GetAxis("Vertical");
if (verticalAxis > 0.0f)
Thrust(verticalAxis);
if (Mathf.Abs(horizontalAxis) > 0.0f)
Turn(horizontalAxis);
if (Input.GetKeyDown(KeyCode.Space))
Shoot();
transform.position += (Vector3)direction * Time.deltaTime * 4.0f;
CalculatePositionOnCamera();
}
public void Thrust(float power)
{
direction = Vector2.Lerp(direction, transform.up * power, Time.deltaTime * 4.0f);
}
public void Turn(float delta)
{
transform.eulerAngles = new Vector3(0.0f, 0.0f, transform.eulerAngles.z - delta * 150.0f * Time.deltaTime);
transform.GetChild(0).localEulerAngles = new Vector3(0.0f, -delta * 30.0f, 0.0f);
}
public void Shoot(bool onMobile = false)
{
// If Weapon is Basic, the Prefabs/Weapons/Projectile prefab is instantiated
// If Weapon is Laser, the Prefabs/Weapons/Laser prefab is instantiated
switch (currentWeapon)
{
case Weapon.Basic:
ProjectileController projectile = Instantiate(weaponList.weapons[(int)currentWeapon].weaponPrefab, transform.position, Quaternion.identity).GetComponent<ProjectileController>();
projectile.SetDirection(transform.up);
break;
case Weapon.Laser:
if (weaponInstance != null)
break;
weaponInstance = Instantiate(weaponList.weapons[(int)currentWeapon].weaponPrefab, transform.position, Quaternion.identity);
weaponInstance.transform.up = transform.up;
weaponInstance.transform.parent = transform;
break;
default:
Debug.LogError("Invalid weapon state.");
break;
}
}
private void OnTriggerEnter2D(Collider2D collision)
{
// Preventing multiple collision triggers on the same frame
if (isColliding)
return;
AsteroidController asteroidController = collision.gameObject.GetComponent<AsteroidController>();
if (asteroidController)
{
asteroidController.Split();
if(GameManager.instance != null)
GameManager.instance.RespawnShip();
Instantiate(spaceshipDebris, transform.position, transform.GetChild(0).rotation);
Destroy(gameObject);
isColliding = true;
}
}
private void CalculatePositionOnCamera()
{
if (Camera.main != null)
{
bool warped = false;
Vector2 positionOnCamera = Camera.main.WorldToViewportPoint(transform.position);
if (positionOnCamera.x > 1.05f)
{
warped = true;
transform.position = (Vector2)Camera.main.ViewportToWorldPoint(new Vector2(-0.05f, positionOnCamera.y));
}
else if (positionOnCamera.x < -0.05f)
{
warped = true;
transform.position = (Vector2)Camera.main.ViewportToWorldPoint(new Vector2(1.05f, positionOnCamera.y));
}
else if (positionOnCamera.y > 1.05f)
{
warped = true;
transform.position = (Vector2)Camera.main.ViewportToWorldPoint(new Vector2(positionOnCamera.x, -0.05f));
}
else if (positionOnCamera.y < -0.05f)
{
warped = true;
transform.position = (Vector2)Camera.main.ViewportToWorldPoint(new Vector2(positionOnCamera.x, 1.05f));
}
if (warped)
{
transform.GetChild(0).GetChild(0).GetComponent<EngineTrail>().ClearParticles();
}
}
}
public void UpdateWeapon(int score)
{
Weapon weapon = Weapon.Basic;
if (score >= 8000)
weapon = Weapon.Laser;
if (weapon == currentWeapon)
return;
currentWeapon = weapon;
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5aeff83e8c0bc4fb2b3d12ab3b2d49a8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 400
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 867fb24d4d60d5141b99b22a52954c62
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,32 @@
using System.Collections;
using UnityEngine;
public class EngineTrail : MonoBehaviour
{
ParticleSystem ps;
ParticleSystem.EmissionModule em;
void Start()
{
if (!GameManager.effectsEnabled)
gameObject.SetActive(false);
ps = GetComponent<ParticleSystem>();
em = ps.emission;
em.enabled = true;
}
public void ClearParticles()
{
StartCoroutine(Clear());
}
IEnumerator Clear()
{
em.enabled = false;
ps.Clear();
yield return null;
em.enabled = true;
ps.Clear();
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f2c27cb7e7d02014eab1dc6e617dbc18
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 102f521d3fefd5a46b63e4713e96cdfa
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,161 @@
using System.Collections;
using UnityEngine;
using UnityEngine.SceneManagement;
public class GameManager : MonoBehaviour
{
// Values and methods for testing
public static bool effectsEnabled = true;
public static bool startEnabled = true;
public static bool updateEnabled = true;
public static bool asteroidsEnabled = true;
public static void InitializeTestingEnvironment(bool start, bool update, bool effects, bool asteroids, bool paused)
{
effectsEnabled = effects;
startEnabled = start;
updateEnabled = update;
asteroidsEnabled = asteroids;
IsPaused = paused;
}
public static GameManager instance;
public static SpaceshipController spaceship;
public static int score;
public static int scoreSinceLastDeath;
private static bool isPaused;
public GameObject spaceshipPrefab;
public GameObject asteroidPrefab;
[HideInInspector]
public float asteroidSpawnDelay = 1.0f;
[HideInInspector]
public float asteroidSpawnTimer = 0.0f;
[HideInInspector]
public int deaths = 0;
public const float SPACESHIP_RESPAWN_DELAY = 1.0f;
public const float RELOAD_SCENE_DELAY = 3.0f;
public static bool IsPaused
{
get { return isPaused; }
set { Time.timeScale = value ? 0.0f : 1.0f; isPaused = value; }
}
public static bool SpaceshipIsActive() { return spaceship != null; }
void OnEnable()
{
if (instance == null)
instance = this;
else if (instance != this)
Destroy(gameObject);
Time.timeScale = 1.0f;
IsPaused = false;
score = 0;
scoreSinceLastDeath = 0;
}
void Start()
{
if (startEnabled)
{
spaceship = Instantiate(spaceshipPrefab, Vector3.zero, Quaternion.identity).GetComponent<SpaceshipController>();
}
}
void Update()
{
if (updateEnabled && !IsPaused)
{
UpdateTimers();
if (asteroidSpawnTimer <= 0.0f && asteroidsEnabled)
SpawnAsteroids();
}
}
private void UpdateTimers()
{
if (asteroidSpawnTimer > 0.0f)
asteroidSpawnTimer -= Time.deltaTime;
}
public void RespawnShip(float delay = SPACESHIP_RESPAWN_DELAY)
{
StartCoroutine(RespawnShipCoroutine(delay));
}
public IEnumerator RespawnShipCoroutine(float delay)
{
deaths++;
if (LifeCounter.instance)
LifeCounter.instance.SetLives(3 - deaths);
yield return new WaitForSeconds(delay);
if (deaths < 3)
{
spaceship = Instantiate(spaceshipPrefab, Vector2.zero, Quaternion.identity).GetComponent<SpaceshipController>();
}
else
{
StartCoroutine(ReloadScene());
}
}
public void SpawnAsteroids()
{
AsteroidController asteroid;
if (Camera.main != null)
{
Vector2 spawnPosition = Random.value > 0.5f ? Camera.main.ViewportToWorldPoint(new Vector2(Random.value > 0.5f ? Random.Range(-0.1f, -0.05f) : Random.Range(1.05f, 1.1f), Random.Range(-0.1f, 1.1f))) : Camera.main.ViewportToWorldPoint(new Vector2(Random.Range(-0.1f, 1.1f), Random.value > 0.5f ? Random.Range(-0.1f, -0.05f) : Random.Range(1.05f, 1.1f)));
asteroid = Instantiate(asteroidPrefab, spawnPosition, Quaternion.identity).GetComponent<AsteroidController>();
asteroid.SetDirection(Camera.main.ViewportToWorldPoint(new Vector2(Random.value, Random.value)));
}
else
asteroid = Instantiate(asteroidPrefab, Vector2.zero, Quaternion.identity).GetComponent<AsteroidController>(); //for test purposes
float randomValue = Random.value;
if (randomValue < 0.333f)
asteroid.SetSplitCount(0); // big asteroid
else if (randomValue > 0.666f)
asteroid.SetSplitCount(1); // medium asteroid
else
asteroid.SetSplitCount(2); // small asteroid
asteroidSpawnTimer = asteroidSpawnDelay;
}
IEnumerator ReloadScene()
{
yield return new WaitForSeconds(RELOAD_SCENE_DELAY);
Scene scene = SceneManager.GetActiveScene();
SceneManager.LoadScene(scene.name);
}
public static void AddToScore(int splitCount)
{
switch (splitCount)
{
case 0:
score += 1000;
scoreSinceLastDeath += 1000;
break;
case 1:
score += 500;
scoreSinceLastDeath += 500;
break;
case 2:
score += 250;
scoreSinceLastDeath += 250;
break;
}
if (SpaceshipIsActive())
spaceship.UpdateWeapon(scoreSinceLastDeath);
if(ScoreCounter.instance)
ScoreCounter.instance.StartCounting(score);
}
}

Some files were not shown because too many files have changed in this diff Show More