Example #1
0
    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);
    }
Example #2
0
    // 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();
    }