public static ParseRecording ( string jsonRecording ) : Recording, | ||
jsonRecording | string | /// JSON recording /// |
리턴 | Recording, |
private IEnumerator Player() { Recording recording = playerVCR.GetRecording(); if (recording == null) { yield break; } Debug.Log(recording.ToString()); curPlayer = (InputVCR)Instantiate(playbackCharacterPrefab, recordingStartPos, recordingStartRot); curPlayer.Play(Recording.ParseRecording(recording.ToString())); SwapTex(); float playTime = recording.recordingLength; float curTime = 0f; isPlaying = true; while (curTime < playTime) { if (isPlaying) { curTime += Time.deltaTime; } yield return(0); } // Play finished isPlaying = false; Destroy(curPlayer.gameObject); curPlayer = null; SwapTex(); }
private void LoadNextTest() { string path; if (Params.TESTS[currentTest] == "Volley_Test" || Params.TESTS[currentTest] == "Send_Shoot_Test") { path = String.Format("exports/Recordings/Tests/{0}_{1}.json", Params.TESTS[currentTest], playerId); } else { path = String.Format("exports/Recordings/Tests/{0}.json", Params.TESTS[currentTest]); } using (StreamReader r = new StreamReader(path)) { string json = r.ReadToEnd(); Recording recording = Recording.ParseRecording(json); StartPlayback(recording); } }
private IEnumerator Player() { // Get the previous recording Recording recording = playerVCR.GetRecording(); // Gets selected length and cuts it down if too long int framePos = recording.frames.Count - playFrom; if (framePos != 0) { recording.frames.RemoveRange(0, framePos); } playFrom = 0; Debug.Log("Testing - There are " + recording.frames.Count + " recorded! - Spawning"); // Add previous recording to list playerRecordings.Add(recording); // Start new recording after delay StartCoroutine(StartRecordingDelay(2f)); if (recording == null) { yield break; } Debug.Log("Recording Start Pos: " + recordingStartPos + " Recording Start Rot: " + recordingStartRot); Debug.Log("Num of Frames Rec: " + recording.frames.Count); // Creates the clone Debug.Log(recording.ToString()); curPlayer = Instantiate(GameObject.Find("Player")); curPlayer.GetComponent <PlayerBehaviour>().isClone = true; Destroy(curPlayer.GetComponent <playerTutorial>()); curPlayer.GetComponent <Timeline>().mode = TimelineMode.Global; curPlayer.GetComponent <Timeline>().globalClockKey = "RecordedClones"; curPlayer.transform.Find("Animator").GetComponent <Timeline>().mode = TimelineMode.Global; curPlayer.transform.Find("Animator").GetComponent <Timeline>().globalClockKey = "RecordedClones"; curPlayer.GetComponent <PlayerBehaviour>().ResetRigidBody(); curPlayer.tag = "RecordedPlayer"; curPlayer.transform.Find("Camera").gameObject.SetActive(false); Destroy(curPlayer.transform.Find("InputRecorder").gameObject); GameObject displayName, cloneDigitalCode; displayName = Instantiate(displayNameObject); displayName.transform.SetParent(curPlayer.transform); displayName.transform.rectTransform().localPosition = new Vector3(0, 2.079996f, 0); displayName.name = "DisplayInfoAbove"; Material[] ghostMaterials = new Material[] { ghostMaterial, ghostMaterial, ghostMaterial, ghostMaterial, ghostMaterial, ghostMaterial, ghostMaterial }; curPlayer.transform.FindDeepChild("VBOT_:VBOT_LOD3").transform.parent = curPlayer.transform.Find("Animator"); curPlayer.transform.FindDeepChild("VBOT_:VBOT_LOD3").GetComponent <Renderer>().materials = ghostMaterials; curPlayer.transform.FindDeepChild("VBOT_:VBOT_LOD3").gameObject.AddComponent <Outline>(); curPlayer.transform.FindDeepChild("VBOT_:VBOT_LOD3").name = "PlayerMesh"; Destroy(curPlayer.transform.FindDeepChild("Mesh_LOD").gameObject); cloneDigitalCode = Instantiate(cloneDigitalCodeObject); cloneDigitalCode.transform.SetParent(curPlayer.gameObject.transform.FindDeepChild("PlayerMesh"), false); cloneDigitalCode.name = "DigitalCodeGhostParticles"; // Sets the starting camera rotation float cameraX = playerVCR.gameObject.transform.FindDeepChild("Z").transform.rotation.x; float cameraZ = playerVCR.gameObject.transform.FindDeepChild("Y").transform.rotation.y; curPlayer.gameObject.GetComponent <CameraBehaviour>().SetRotationX(cameraX); curPlayer.gameObject.GetComponent <CameraBehaviour>().SetRotationZ(cameraZ); // Set Health & Energy curPlayer.gameObject.GetComponent <PlayerBehaviour>().life = playerVCR.gameObject.GetComponent <PlayerBehaviour>().life; curPlayer.gameObject.GetComponent <PlayerBehaviour>().energy = playerVCR.gameObject.GetComponent <PlayerBehaviour>().energy; curPlayer.GetComponent <InputVCR>().Play(Recording.ParseRecording(recording.ToString())); recPlayerNum++; curPlayer.name = "RecordedPlayer" + recPlayerNum; curPlayer.GetComponent <InputVCR>().recordingNumber = recPlayerNum; curPlayer.GetComponent <InputVCR>().startPos = recordingStartPos; curPlayer.GetComponent <InputVCR>().startRot = recordingStartRot; displayName.transform.FindDeepChild("RecordingNumber").GetComponent <FaceObject>().SetRecordingText(curPlayer.gameObject.GetComponent <InputVCR>().recordingNumber); CreateCurrentCloneCopy(); float playTime = recording.recordingLength; float curTime = 0f; isPlaying = true; while (curTime < playTime) { if (isPlaying) { curTime += Time.deltaTime; } yield return(0); } }
private void ExecuteControls() { if (Input.GetKeyDown(KeyCode.A)) { playerAIEnabled = true; CmdTeamAIActivate(true); } if (Input.GetKeyDown(KeyCode.Y)) { CmdRequestOffensiveTroopSpawn(0, 0); } else if (Input.GetKeyDown(KeyCode.J)) { CmdRequestOffensiveTroopSpawn(0, 1); } else if (Input.GetKeyDown(KeyCode.N)) { CmdRequestOffensiveTroopSpawn(0, 2); } else if (Input.GetKeyDown(KeyCode.B)) { CmdRequestOffensiveTroopSpawn(0, 3); } else if (Input.GetKeyDown(KeyCode.G)) { CmdRequestOffensiveTroopSpawn(0, 4); } else if (playbackTester.GetKeyDown(Params.SK_KEY) || playbackTester.GetKeyDown(Params.SK_KEY_ALT)) { CmdRequestOffensiveTroopSpawn(0, laneId); } else if (playbackTester.GetKeyDown(Params.VOLLEY_KEY) || playbackTester.GetKeyDown(Params.VOLLEY_KEY_ALT)) { CmdVolley(); } else if (playbackTester.GetKeyDown(Params.LEFT_KEY)) { crossbowMotor.MoveLeft(); } else if (playbackTester.GetKeyDown(Params.RIGHT_KEY)) { crossbowMotor.MoveRight(); } else if (playbackTester.GetKeyDown(Params.SHOOT_KEY)) { Shoot(); } else if (Input.GetKeyDown(Params.START_RECORDING_KEY)) { CmdStartRecording(); } else if (Input.GetKeyDown(Params.STOP_RECORDING_KEY)) { CmdStopRecording(); } else if (Input.GetKeyDown(Params.PLAYBACK_KEY)) { string path = String.Format("exports/player{0}.json", id); Debug.Log("attempt to playback: " + path); using (StreamReader r = new StreamReader(path)) { string json = r.ReadToEnd(); Recording recording = Recording.ParseRecording(json); playbackTester.StartPlayback(recording); } } else if (Input.GetKeyDown(Params.TEST_KEY)) { CmdStartTesting(); } }