CollectableSpawner.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. 
  2. // =================================
  3. // Namespaces.
  4. // =================================
  5. using UnityEngine;
  6. // =================================
  7. // Define namespace.
  8. // =================================
  9. namespace MirzaBeig
  10. {
  11. namespace Demos
  12. {
  13. namespace TheLastParticle
  14. {
  15. // =================================
  16. // Classes.
  17. // =================================
  18. //[ExecuteInEditMode]
  19. [System.Serializable]
  20. public class CollectableSpawner : MonoBehaviour
  21. {
  22. // =================================
  23. // Nested classes and structures.
  24. // =================================
  25. // ...
  26. // =================================
  27. // Variables.
  28. // =================================
  29. // ...
  30. public Collectable collectable;
  31. public float collectablesPerSecond = 0.25f;
  32. public Vector3 spawnBoxScale = Vector3.one * 10.0f;
  33. float timer;
  34. // =================================
  35. // Functions.
  36. // =================================
  37. // ...
  38. void Start()
  39. {
  40. timer = 0.0f;
  41. }
  42. // ...
  43. void Update()
  44. {
  45. timer += Time.deltaTime * collectablesPerSecond;
  46. if (timer >= 1.0f)
  47. {
  48. timer = 0.0f;
  49. Vector3 position = transform.position;
  50. Vector3 scale = spawnBoxScale / 2.0f;
  51. position.x += Random.Range(-scale.x, scale.x);
  52. position.y += Random.Range(-scale.y, scale.y);
  53. position.z += Random.Range(-scale.z, scale.z);
  54. Instantiate(collectable, position, Quaternion.identity);
  55. }
  56. }
  57. // ...
  58. void OnDrawGizmos()
  59. {
  60. Gizmos.DrawWireCube(transform.position, spawnBoxScale);
  61. }
  62. // =================================
  63. // End functions.
  64. // =================================
  65. }
  66. // =================================
  67. // End namespace.
  68. // =================================
  69. }
  70. }
  71. }
  72. // =================================
  73. // --END-- //
  74. // =================================