Guest User

Untitled

a guest
Jan 24th, 2019
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. using System.Collections.Generic;
  2. using UnityEngine;
  3.  
  4. [DefaultExecutionOrder(-10000)]
  5. public class CommandLineArgsManager : SingletonMonoBehaviour<CommandLineArgsManager> {
  6.  
  7. List<string> args = new List<string>();
  8.  
  9. private void Initialize()
  10. {
  11. var argsArray = System.Environment.GetCommandLineArgs();
  12.  
  13. for(int i = 0; i < argsArray.Length; i++)
  14. {
  15. Debug.Log("Command Line Args [" + i + "] " + argsArray[i]);
  16. args.Add(argsArray[i]);
  17. }
  18. }
  19.  
  20. private void Awake()
  21. {
  22. Initialize();
  23. }
  24.  
  25. /// <summary>
  26. /// 該当引数が存在するか?
  27. /// </summary>
  28. /// <param name="argName"></param>
  29. /// <returns></returns>
  30. public bool Contains(string name)
  31. {
  32. return args.Contains(name);
  33. }
  34.  
  35. /// <summary>
  36. /// 引数の整数値を取得してみる
  37. /// </summary>
  38. /// <param name="name"></param>
  39. /// <param name="value"></param>
  40. /// <returns></returns>
  41. public bool TryGetInt(string name, out int value)
  42. {
  43. int index = args.IndexOf(name);
  44.  
  45. // 引数見つからず
  46. if (index == -1)
  47. {
  48. value = -1;
  49. return false;
  50. }
  51.  
  52. // 引数の後に値がない(範囲オーバー)
  53. if((index + 1) >= args.Count)
  54. {
  55. value = -1;
  56. return false;
  57. }
  58.  
  59. // 引数の後の値が取り出せたら成功
  60. if(int.TryParse(args[index + 1], out value))
  61. {
  62. return true;
  63. }
  64.  
  65. value = -1;
  66. return false;
  67. }
  68. }
Add Comment
Please, Sign In to add comment