first commit
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
#if ENABLE_MONO && (DEVELOPMENT_BUILD || UNITY_EDITOR)
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Jobs;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace SingularityGroup.HotReload.Demo {
|
||||
public class HotReloadBurstJobsDemo : MonoBehaviour {
|
||||
public Transform[] cubes;
|
||||
public Text informationText;
|
||||
public Button openWindowButton;
|
||||
public Button openScriptButton;
|
||||
public TextAsset thisScript;
|
||||
|
||||
TransformAccessArray cubeTransforms;
|
||||
CubeJob job;
|
||||
void Awake() {
|
||||
cubeTransforms = new TransformAccessArray(cubes);
|
||||
if(Application.isEditor) {
|
||||
openWindowButton.onClick.AddListener(Demo.I.OpenHotReloadWindow);
|
||||
openScriptButton.onClick.AddListener(() => Demo.I.OpenScriptFile(thisScript, 49, 17));
|
||||
} else {
|
||||
openWindowButton.gameObject.SetActive(false);
|
||||
openScriptButton.gameObject.SetActive(false);
|
||||
}
|
||||
informationText.gameObject.SetActive(true);
|
||||
}
|
||||
|
||||
void Update() {
|
||||
job.deltaTime = Time.deltaTime;
|
||||
job.time = Time.time;
|
||||
var handle = job.Schedule(cubeTransforms);
|
||||
handle.Complete();
|
||||
|
||||
if (Demo.I.IsServerRunning()) {
|
||||
informationText.text = "Hot Reload is running";
|
||||
} else {
|
||||
informationText.text = "Hot Reload is not running";
|
||||
}
|
||||
}
|
||||
|
||||
struct CubeJob : IJobParallelForTransform {
|
||||
public float deltaTime;
|
||||
public float time;
|
||||
public void Execute(int index, TransformAccess transform) {
|
||||
transform.localRotation *= Quaternion.Euler(50 * deltaTime, 0, 0);
|
||||
|
||||
// Uncomment this code to scale the cubes
|
||||
// var scale = Mathf.Abs(Mathf.Sin(time));
|
||||
// transform.localScale = new Vector3(scale, scale, scale);
|
||||
|
||||
// Uncomment this code to make the cube move from left to right and back
|
||||
// transform.position += (transform.localScale.x < 0.5 ? Vector3.left : Vector3.right) * deltaTime;
|
||||
}
|
||||
}
|
||||
|
||||
void OnDestroy() {
|
||||
cubeTransforms.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user