Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections.Generic;
- using UnityEngine;
- [DefaultExecutionOrder(-10000)]
- public class CommandLineArgsManager : SingletonMonoBehaviour<CommandLineArgsManager> {
- List<string> args = new List<string>();
- private void Initialize()
- {
- var argsArray = System.Environment.GetCommandLineArgs();
- for(int i = 0; i < argsArray.Length; i++)
- {
- Debug.Log("Command Line Args [" + i + "] " + argsArray[i]);
- args.Add(argsArray[i]);
- }
- }
- private void Awake()
- {
- Initialize();
- }
- /// <summary>
- /// 該当引数が存在するか?
- /// </summary>
- /// <param name="argName"></param>
- /// <returns></returns>
- public bool Contains(string name)
- {
- return args.Contains(name);
- }
- /// <summary>
- /// 引数の整数値を取得してみる
- /// </summary>
- /// <param name="name"></param>
- /// <param name="value"></param>
- /// <returns></returns>
- public bool TryGetInt(string name, out int value)
- {
- int index = args.IndexOf(name);
- // 引数見つからず
- if (index == -1)
- {
- value = -1;
- return false;
- }
- // 引数の後に値がない(範囲オーバー)
- if((index + 1) >= args.Count)
- {
- value = -1;
- return false;
- }
- // 引数の後の値が取り出せたら成功
- if(int.TryParse(args[index + 1], out value))
- {
- return true;
- }
- value = -1;
- return false;
- }
- }
Add Comment
Please, Sign In to add comment