void Start() { instance = this; this.alertText = GameObject.Find("AlertText").GetComponent <Text>(); if (!isControlledByPlayer) { this.playerInputRecord = File.ReadAllText("Records/ShadowMan/Record14.json"); GameRecord info = JsonUtility.FromJson <GameRecord>(playerInputRecord); this.seed = info.seed; this.playerInputSequence = info.playerInputSequence; } else { System.Random rnd = new System.Random(); this.seed = rnd.Next(100); } this.state = GameState.Running; UnityEngine.Random.InitState(this.seed); this.random = new System.Random(GameRecorder.instance.seed); alertText.gameObject.SetActive(false); }
private void Start() { TeamChanger teamChanger = new TeamChanger(); UniqueList <IEventReceiver> receivers = new UniqueList <IEventReceiver>(); receivers.Add(teamChanger); GameRecorder recorder = new GameRecorder(); GameReplayer replayer = new GameReplayer(receivers); teamChanger.TeamName.Subscribe((newName) => Debug.Log(newName)); TeamChangeEvent evt = new TeamChangeEvent(40, teamChanger.ID, "New team name"); recorder.AddEvent(evt); string gameLog = recorder.CreateGameLog(); replayer.Load(gameLog); replayer.Update(new Winch.UpdateInfo() { Time = 40, TicksPerUpdate = 0.1f }); }
private EnumPlayError Load() { if (!File.Exists(path)) { return(EnumPlayError.FileDontExits); } if (!path.EndsWith(RecordFileSuffix)) { return(EnumPlayError.FileTypeError); } try { var stream = File.OpenRead(path); stream.Seek(0, SeekOrigin.Begin); string time; stream.Read(out time); string t; stream.Read(out t); var dataType = Type.GetType(t); GameRecordDataHandle = GameRecorder.CreateRecodeData(dataType); GameRecordDataHandle?.Load(stream); stream.Close(); } catch (Exception e) { Logger.LogError(e.ToString()); } if (GameRecordDataHandle?.CommandsCount == 0) { return(EnumPlayError.FileContentError); } return(EnumPlayError.None); }
private void HandleEvent(TutorialEvent tutorialEvent) { switch (tutorialEvent) { case TutorialEvent.NONE: break; case TutorialEvent.LOAD_PRESET_LEVEL: LevelSelectGUI.currentLevel = Levels.GetLevel(level); Loading.Load(level); break; case TutorialEvent.LOAD_NEXT_LEVEL: LoadLevel.LoadALevel("next"); break; case TutorialEvent.START_PLAYER: tutorialEnabled = false; // Disable buttons lastButton.interactable = false; nextButton.interactable = false; skipButton.interactable = false; // Get rid of mainCamera tag //tag = "Untagged"; // Unfreeze camera { //theCamera.active = true; theCamera.GetComponent <LevelStart>().Start(); } // Unfreeze player GameObject player = GameObject.Find("Player"); if (player != null) { player.GetComponent <Rigidbody>().constraints = RigidbodyConstraints.FreezeRotation; } // Disable tutorial camera //gameObject.active = false; this.enabled = false; break; case TutorialEvent.PLAY_RECORDING: string test = "Recordings/" + points[index].recordingName; TextAsset ta = (TextAsset)Resources.Load(test); Stream s = new MemoryStream(ta.bytes); BinaryReader br = new BinaryReader(s); GameRecorder.StartPlaybackTutorial(Recording.Read(br)); break; case TutorialEvent.RESET_PLAYER: GameRecorder.StopPlayback(); GameObject.Find("Player").BroadcastMessage("Reload"); break; } }
public void AddTest03() { //Arrange GameRecorder = GameRecorder.GetInstance; //Act //Assert Assert.Throws <ArgumentNullException>(() => { GameRecorder.Add(null); }); }
public void AddTest05() { //Arrange Game[] games = new Game[] { }; GameRecorder = GameRecorder.GetInstance; //Act //Assert Assert.Throws <ArgumentException>(() => { GameRecorder.Add(games); }); }
public void SetRecorder(GameRecorder recorder) { replay = new GameReplay(recorder); DisplayGame(replay.Game); //Set the color of all buttons to neutral foreach (var button in allPoints) { button.Background = colorBrushMap[Game.HostId]; } }
public void GetTimesTest09() { //Arrange Game[] games = new Game[] { testGame01, testGame01 }; GameRecorder = GameRecorder.GetInstance; GameRecorder.Add(games); //Act //Assert Assert.Throws <ArgumentException>(() => { GameRecorder.GetTimes(testPerson01, testPerson01); }); }
void Start() { recordingsDir = Application.persistentDataPath + Recording.dir + "/"; GameRecorder.Reset(); playRecording = false; recordingNames = new List <string>(); fullFilenames = new List <string>(); recordingDates = new List <string>(); StartCoroutine("LoadRecordings"); #if FALSE const bool dostuff = false; if (dostuff) { // Load all recordings and export scores StreamWriter all = new StreamWriter("D:\\Dropbox\\Pillowdrift\\Testing\\won.txt"); all.WriteLine("Level name\tWon\tTotal"); foreach (string dir in Directory.GetDirectories(recordingsDir)) { string levelname = Path.GetFileNameWithoutExtension(dir); int won = 0; int total = 0; StreamWriter stream = new StreamWriter("D:\\Dropbox\\Pillowdrift\\Testing\\Scores\\" + levelname + ".txt"); stream.WriteLine("Score\tSpeed\tTime"); foreach (string file in Directory.GetFiles(dir)) { Recording rec = Recording.Read(file); // If a win if (rec.score.time > 0) { stream.WriteLine(rec.score.score.ToString() + "\t" + rec.score.speed.ToString() + "\t" + rec.score.time.ToString()); won++; } total++; } all.WriteLine(levelname + "\t" + won.ToString() + "\t" + total.ToString()); stream.Close(); } all.Close(); } #endif }
public void ButtonPressed() { if (pressed) { return; } GameRecorder.Reset(); JukeBox.DontChangeMusic = true; LoadALevel(level); pressed = true; }
public void AddTest02() { //Arrange Game[] games = new Game[] { testGame01, testGame01, testGame01, testGame01 }; GameRecorder = GameRecorder.GetInstance; //Act GameRecorder.Add(games); int expected = 4; int actual = GameRecorder.GetTimes(testPerson01, testPerson02); //Assert Assert.Equal(expected, actual); }
public void GetTimesTest04() { //Arrange Game[] games = new Game[] { testGame01, testGame01, testGame02 }; GameRecorder = GameRecorder.GetInstance; GameRecorder.Add(games); //Act int actualCount = GameRecorder.GetTimes(testPerson02, testPerson03); int expectedCount = 0; //Assert Assert.Equal(expectedCount, actualCount); }
public void Start() { tutorialCamera = FindObjectOfType <TutorialCamera>(); MainGUI = GameObject.Find("MainGUI").GetComponent <Animator>(); if (TutorialCamera.Enabled()) { enabled = false; return; } else { enabled = true; initialCameraPosition = transform.position; initialCameraRotation = transform.rotation; AmbientNoise.Play(); PauseButton.paused = false; player = GameObject.Find("Player"); grapplingHook = player.GetComponent <GrapplingHook>(); playerMovements = player.GetComponent <PlayerMovements>(); //ControlManager.Disabled = true; if (!GameRecorder.playingBack) { GameRecorder.StopPlayback(); if (LevelSelectGUI.currentLevel != null) { GUIController.ShowText("LevelName", LevelSelectGUI.currentLevel.name); } #if UNITY_ANDROID || UNITY_IPHONE GUIController.ShowText("Text", "Tap to begin"); #else //GUIController.ShowText("Text", "Click to begin"); //tutorialCamera.ShowTutorialText("Click to begin", false); StartCoroutine(ShowStartText()); #endif GUIController.GUILevelPause(); GUIController.HideText("Paused"); } EnableCameraController(); } }
public void ButtonPressed() { if (GameRecorder.playingBack) { GameRecorder.Restart(); } else { GameRecorder.Reset(); Time.timeScale = 1.0f; LevelStart.started = false; Loading.Load(Application.loadedLevelName); GameRecorder.StopPlayback(); ControlManager.Disabled = false; } }
private readonly Vector3 offset = Vector3.zero; // new Vector3(0.0f, -0.05f, -0.39f); void Awake() { instance = this; grappleScript = GetComponent <GrapplingHook>(); if (enableLine && lineRenderer == null) { GameObject obj = new GameObject("Trail renderer"); linePoints = new Queue <Vector3>(); lineRenderer = obj.AddComponent <LineRenderer>(); lineRenderer.material = lineMaterial; lineRenderer.SetColors(Color.clear, lineColour); points = 1; lineRenderer.SetVertexCount(points); lineRenderer.SetWidth(0.6f, 1.2f); lineRenderer.enabled = true; } }
IEnumerator PauseBeforeReset() { float time = 0.0f; while (time < RESET_TIME && !Input.GetMouseButtonDown(0)) { time += Time.deltaTime; yield return(null); } // Stop the recording, and also the line it generates GameRecorder.StopRecording(); // Reset player player.BroadcastMessage("Reload"); player.GetComponent <Renderer>().enabled = true; // Lerp camera back to start transform Camera.main.SendMessage("LerpToStartPos"); }
public void Skip() { GameRecorder.StopPlayback(); GameObject.Find("Player").SendMessage("Reload"); HideTutorial(); //StartCoroutine(MainMenuController.PlayAnimation(animation, "ShowTutorial", true, () => { })); // Disable buttons lastButton.interactable = false; nextButton.interactable = false; skipButton.interactable = false; // Load final point EndPoint(); if (index < points.Count) { Tutorial.HideText(points[index].textName); } }
void Update() { if (currentRecording != selGridInt) { currentRecording = selGridInt; if (selGridInt < fullFilenames.Count) { current = Recording.Read(fullFilenames[selGridInt]); } else { current = null; } } if (playRecording && current != null) { // Play back recording playRecording = false; GameRecorder.StartPlaybackFromMenu(current); } }
internal void SetSeedAndStart(int randomSeed) { seeded = randomSeed; if (isRecording) { recorder = new GameRecorder(randomSeed); } dice = new SeededRandom(randomSeed); SetupPieceArray(); currentPiece = MakeAPiece(); currentPiece.transform.parent = this.transform; UpdateCurrentPieceTransform(); nextPiece = MakeAPiece(); nextPiece.transform.parent = nextPieceHolder; nextPiece.transform.localPosition = Vector3.zero; SetGridCellTypeStateAndAttendentVFX(); if (isPlayerOne) { string dataPath; dataPath = Path.Combine(Application.persistentDataPath, MissionManager.instance.player1CharacterSheetPath); if (!File.Exists(dataPath)) { player.SaveCharacterToDisk(MissionManager.instance.player1CharacterSheetPath); } player.SetCharacterSheet(MissionManager.instance.player1CharacterSheetPath); } }
public static void InstanceHandle <T>() where T : IGameRecordData { GameRecorder recorder = new GameRecorder(); if (recorder.InstanceHandle <T>()) { thread = !IsRecovering ? new RecordLogThread(recorder) : new RecordLogThread(null); if (!IsRecovering) { if (typeof(T) == typeof(GameRecordDataPvp)) { FightStatistic.AddPvpFightTimes(); } else { FightStatistic.AddPveFightTimes(); } } } else { thread = null; } }
IEnumerator FinishLevel() { Debug.Log("Level finished!"); // Wait time between stars unless tapped to skip const bool playting = true; const bool playfail = false; // Which stars are unlocked bool scoreStar = false; bool timeStar = false; Debug.Log("Updating next level"); hasFinished = true; // Calculate scores Debug.Log("Calculating scores"); score = new Save.LevelHighScore(); if (!GameRecorder.playingBack) { score.Score = ScoreCalculator.finalScore; score.Speed = ScoreCalculator.finalSpeed; score.Time = ScoreCalculator.finalTime; } else { score.Score = GameRecorder.current.score.score; score.Speed = GameRecorder.current.score.speed; score.Time = GameRecorder.current.score.time; } // Save recording Debug.Log("Save recording!"); if (!GameRecorder.playingBack) { savedRecording = true; GameRecorder.StopRecording(); //Recording rec = GameRecorder.Save(true, false); // Upload score to online thing if (!GameRecorder.playingBack) { //HighScores.PostScore(LevelSelectGUI.currentLevel, rec); } // Disable buttons so user doesn't disrupt score uploading GUIController.DisableButtons(); } // Check which stars have been earnt Debug.Log("Checking speed star!"); scoreStar = SaveManager.HasSurpassedSpeed(score, LevelSelectGUI.currentLevel); timeStar = SaveManager.HasSurpassedTime(score, LevelSelectGUI.currentLevel); // Check rewards int passedReward = 500; int noPowerupsReward = 500; int scoreReward = scoreStar ? 500 : 0; int timeReward = timeStar ? 500 : 0; // Get picolinium counter and set target to current value so we can manually increment it var picoliniumCounter = GameObject.Find("Game End/Content/Picolinium/Value/Content/Text")?.GetComponent <PicoliniumCounter>(); picoliniumCounter.Target = SaveManager.save?.picolinium ?? 0; if (SaveManager.save != null) { SaveManager.save.levelCompletions++; SaveManager.save.IncrementPicolinium(passedReward + noPowerupsReward + scoreReward + timeReward); } // Update save // Don't save if we are replaying a recording. if (!GameRecorder.playingBack) { if (LevelSelectGUI.currentLevel != null) { SaveManager.Beaten(LevelSelectGUI.currentLevel); SaveManager.UpdateScore(LevelSelectGUI.currentLevel); SaveManager.Write(); } } // Let the camera pan back a bit tapped = false; yield return(WaitButAllowSkip(START_WAIT_TIME)); // Show the gui // Do everything important before this because they can exit the level or reset after this GameObject.Find("Game End").BroadcastMessage("Reset"); GameObject.Find("MainGUI").GetComponent <Animator>().Play("EndLevel"); tapped = false; yield return(new WaitForSeconds(0.5f)); string formattedTime = ReadableTime((int)(score.Time * 1000.0f)); // Get reward text template var bonusTemplate = GameObject.Find("RewardText"); SoundManager.Play("ting"); picoliniumCounter.Target += passedReward; // Show level time var levelTime = GameObject.Find("LevelTime/Text").GetComponent <TextRevealer>(); levelTime.Text = $"{formattedTime}"; levelTime.Run = true; levelTime.Counter = 0.0f; TextFadeout newBonusText; if (!tapped) { newBonusText = GameObject.Instantiate(bonusTemplate, bonusTemplate.transform.parent).GetComponent <TextFadeout>(); newBonusText.Text = "Level complete!"; newBonusText.Go = true; } yield return(WaitButAllowSkip(WAIT_TIME)); // Show powerups bonus if (noPowerupsReward > 0) { picoliniumCounter.Target += noPowerupsReward; if (!tapped) { newBonusText = GameObject.Instantiate(bonusTemplate, bonusTemplate.transform.parent).GetComponent <TextFadeout>(); newBonusText.Text = "No powerups"; newBonusText.Go = true; SoundManager.Play("ting"); } yield return(WaitButAllowSkip(WAIT_TIME)); } // Show time bonus if (timeReward > 0) { picoliniumCounter.Target += timeReward; if (!tapped) { SoundManager.Play("ting"); newBonusText = GameObject.Instantiate(bonusTemplate, bonusTemplate.transform.parent).GetComponent <TextFadeout>(); newBonusText.Text = "Super fast time!"; newBonusText.Go = true; } yield return(WaitButAllowSkip(WAIT_TIME)); } // Show speed bonus if (scoreReward > 0) { picoliniumCounter.Target += scoreReward; if (!tapped) { SoundManager.Play("ting"); newBonusText = GameObject.Instantiate(bonusTemplate, bonusTemplate.transform.parent).GetComponent <TextFadeout>(); newBonusText.Text = "Super fast speed!"; newBonusText.Go = true; } yield return(WaitButAllowSkip(WAIT_TIME)); } // End player.SendMessage("StopCounting"); player.SendMessage("EndMining"); //GameObject.Find("Game End/Content/Story/Text").GetComponent<TextRevealer>().Run = true; GameObject.Find("MainGUI").GetComponent <Animator>().Play("ExpandEndLevel"); if (!uploading) { GUIController.EndLevel(true); } endingDone = true; }
void Update() { if (!TutorialCamera.Enabled() && !LevelState.Dead) { if (!grapplingHook.enabled) { grapplingHook.Update(); } // Handle back button if (Input.GetKeyDown(KeyCode.Escape) || Input.GetButtonDown("SkipTutorial")) { GameObject pauseButton = GameObject.Find("Pause"); if (pauseButton != null) { pauseButton.SendMessage("ButtonPressed", SendMessageOptions.DontRequireReceiver); } } if (!started && !GameRecorder.playingBack) { // if (enablePreviews && useStaticPreviews && !GameRecorder.playingBack) // { // // Handle previews // timePassed += Time.deltaTime; // if (timePassed >= previewTime) // { // timePassed = 0.0f; // NextPreview(); // } // } // Start level if player tapped last frame or if reload is disabled if (start || (!reload && !started && (InputManager.pressed || InputManager.released) && !ControlManager.MouseOnGUI && !GameRecorder.playingBack)) { if (!reload) { Debug.Log("Reloading"); foreach (GameObject gameObject in GameObject.FindObjectsOfType(typeof(GameObject))) { Debug.Log(gameObject.name); gameObject.BroadcastMessage("Reload", SendMessageOptions.DontRequireReceiver); } //persistClick = true; //clickpos = InputManager.currentPosition; } playerMovements.GetComponent <Rigidbody>().constraints = RigidbodyConstraints.FreezeRotation; // Apply initial velocity playerMovements.Go(); // Set state start = false; started = true; // Reset camera transform.position = initialCameraPosition; transform.rotation = initialCameraRotation; // Enable camera controller EnableCameraController(); // Initialise systems GameRecorder.playingBack = false; GameRecorder.StartRecording(); GUIController.HideText("Text"); tutorialCamera.HideTutorial(); GUIController.GUILevelPlay(); GUIController.LevelStarted = true; ControlManager.Disabled = false; ScoreCalculator.Reset(); Debug.Log("Playing start level"); MainGUI.Play("StartLevel"); // Try to grapple if (persistClick) { persistClick = false; InputManager.currentPosition = clickpos; grapplingHook.TryGrapple(InputManager.currentPosition); } } else if (!LevelState.Dead) { playerMovements.GetComponent <Rigidbody>().constraints = RigidbodyConstraints.FreezeAll; } // Reload and start level if reload is enabled if (reload && !started && InputManager.pressed && !ControlManager.MouseOnGUI && !GameRecorder.playingBack) { start = true; persistClick = true; clickpos = InputManager.currentPosition; PauseButton.paused = false; Application.LoadLevel(Application.loadedLevelName); InputManager.pressed = true; InputManager.released = true; } } } }
// Draw the highscores. void OnGUI() { if (LevelSelectGUI.menuState != LevelSelectGUI.MenuState.LEVEL_SELECT) { enable = false; } if (!enable) { GUIController.HideText("ScoreTypeName"); return; } // Set skin and store old skin GUISkin oldSkin = GUI.skin; GUI.skin = Screen.width > 1500 ? biggerSkin : guiSkin; // Find out whether or not a planet is selected if (LevelSelectGUI.currentPlanet == null || !enable) { return; } // Calculate the how large things need to be. float labelPosX = Screen.width / 20; float labelPosY = Screen.height / 20; float labelWidth = Screen.width - (Screen.width / 10); float labelHeight = (Screen.height / 12); float buttonX = labelPosX; float buttonY = labelPosY; float buttonWidth = (Screen.width / 6); float buttonHeight = labelHeight; float buttonScoreTypeX = labelPosX + buttonWidth; float buttonScoreTypeY = buttonY; float scrollPosX = labelPosX; float scrollPosY = buttonY + buttonHeight; float scrollWidth = labelWidth; float scrollHeight = (Screen.height / 2.0f); float playButtonX = scrollPosX; float playButtonY = scrollPosY + scrollHeight + 5; float playButtonWidth = scrollWidth; float playButtonHeight = scrollHeight / 4; // Update the mouse position if (InputManager.currentPosition.x > labelPosX && InputManager.currentPosition.y > (Screen.height - (playButtonY + playButtonHeight))) { if (InputManager.held) { if ((lastMousePos - InputManager.currentPosition).y < 10.0f) { scrolled.y -= (lastMousePos - InputManager.currentPosition).y; } } } lastMousePos = InputManager.currentPosition; // Draw a texture at the back GUI.DrawTexture(new Rect(labelPosX, labelHeight + labelPosY, playButtonX + playButtonWidth - (Screen.width / 20), playButtonY + playButtonHeight - labelHeight - buttonY), BG); // Draw a label at the top of the menu. string label = (locality == Locality.Internet ? "Internet" : "Local") + " " + (scoreType == HighScores.ScoreType.Speed ? "Top Scores" : "Fastest Times"); GUIController.ShowText("ScoreTypeName", label); // Draw the play replay button if (GUI.Button(new Rect(playButtonX, playButtonY, playButtonWidth, playButtonHeight), "Play Replay")) { LevelSelectGUI.worldToShow = LevelSelectGUI.currentWorld; LevelSelectGUI.levelToShow = LevelSelectGUI.currentLevel.number; if (locality == Locality.Local && selectedIndex < recordings.Count) { GameRecorder.StartPlaybackFromMenu(recordings[selectedIndex]); } else { // Grab the recording from the net. if (scores != null) { Networking.GetRecording(LoadRecordingFromInternet, scores[selectedIndex].id); } } if (selectedIndex < recordings.Count) { GameRecorder.StartPlaybackFromMenu(recordings[selectedIndex]); } } // Draw the button to switch from local to internet // and vice versa. string buttonText = ""; switch (locality) { case Locality.Local: buttonText = "Internet Scores"; break; case Locality.Internet: buttonText = "Local Scores"; break; default: buttonText = "Wut"; break; } if (Options.Networking) { if (GUI.Button(new Rect(buttonX, buttonY, buttonWidth, buttonHeight), buttonText)) { if (locality == Locality.Local) { locality = Locality.Internet; } else { locality = Locality.Local; } // Refresh the scores LoadReplays(); } } // Button to switch score type. string scoreTypeText = ""; switch (scoreType) { case HighScores.ScoreType.Speed: scoreTypeText = "View Fastest Times"; break; case HighScores.ScoreType.Time: scoreTypeText = "View Highest Scores"; break; default: scoreTypeText = "Wut"; break; } if (GUI.Button(new Rect(buttonScoreTypeX, buttonScoreTypeY, buttonWidth, buttonHeight), scoreTypeText)) { if (scoreType == HighScores.ScoreType.Speed) { scoreType = HighScores.ScoreType.Time; } else { scoreType = HighScores.ScoreType.Speed; } // Refresh the scores LoadReplays(); } // The scrolling menu stuff GUILayout.BeginArea(new Rect(scrollPosX, scrollPosY, scrollWidth, scrollHeight)); scrolled = GUILayout.BeginScrollView(scrolled); if (names != null) { selectedIndex = GUILayout.SelectionGrid(selectedIndex, names, 1); } GUILayout.EndScrollView(); GUILayout.EndArea(); // Restore old skin GUI.skin = oldSkin; }
/// <summary> /// コンストラクタでテストの準備をする /// </summary> public FewMatchPriorityGeneratorTest() { gameRecorder = GameRecorder.GetInstance; fewMatchPriorityGenerator = new FewMatchPriorityGenerator(); Gender men = new Gender { GenderNum = 1 }; Gender women = new Gender { GenderNum = 0 }; Level beginner = new Level { LevelNum = 0 }; Level intermediate = new Level { LevelNum = 1 }; Level advanced = new Level { LevelNum = 2 }; testPerson01 = new Person { ID = "test01", Name = "snoopy", Gender = men, Level = advanced, DeleteFlag = false, AttendFlag = true }; testPerson02 = new Person { ID = "test02", Name = "bell", Gender = women, Level = beginner, DeleteFlag = false, AttendFlag = true }; testPerson03 = new Person { ID = "test03", Name = "andy", Gender = men, Level = intermediate, DeleteFlag = false, AttendFlag = true }; testPerson04 = new Person { ID = "test04", Name = "marbles", Gender = men, Level = advanced, DeleteFlag = false, AttendFlag = true }; testPerson05 = new Person { ID = "test05", Name = "woodstock", Gender = men, Level = beginner, DeleteFlag = false, AttendFlag = true }; testPerson06 = new Person { ID = "test06", Name = "harriet", Gender = women, Level = intermediate, DeleteFlag = false, AttendFlag = true }; //Gameの準備 Court court = new Court { CourtName = "テストコート", AccommodateNumber = 2 }; Person[] players1 = { testPerson01 }; Person[] players2 = { testPerson02 }; Person[] players3 = { testPerson03 }; Person[] players4 = { testPerson04 }; Person[] players5 = { testPerson05 }; Person[] players6 = { testPerson06 }; testGame01 = new Game(court, players1, players2); testGame02 = new Game(court, players1, players3); testGame03 = new Game(court, players1, players4); testGame04 = new Game(court, players1, players5); testGame05 = new Game(court, players1, players6); testGame06 = new Game(court, players2, players3); testGame07 = new Game(court, players2, players3); testGame08 = new Game(court, players2, players4); testGame09 = new Game(court, players3, players4); }
void Awake() { instance = this; grappleScript = GetComponent<GrapplingHook>(); if (enableLine && lineRenderer == null) { GameObject obj = new GameObject("Trail renderer"); linePoints = new Queue<Vector3>(); lineRenderer = obj.AddComponent<LineRenderer>(); lineRenderer.material.shader = Shader.Find("Particles/Additive"); lineRenderer.SetColors(Color.clear, lineColour); points = 1; lineRenderer.SetVertexCount(points); lineRenderer.SetWidth(0.3f, 0.3f); lineRenderer.enabled = true; } }
void LoadRecordingFromInternet(Recording recording) { GameRecorder.StartPlaybackFromMenu(recording); }
/// <summary> /// コンストラクタでテスト用データの作成 /// </summary> public RandomByGenderGeneratorTest() { gameRecorder = GameRecorder.GetInstance; randomByGenderGenerator = new RandomByGenderGenerator(); Gender men = new Gender { GenderNum = 1 }; Gender women = new Gender { GenderNum = 0 }; Level beginner = new Level { LevelNum = 0 }; Level intermediate = new Level { LevelNum = 1 }; Level advanced = new Level { LevelNum = 2 }; testPerson01 = new Person { ID = "test01", Name = "snoopy", Gender = men, Level = advanced, DeleteFlag = false, AttendFlag = true }; testPerson02 = new Person { ID = "test02", Name = "bell", Gender = women, Level = beginner, DeleteFlag = false, AttendFlag = true }; testPerson03 = new Person { ID = "test03", Name = "andy", Gender = men, Level = intermediate, DeleteFlag = false, AttendFlag = true }; testPerson04 = new Person { ID = "test04", Name = "marbles", Gender = men, Level = advanced, DeleteFlag = false, AttendFlag = true }; testPerson05 = new Person { ID = "test05", Name = "woodstock", Gender = men, Level = beginner, DeleteFlag = false, AttendFlag = true }; testPerson06 = new Person { ID = "test07", Name = "harriet", Gender = women, Level = intermediate, DeleteFlag = false, AttendFlag = true }; }
void KillPlayer(GameObject player) { if (TutorialCamera.Enabled()) { GameRecorder.StopPlayback(); if (explode) { player.SendMessage("Explode"); SoundManager.Play("crash"); player.SendMessage("Reload"); IncrementCrashCount(true); } return; } if (!LevelState.Dead) { MainGUI.Play("RestartLevel"); // Disable text GUIController.DisableTexts(); // Update drone count if (SaveManager.save != null) { if (explode) { IncrementCrashCount(false); } SaveManager.save.droneCount++; SaveManager.Write(); // Display drone coun if (false) { GameObject thingy = Tutorial.ShowText("DroneText", "Drones lost: " + SaveManager.save.droneCount, 0, TextAlignment.Center, TextAnchor.MiddleCenter, 0.5f, 0.5f); Mover mover = thingy.AddComponent <Mover>(); mover.direction = Vector3.up; mover.speed = 0.2f; TextFader fader = thingy.AddComponent <TextFader>(); fader.fadeRate = 1.0f; fader.FadeOut(); } } // Update level state GUIController.LevelStarted = false; LevelStart.started = false; LevelState.Dead = true; if (explode) { // Create explosion effect player.SendMessage("Explode"); // Crash sound SoundManager.Play("crash"); // Disable renderers if exploding player.GetComponent <Renderer>().enabled = false; player.transform.Find("Shield").GetComponent <Renderer>().enabled = false; } // Disable default camera controller until level restarts ThirdPersonCamera cameraController = Camera.main.GetComponent <ThirdPersonCamera>(); if (cameraController != null) { cameraController.enabled = false; } // Detach grappling hook so we don't keep swinging grapplingHook.Detach(); // I don't really remember why ControlManager.DisabledFrame = true; // Pause and then restart the level StartCoroutine(PauseBeforeReset()); } }
public IEnumerator _PostToServer(string rFileName) { while (!IsFileSaveComplete(rFileName + ".log")) { yield return(0); } var account = Module_Login.instance?.account; WWWForm postForm = new WWWForm(); var playerName = string.Empty; if (Module_Player.instance != null) { playerName = Module_Player.instance.roleInfo.roleId.ToString(); } var path = gameLogger.GetFullPath(rFileName); var contents = Util.LoadFile(path); if (contents != null && contents.Length > 0) { postForm.AddBinaryData("logFile", contents, $"{rFileName }_{playerName}.log"); } var request = UnityWebRequest.Post(WebAPI.FullApiUrl(WebAPI.RES_FIGHT_DATA), postForm); request.SetRequestHeader("Content-Type", postForm.headers["Content-Type"]); request.SetRequestHeader("Authorization", BasicAuth(account?.acc_name ?? "null", "123456")); request.SetRequestHeader("X-Game-Identity", $"kzwg/{rFileName}"); request.timeout = 5; yield return(request.SendWebRequest()); if (request.isNetworkError) { Logger.LogWarning($"日志文件上传失败:{request.url}"); yield break; } Logger.LogWarning($"日志文件上传成功:{WebAPI.FullApiUrl(WebAPI.RES_FIGHT_DATA)} 数据大小:{contents.Length}"); request.Dispose(); while (!IsFileSaveComplete(rFileName + ".gr")) { yield return(0); } postForm = new WWWForm(); path = GameRecorder.GetFullPath(rFileName); contents = Util.LoadFile(path); if (contents != null && contents.Length > 0) { postForm.AddBinaryData("grFile", contents, $"{rFileName }_{playerName}.gr"); } request = UnityWebRequest.Post(WebAPI.FullApiUrl(WebAPI.RES_FIGHT_DATA), postForm); request.SetRequestHeader("Content-Type", postForm.headers["Content-Type"]); request.SetRequestHeader("Authorization", BasicAuth(account?.acc_name ?? "null", "123456")); request.SetRequestHeader("X-Game-Identity", $"kzwg/{rFileName}"); request.timeout = 5; yield return(request.SendWebRequest()); if (request.isNetworkError) { Logger.LogWarning($"录像文件上传失败:{request.url}"); yield break; } Logger.LogWarning($"录像文件上传成功:{WebAPI.FullApiUrl(WebAPI.RES_FIGHT_DATA)} 数据大小:{contents.Length}"); request.Dispose(); }
public RecordLogThread(GameRecorder rGameRecorder) { gameRecorder = rGameRecorder; Util.GetDataPath(); Util.GetExternalDataPath(); }