public static void SaveToCSV() { SaveCSV saveCSV = new SaveCSV(); saveCSV.Save(); Debug.Log("Создаю единный массив всех Нарративов:"); EditorApplication.Beep(); Debug.Log("<color=green> Нарративный массив успешно сохранен как CSV! </color>"); }
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); } }
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); } }
// 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フレーム後に自分自身を破棄 } } } }