SurvivalGame.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. //------------------------------------------------------------
  2. // Game Framework
  3. // Copyright © 2013-2021 Jiang Yin. All rights reserved.
  4. // Homepage: https://gameframework.cn/
  5. // Feedback: mailto:ellan@gameframework.cn
  6. //------------------------------------------------------------
  7. using GameFramework;
  8. using GameFramework.DataTable;
  9. using UnityEngine;
  10. namespace MetaClient
  11. {
  12. public class SurvivalGame : GameBase
  13. {
  14. private float m_ElapseSeconds = 0f;
  15. public override GameMode GameMode
  16. {
  17. get
  18. {
  19. return GameMode.Survival;
  20. }
  21. }
  22. public override void Update(float elapseSeconds, float realElapseSeconds)
  23. {
  24. base.Update(elapseSeconds, realElapseSeconds);
  25. m_ElapseSeconds += elapseSeconds;
  26. if (m_ElapseSeconds >= 1f)
  27. {
  28. m_ElapseSeconds = 0f;
  29. IDataTable<DRAsteroid> dtAsteroid = GameEntry.DataTable.GetDataTable<DRAsteroid>();
  30. float randomPositionX = SceneBackground.EnemySpawnBoundary.bounds.min.x + SceneBackground.EnemySpawnBoundary.bounds.size.x * (float)Utility.Random.GetRandomDouble();
  31. float randomPositionZ = SceneBackground.EnemySpawnBoundary.bounds.min.z + SceneBackground.EnemySpawnBoundary.bounds.size.z * (float)Utility.Random.GetRandomDouble();
  32. GameEntry.Entity.ShowAsteroid(new AsteroidData(GameEntry.Entity.GenerateSerialId(), 60000 + Utility.Random.GetRandom(dtAsteroid.Count))
  33. {
  34. Position = new Vector3(randomPositionX, 0f, randomPositionZ),
  35. });
  36. }
  37. }
  38. }
  39. }