public void SetCPULevel(CPUCapabilityManager.SYSTEM_LEVEL sysLevel) { if (sysLevel == CPUCapabilityManager.SYSTEM_LEVEL.HIGH) { NumDynamicObjects = PotentiallyDynamicObjects.Length; } else if (sysLevel == CPUCapabilityManager.SYSTEM_LEVEL.MEDIUM) { NumDynamicObjects = PotentiallyDynamicObjects.Length / 2; } else if (sysLevel == CPUCapabilityManager.SYSTEM_LEVEL.LOW) { NumDynamicObjects = PotentiallyDynamicObjects.Length / 3; } else if (sysLevel == CPUCapabilityManager.SYSTEM_LEVEL.OFF) { NumDynamicObjects = 0; } Debug.Log("(Obj:" + gameObject.name + ") System capability set to: " + CPUCapabilityManager.Instance.CPUCapabilityLevel + ", so setting number of dynamic objects to: " + NumDynamicObjects); for (int i = 0; i < NumDynamicObjects; i++) { Rigidbody objRigidBody = PotentiallyDynamicObjects[i].AddComponent <Rigidbody>(); objRigidBody.useGravity = true; objRigidBody.mass = 10; PotentiallyDynamicObjects[i].AddComponent <SphereMovement>(); } }
public void SwitchSetting() { CurrentLevel = GetNextCPUSetting(); CPUCapabilityManager.Instance.CPUCapabilityLevel = CurrentLevel; SceneManager.LoadScene("CPU_Capability_Demo"); UIController.Instance.RefreshText(); }
void Start() { // First run - query hardware and choose system level based on CPUCapabilityManager thresholds CurrentLevel = CPUCapabilityManager.Instance.CPUCapabilityLevel; SceneManager.LoadScene("CPU_Capability_Demo"); UIController.Instance.RefreshText(); }
public void SetCPULevel(CPUCapabilityManager.SYSTEM_LEVEL sysLevel) { if (sysLevel == CPUCapabilityManager.SYSTEM_LEVEL.HIGH) { for (int i = 0; i < ParticleSystems.Length; i++) { var particleSysMain = ParticleSystems[i].main; var particleSysCollision = ParticleSystems[i].collision; var particleSysEmission = ParticleSystems[i].emission; particleSysEmission.rateOverTime = 400.0f; particleSysMain.maxParticles = 20000; particleSysCollision.enabled = true; particleSysCollision.type = ParticleSystemCollisionType.World; } } else if (sysLevel == CPUCapabilityManager.SYSTEM_LEVEL.MEDIUM) { for (int i = 0; i < ParticleSystems.Length; i++) { var particleSysMain = ParticleSystems[i].main; var particleSysCollision = ParticleSystems[i].collision; var particleSysEmission = ParticleSystems[i].emission; particleSysEmission.rateOverTime = 300.0f; particleSysMain.maxParticles = 10000; particleSysCollision.enabled = true; particleSysCollision.type = ParticleSystemCollisionType.World; } } else if (sysLevel == CPUCapabilityManager.SYSTEM_LEVEL.LOW) { for (int i = 0; i < ParticleSystems.Length; i++) { var particleSysMain = ParticleSystems[i].main; var particleSysCollision = ParticleSystems[i].collision; var particleSysEmission = ParticleSystems[i].emission; particleSysEmission.rateOverTime = 200.0f; particleSysMain.maxParticles = 5000; particleSysCollision.enabled = true; particleSysCollision.type = ParticleSystemCollisionType.Planes; for (int j = 0; j < CollisionPlanes.Length; j++) { particleSysCollision.SetPlane(j, CollisionPlanes[j]); } } } else if (sysLevel == CPUCapabilityManager.SYSTEM_LEVEL.OFF) { for (int i = 0; i < ParticleSystems.Length; i++) { var particleSysMain = ParticleSystems[i].main; var particleSysCollision = ParticleSystems[i].collision; var particleSysEmission = ParticleSystems[i].emission; particleSysEmission.rateOverTime = 100.0f; particleSysMain.maxParticles = 3000; particleSysCollision.enabled = false; } } }
public void SetCPULevel(CPUCapabilityManager.SYSTEM_LEVEL sysLevel) { if (sysLevel == CPUCapabilityManager.SYSTEM_LEVEL.HIGH) { DynamicGI.updateThreshold = 0; DynamicGI.synchronousMode = true; } else if (sysLevel == CPUCapabilityManager.SYSTEM_LEVEL.MEDIUM) { DynamicGI.updateThreshold = 15; } else if (sysLevel == CPUCapabilityManager.SYSTEM_LEVEL.LOW) { DynamicGI.updateThreshold = 35; } else if (sysLevel == CPUCapabilityManager.SYSTEM_LEVEL.OFF) { DynamicGI.updateThreshold = 45; } }
public void SetCPULevel(CPUCapabilityManager.SYSTEM_LEVEL sysLevel) { // Only use if CPU deemed medium or high capability if (sysLevel == CPUCapabilityManager.SYSTEM_LEVEL.HIGH || sysLevel == CPUCapabilityManager.SYSTEM_LEVEL.MEDIUM) { IsCPUCapable = true; // add rigidbodies to all little cubes for (int i = 0; i < PotentiallyDetachableCubes.Length; i++) { Rigidbody CurrRigidbody = PotentiallyDetachableCubes[i].AddComponent <Rigidbody>(); CurrRigidbody.isKinematic = true; CurrRigidbody.useGravity = false; ObjRigidbodies.Add(CurrRigidbody); } Debug.Log("(ExplosionController) System capability set to: " + CPUCapabilityManager.Instance.CPUCapabilityLevel + ", so object (" + gameObject.name + ") is destructible"); } else { Debug.Log("(ExplosionController) System capability set to: " + CPUCapabilityManager.Instance.CPUCapabilityLevel + ", so object (" + gameObject.name + ") not destructible"); } }
public CPUCapabilityManager.SYSTEM_LEVEL GetNextCPUSetting() { CPUCapabilityManager.SYSTEM_LEVEL nextLevel = (CPUCapabilityManager.SYSTEM_LEVEL)(((((int)CurrentLevel) + 1)) % ((int)CPUCapabilityManager.SYSTEM_LEVEL.NUM_SYSTEMS)); return(nextLevel); }