private void Update() { if (exProcess != null) { if (exProcess.HasExited == true) { //起動しているゲームが何らかの理由(正常に閉じた場合含む)で存在しない時 //イベントを初期状態に戻し、「ゲーム起動中」パネルを非表示にする changeActiveNowGoObject.SetActive(false); exProcess = null; } } if (displayGameDataParam.gameID != -1) { startButtonImage.enabled = true; } else { startButtonImage.enabled = false; } //========================================================================== // キー入力処理 //========================================================================== if (Input.GetAxisRaw("Vertical") != 0.0f && displayGameDataParam.gameID == -1) { //まだどのゲームも選択していない時に上下キー入力を受け付けた時 -> 0番目のゲームを選択させる displayGameDataParam = CSVManager.Instance.cacheList[0]; PanelDisplay.Instance.UpdatePanel(); } if (Input.GetAxisRaw("Vertical") < -0.1f && displayGameDataParam.gameID < CSVManager.Instance.cacheList.Count - 1) { //下キー入力 -> ゲーム選択カーソルを一段下に移動 displayGameDataParam = CSVManager.Instance.cacheList[displayGameDataParam.gameID + 1]; PanelDisplay.Instance.UpdatePanel(); } if (Input.GetAxisRaw("Vertical") > 0.1f && displayGameDataParam.gameID > 0) { //上キー入力 -> ゲーム選択カーソルを一段上に移動 displayGameDataParam = CSVManager.Instance.cacheList[displayGameDataParam.gameID - 1]; PanelDisplay.Instance.UpdatePanel(); } if (Input.GetButtonDown("Enter")) { //決定キー入力 -> 選択中のゲームを起動させる StartGame(); } if (Input.GetKeyDown(KeyCode.Escape)) { //escキー -> ゲーム選択カーソルを外す(初期状態に戻す) changeActiveNowGoObject.SetActive(false); exProcess = null; displayGameDataParam = new GameDataParam(); PanelDisplay.Instance.ResetDisplay(); } }
public void Initiate(GameDataParam param) { gameDataParam = param; }
public GameDataParam displayGameDataParam; //現在選択しているゲームデータ(ゲームタイトル、起動パス等) private void Start() { displayGameDataParam = new GameDataParam(); }
void Start() { string csvPath = Environment.CurrentDirectory + "\\Games\\param.csv"; var result = CSVReader.Instance.ParseCSV(File.ReadAllText(csvPath)); bool isHead = true; foreach (var line in result) { //ヘッダ(パラメータに関係の無いCSV取扱説明文など)を飛ばす if (line[0].Equals("EndHead")) { isHead = false; continue; } else { if (isHead) { continue; } } //ヘッダ以降の行 => パラメータ読み込み //ゲーム情報リスト用のクラス(gameDataParam)を作成してcsvで読み込んだ内容を格納する GameDataParam cacheParam = new GameDataParam(); cacheParam.gameID = readGameId; cacheParam.gameTitle = line[1]; cacheParam.gameType = (GameType)int.Parse(line[2]); cacheParam.openDirName = line[3]; cacheParam.openFileName = line[4]; cacheParam.description = line[5]; if (line[6].Equals("TRUE")) { cacheParam.is3dGame = true; } else { cacheParam.is3dGame = false; } if (line[7].Equals("TRUE")) { cacheParam.isTrialGame = true; } else { cacheParam.isTrialGame = false; } cacheList.Add(cacheParam); //テンプレートオブジェクト生成 GameObject gameData = Instantiate(GameDataTemp, GameList); //各種パラメータ設定(タイトル名、ジャンルなど) gameData.GetComponent <GameData>().Initiate(cacheParam); //バナー画像設定(Bannar.pngが無い場合はテンプレートバナーを作成する) string bannarPath = Environment.CurrentDirectory + "\\Games\\" + line[3] + "\\cgl\\bannar.png"; if (GameImage.Instance.SpriteFromFile(bannarPath) != null) { gameData.transform.GetChild(0).GetComponent <Image>().sprite = GameImage.Instance.SpriteFromFile(bannarPath); } else { gameData.transform.GetChild(1).GetComponent <Text>().text = line[1]; } readGameId++; } }