This commit is contained in:
Krzysztof Rudnicki 2022-05-16 14:23:32 +02:00
parent e21fe8a213
commit ba336cd776
10 changed files with 288 additions and 1 deletions

View File

@ -1,5 +1,9 @@
fileFormatVersion: 2
<<<<<<< HEAD
guid: 08cb4bdcfd1a3d9198e1d7ccfee220d2
=======
guid: 5939f2b8303b5cd46afe044fb9d1709e
>>>>>>> 98112df (added TickSystem and an example tick receiver)
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -0,0 +1,46 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &8737336274644796263
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8737336274644796262}
- component: {fileID: 5760747931768097249}
m_Layer: 0
m_Name: TickSystem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8737336274644796262
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8737336274644796263}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &5760747931768097249
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8737336274644796263}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 39caa37523bdee54ba2bb4f591cf9ece, type: 3}
m_Name:
m_EditorClassIdentifier:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 519502c6f18d5e44eb800aefd848a6e6
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
@ -133,6 +133,7 @@ GameObject:
m_Component:
- component: {fileID: 62685116}
- component: {fileID: 62685115}
- component: {fileID: 62685117}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
@ -217,6 +218,26 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!114 &62685117
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 62685114}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Version: 1
m_UsePipelineSettings: 1
m_AdditionalLightsShadowResolutionTier: 2
m_LightLayerMask: 1
m_CustomShadowLayers: 0
m_ShadowLayerMask: 1
m_LightCookieSize: {x: 1, y: 1}
m_LightCookieOffset: {x: 0, y: 0}
--- !u!1 &574213518
GameObject:
m_ObjectHideFlags: 0
@ -301,3 +322,116 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1030936245
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1030936246}
- component: {fileID: 1030936247}
m_Layer: 0
m_Name: ExampleTickReceiver
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1030936246
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1030936245}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1030936247
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1030936245}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a1201c89332e3f946a28bbc1294750be, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &1051848805
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 8737336274644796262, guid: 519502c6f18d5e44eb800aefd848a6e6,
type: 3}
propertyPath: m_RootOrder
value: 2
objectReference: {fileID: 0}
- target: {fileID: 8737336274644796262, guid: 519502c6f18d5e44eb800aefd848a6e6,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8737336274644796262, guid: 519502c6f18d5e44eb800aefd848a6e6,
type: 3}
propertyPath: m_LocalPosition.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8737336274644796262, guid: 519502c6f18d5e44eb800aefd848a6e6,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8737336274644796262, guid: 519502c6f18d5e44eb800aefd848a6e6,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8737336274644796262, guid: 519502c6f18d5e44eb800aefd848a6e6,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8737336274644796262, guid: 519502c6f18d5e44eb800aefd848a6e6,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8737336274644796262, guid: 519502c6f18d5e44eb800aefd848a6e6,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8737336274644796262, guid: 519502c6f18d5e44eb800aefd848a6e6,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8737336274644796262, guid: 519502c6f18d5e44eb800aefd848a6e6,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8737336274644796262, guid: 519502c6f18d5e44eb800aefd848a6e6,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8737336274644796263, guid: 519502c6f18d5e44eb800aefd848a6e6,
type: 3}
propertyPath: m_Name
value: TickSystem
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 519502c6f18d5e44eb800aefd848a6e6, type: 3}

View File

@ -1,5 +1,9 @@
fileFormatVersion: 2
<<<<<<< HEAD
guid: c970975bb706c3e158e7748ebf7f5284
=======
guid: 0249b4cbd93f42540a182f30adbb10bc
>>>>>>> 98112df (added TickSystem and an example tick receiver)
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

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

View File

@ -0,0 +1,16 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ExampleTickReceiver : MonoBehaviour
{
void Awake()
{
TickSystem.OnTick += HandleTick;
}
private void HandleTick(TickSystem.OnTickEventArgs tickEventArgs)
{
Debug.Log($"Example of tick #{tickEventArgs.tickNumber} being handled");
}
}

View File

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

View File

@ -0,0 +1,46 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
public class TickSystem : MonoBehaviour
{
public class OnTickEventArgs : EventArgs
{
public int tickNumber;
}
public static Action<OnTickEventArgs> OnTick;
private const float TICK_PERIOD = 0.2f; // seconds between ticks
private int tick; // keep track of total ticks that have happened
public static TickSystem Instance;
private void Awake() // needs to be called by a scene initializer
{
if (Instance != null) // a TickSystem already exitst
{
Debug.LogError("A TickSystem already exists, FIX YOUR TIME SPAWNING");
Destroy(gameObject);
}//else this is the first TickSystem that has awoken in this scene
Instance = this;
tickTimer = 0f;
tick = 0;
}
private float tickTimer = 0f;
// Update is called once per frame
void Update()
{
tickTimer += Time.deltaTime;
if (tickTimer >= TICK_PERIOD)
{
tickTimer -= TICK_PERIOD;
tick++;
OnTick?.Invoke(new OnTickEventArgs { tickNumber = tick });
}
}
}

View File

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