Пример #1
0
    public static void SaveToCSV()
    {
        SaveCSV saveCSV = new SaveCSV();

        saveCSV.Save();

        Debug.Log("Создаю единный массив всех Нарративов:");

        EditorApplication.Beep();
        Debug.Log("<color=green> Нарративный массив успешно сохранен как CSV! </color>");
    }
Пример #2
0
        private void saveFile_Click(object sender, EventArgs e)
        {
            var saveFileDialog = new SaveFileDialog();

            saveFileDialog.Title           = Resources.TitleSaveDialog;
            saveFileDialog.CheckPathExists = true;
            saveFileDialog.DefaultExt      = Resources.FileExtension;

            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                var args = new PriceEventArgs(saveFileDialog.FileName, priceDataGridView.DataSource);
                SaveCSV.Invoke(sender, args);
            }
        }
Пример #3
0
    private void OnApplicationQuit()
    {
        SaveCSV.createfile();
        //for (int n = 0; n < levelcount; n++)
        //{
        //    //// 将listToHoldTime列表的每一个值都减去此列表的第一个值
        //  //  List<float> AdjustIDtime = Levels[n].listToHoldTime;


        //    for (int m = 0; m < Levels[n].listToHoldTime.Count; m++)
        //    {
        //        FromZeroIDtime.Add(Levels[n].listToHoldTime[m] - Levels[n].listToHoldTime[0]);

        //    }
        //    SaveCSV.savedata("Force_bar" + n.ToString() + ".csv", FromZeroIDtime, Levels[n].listToHoldData, Levels[n].listToHoldID, Levels[n].listToHoldBarHeight, Levels[n].listToHoldtimeflag);
        //}


        for (int n = 0; n < levelcount; n++)
        {
            SaveCSV.savedata("Force_bar" + n.ToString() + ".csv", Levels[n].listToHoldTime, Levels[n].listToHoldData, Levels[n].listToHoldID, Levels[n].listToHoldBarHeight, Levels[n].listToHoldcollision1, Levels[n].listToHoldcollision2, Levels[n].listToHoldtimeflag);
        }
    }
Пример #4
0
    // Update is called once per frame
    void Update()
    {
        if (!GameDirector.Instance.GetPauseFlg)     // ポーズ中でなければ通常通り実行
        {
            // 最初のタップから最後のタップまで座標を取得
            if (GameDirector.Instance.GetArmNumber() > 0 && GameDirector.Instance.GetArmNumber() <= _MAX_TAP + 1)
            {
                TimeCount += Time.deltaTime;                         // 1フレーム間の時間を加算
                if (TimeCount > SavePosTime && i < 100)              // 一定時間経過後
                {
                    TimeCount   = 0;                                 // タイムカウンタをリセット
                    position[i] = this.transform.position;           // 現在の座標を取得
                    angle[i]    = this.transform.localEulerAngles.z; // 現在の角度を取得
                    i++;                                             // 保存する配列の要素番号を1つ加算

                    //------- デバッグ用 -------//
                    Debug.Log(position[i - 1]);
                    //--------------------------//
                }
            }

            if (GameDirector.Instance.GetArmNumber() > 1 && GameDirector.Instance.GetArmNumber() <= _MAX_TAP + 1) // 最初のタップと最後のタップ以外
            {
                Presstime += Time.deltaTime;                                                                      // 長押ししている時間を計測
                if (Presstime > ArrowDisplayTime)                                                                 // 一定時間長押ししたら
                {
                    ArrowObject.SetActive(true);                                                                  // アクティブに設定
                }
            }

            if (Input.GetMouseButtonUp(0) && GameDirector.Instance.GetArmNumber() > 0)                                // 左クリックしたとき、かつタップの最大数以下の時
            {
                Presstime = 0;                                                                                        // 長押しの時間を初期化

                if (GameDirector.Instance.GetArmNumber() <= _MAX_TAP + 1 && GameDirector.Instance.GetArmNumber() > 1) // 最初のタップと最後のタップ以外の時
                {
                    if (i < 100)
                    {
                        TimeCount   = 0;                                 // タイムカウンタをリセット
                        position[i] = this.transform.position;           // 爆発したときも座標を取得
                        angle[i]    = this.transform.localEulerAngles.z; // 現在の角度を取得
                        i++;                                             // 保存する配列の要素番号を1つ加算
                    }
                    if (!ArrowObject.activeSelf)                         // 非アクティブ状態なら
                    {
                        ArrowObject.SetActive(true);                     // アクティブ状態に設定
                    }

                    ArrowObject.GetComponent <ArrowDirector>().SetArrowPos(transform.GetChild(armNum + 1));                   // 次の腕に応じた矢印の位置に設定
                    ArrowObject.SetActive(false);                                                                             // 非アクティブに設定

                    Instantiate(ParticleList[(int)PARTICLE.ARM], transform);                                                  // 海星の子に設定して泡のパーティクルを生成
                    Vector2 armPos = transform.GetChild(armNum).position;                                                     // ヒエラルキービューの上から子オブジェクトのワールド座標を取得
                    ForceX = transform.position.x - armPos.x;                                                                 // 本体と腕のx座標の差を求める(力を加えるx方向)
                    ForceY = transform.position.y - armPos.y;                                                                 // 本体と腕のy座標の差を求める(力を加えるy方向)

                    Rigidbody2D rb    = GetComponent <Rigidbody2D>();                                                         // Rigidbodyを取得
                    Vector2     force = new Vector2(ForceX * bombPower, ForceY * bombPower);                                  // 本体と腕の座標の差から力を設定

                    rb.angularVelocity = 0;                                                                                   // 回転の力を0に戻す

                    if (transform.position.x < armPos.x)                                                                      // 腕が本体の右側にあれば
                    {
                        rb.AddTorque(1.5f, ForceMode2D.Impulse);                                                              // 時計回りに回転
                    }
                    else                                                                                                      // そうでなければ
                    {
                        rb.AddTorque(-1.5f, ForceMode2D.Impulse);                                                             // 反時計回りに回転
                    }
                    rb.AddForce(force, ForceMode2D.Impulse);                                                                  // 一瞬のみ力を加える

                    LegSpriteRenderer[armNum].sprite = LegImages[2];                                                          // 現在の腕を爆発後の腕の画像に変更
                    transform.GetChild(armNum).GetComponent <Transform>().localScale = new Vector3(1.0f, 1.0f, 1.0f);         // 現在の腕の大きさを標準に変更

                    if (armNum < _MAX_LEG - 1)                                                                                // 現在の腕が最後の腕じゃなかったら
                    {
                        transform.GetChild(armNum + 1).GetComponent <Transform>().localScale = new Vector3(1.5f, 1.5f, 1.5f); // 次の腕の大きさを1.5倍に変更
                        LegSpriteRenderer[armNum + 1].sprite = LegImages[1];                                                  // 次の腕を選択時の腕の画像に変更
                    }

                    armNum++;                                                                                    // 次の腕へ
                    GameDirector.Instance.SetArmNumber(GameDirector.Instance.GetArmNumber() - 1);                // 腕の本数を1減算
                }
                else if (GameDirector.Instance.GetArmNumber() > _MAX_TAP)                                        // 最初のタップ
                {
                    Rigidbody2D rb    = GetComponent <Rigidbody2D>();                                            // Rigidbodyを取得
                    Vector2     force = new Vector2(-5.0f * bombPower / 20, 5.0f * bombPower / 20);              // 力を設定
                    rb.AddTorque(0.8f, ForceMode2D.Impulse);                                                     // 一瞬のみ回転を加える
                    rb.AddForce(force, ForceMode2D.Impulse);                                                     // 一瞬のみ力を加える

                    transform.GetChild(0).GetComponent <Transform>().localScale = new Vector3(1.5f, 1.5f, 1.5f); // 最初の腕の表示を1.5倍に拡大
                    LegSpriteRenderer[0].sprite = LegImages[1];                                                  // 最初の腕を選択時の腕に画像を変更

                    GameDirector.Instance.SetArmNumber(GameDirector.Instance.GetArmNumber() - 1);                // 腕の本数を1減算
                }
                else                                                                                             // 最後の花火
                {
                    Instantiate(ParticleList[(int)PARTICLE.FIREWORK], transform);                                // 海星の子に設定して花火のパーティクルを設定
                    SaveCSV SavePos = this.GetComponent <SaveCSV>();                                             // スクリプトを取得
                    //SavePos.SavePos(position, angle, i);                            // 取得した座標をCSVファイルに書き込み
                    SavePos.BinarySavePos(position, angle, i);                                                   // 取得した座標と角度をCSVファイルに書き込み
                    StartCoroutine("DestroyObject");                                                             //1フレーム後に自分自身を破棄
                }
            }
        }
    }