SceneConfig.cs 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System;
  2. namespace GameLogic.Combat.CombatTool.SceneTool
  3. {
  4. [System.Serializable]
  5. public class SceneConfig
  6. {
  7. public float dis=0.1f;
  8. public int minCount;
  9. public int maxCount;
  10. public SceneObjectConfig[] SceneObjectConfigs;
  11. private int odds;
  12. public void Init()
  13. {
  14. for (int i = 0; i < SceneObjectConfigs.Length; i++)
  15. {
  16. odds += SceneObjectConfigs[i].odds;
  17. }
  18. }
  19. public SceneObjectConfig GetSceneObjectConfig()
  20. {
  21. int currOdds = CombatCalculateTool.Instance.GetOdd(0, odds);
  22. int currAllOdds = 0;
  23. for (int i = 0; i < SceneObjectConfigs.Length; i++)
  24. {
  25. SceneObjectConfig sceneObjectConfig = SceneObjectConfigs[i];
  26. currAllOdds += sceneObjectConfig.odds;
  27. if (currAllOdds >= currOdds)
  28. {
  29. return sceneObjectConfig;
  30. }
  31. }
  32. return null;
  33. }
  34. }
  35. }