void Start() { CopyUrl = Application.streamingAssetsPath + "/SaveDice.csv"; SaveUrl = Application.persistentDataPath + "/SaveDice.csv"; DiceOriginal = DiceCopy; CSVReaderWriter = GameObject.Find("CSVReaderWriter"); CSVScript = CSVReaderWriter.GetComponent <CSVReaderWriter>(); CSVScript.SaveCSVExists(CopyUrl, true); returnList = CSVScript.ReadCSV(CSVScript.ListMakeCSV(SettingUrl, Dices)); CloneDice(returnList); MainCamera = GameObject.Find("MainCamera"); //シーンのメインカメラをアクティブにする MainCamera.SetActive(true); }
// Update is called once per frame void Update() { Dices = GameObject.FindGameObjectsWithTag("TagDice"); // ASWDが押下されたとき、最後にクリックされた、もしくは作られたオブジェクトが移動する if (Input.GetKey(KeyCode.A)) { DiceCopy.transform.Translate(-0.1f, 0.0f, 0.0f); } else if (Input.GetKey(KeyCode.S)) { DiceCopy.transform.Translate(0.0f, 0.0f, -0.1f); } else if (Input.GetKey(KeyCode.W)) { DiceCopy.transform.Translate(0.0f, 0.0f, 0.1f); } else if (Input.GetKey(KeyCode.D)) { DiceCopy.transform.Translate(0.1f, 0.0f, 0.0f); } // クリックされたとき、クリックされたサイコロを回転・停止させる Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; // 左クリックされたとき if (Input.GetMouseButtonDown(0)) { if (Physics.Raycast(ray, out hit, 100.0f)) { // クリックされたダイスを入れる DiceCopy = hit.collider.gameObject; script = DiceCopy.GetComponent <DicePrefab>(); script.SpinFlag = true; } else { // クリックした位置にオブジェクトがなかった場合 サイコロを複製する // クリックした位置を格納 ClickPosition = Input.mousePosition; // Z座標を調整 ClickPosition.z = 10.0f; // 作ったダイスを入れる DiceCopy = Instantiate(DiceCopy, Camera.main.ScreenToWorldPoint(ClickPosition), Quaternion.identity); DiceCopy.tag = "TagDice"; DiceCopy.name = "DiceCopy"; DiceCopy.transform.parent = World.transform; // ダイスを作った場所をデバッグで表示 Debug.Log("座標" + Camera.main.ScreenToWorldPoint(ClickPosition)); } // 右クリックされたとき } else if (Input.GetMouseButtonDown(1)) { if (Physics.Raycast(ray, out hit, 100.0f)) { DiceCopy = hit.collider.gameObject; script = DiceCopy.GetComponent <DicePrefab>(); script.SpinFlag = false; // ダイスを止めた角度を表示 Debug.Log("角度" + hit.collider.gameObject.transform.localEulerAngles); } } // 押されたキーによって処理を変える if (Input.GetKeyDown(KeyCode.Space)) { AllSpins(); } // Qキー押下でサイコロを初期配置に戻す if (Input.GetKeyDown(KeyCode.Q)) { // 初期設定CSVを読み込む returnList = CSVScript.ReadCSV(CSVScript.ListMakeCSV(SettingUrl, Dices)); CloneDice(returnList); // 現在のサイコロの状態を保存する } else if (Input.GetKeyDown(KeyCode.E)) { CSVScript.WriteCSV(Dices, SaveUrl, CopyUrl); // 書き出したCSVファイルを読み込み } else if (Input.GetKeyDown(KeyCode.R)) { // ファイルが存在するかどうか確認する if (CSVScript.SaveCSVExists(SaveUrl)) { returnList = CSVScript.ReadCSV(CSVScript.ListMakeCSV(CopyUrl, Dices)); CloneDice(returnList); } else { // 無かった場合初期設定CSVを読み込む Debug.Log("保存データ null"); returnList = CSVScript.ReadCSV(CSVScript.ListMakeCSV(SettingUrl, Dices)); CloneDice(returnList); } } else if (Input.GetKeyDown(KeyCode.F12)) { Application.Quit(); } else if (Input.GetKeyDown(KeyCode.Tab)) { ChangeScean(); } SelectionDise(); }