public void GoToMapScreen(SaveFile Current) { SoundLoader.Play("sb-type.wav", false).volume = .5f; SaveFileManager.SetCurrentSaveFile(Current); Current.FullLoad(); SceneManager.LoadScene("MapScreen"); }
// Start is called before the first frame update void Start() { GameInitialization.Initialize(); scrollRegion = GetComponent <ScrollRect>(); var bhav = GameObject.Find("EventSystem").GetComponent <MainMenuBehavior>(); sampleButton = scrollRegion.content.transform.GetChild(0).gameObject.GetComponent <Button>(); ButtonStyler.Style(sampleButton); playerNameField = transform.parent.transform.GetChild(4).gameObject; var saveFiles = StinkyFile.Save.SaveFile.GetAllSaves(); int lastHeight = 0; foreach (var save in saveFiles) { if (save.SaveFileInfo.IsBackup) { continue; } MakeButton(save.SaveFileInfo.PlayerName, ref lastHeight, delegate { saveFileMode = false; playerNameField.SetActive(false); if (save == selected) { bhav.GoToMapScreen(save); } else { SoundLoader.Play("sb-type.wav", false).volume = .5f; selected = save; save.FullLoad(); SaveFileInfoPopulate.PopulateInfo(save); } }); } var createButton = MakeButton("Create New Save File", ref lastHeight, delegate { #if false if (!saveFileMode) { SaveFileInfoPopulate.PopulateInfo(null); playerNameField.SetActive(true); createButton.transform.GetChild(0).GetComponent <Text>().text = "OK"; return; } var text = playerNameField.transform.GetChild(1).GetChild(1).GetComponent <Text>(); #endif var name = DateTime.Today.ToShortDateString(); var save = new SaveFile(name); bhav.GoToMapScreen(save); }); MakeButton("Go Back", ref lastHeight, delegate { bhav.CloseSaveSelect(); }); (scrollRegion.content.transform as RectTransform).SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, lastHeight); }
// Update is called once per frame void Update() { if (MovementScript == null) { return; } if (!MovementScript.IsMoving && CanMove) { bool blockMotion = false; switch (Direction) { case StinkyFile.SRotation.NORTH: blockMotion = !MovementScript.WalkToTile(MovementScript.TileX, MovementScript.TileY - 1); break; case StinkyFile.SRotation.SOUTH: blockMotion = !MovementScript.WalkToTile(MovementScript.TileX, MovementScript.TileY + 1); break; case StinkyFile.SRotation.EAST: blockMotion = !MovementScript.WalkToTile(MovementScript.TileX + 1, MovementScript.TileY); break; case StinkyFile.SRotation.WEST: blockMotion = !MovementScript.WalkToTile(MovementScript.TileX - 1, MovementScript.TileY); break; } if (blockMotion) { IsDestoryed = true; CanMove = false; GetComponent <Renderer>().enabled = false; // make invisible } } if (timeSinceDestroyed > timeUntilDelete) { Destroy(gameObject); } else if (IsDestoryed) { if (!effectPlayed) { particleSystem?.Play(); SoundLoader.Play("teleport.wav", true); effectPlayed = true; } timeSinceDestroyed += Time.deltaTime; } }
bool TryMove(TileMovingObjectScript TileObject, StinkyFile.SRotation Direction) { bool motionResult = TileObject.MoveInDirection(Direction, 1, 7); if (motionResult) { soundEffects.Play(0); var rotator = TileObject.GetComponentInChildren <AngleRotator>(); if (rotator != null) { rotator.Rotate(Direction); } } return(motionResult); }
public static void KillAllPlayers() { var targetPlayer = GameObject.Find("Spongebob"); if (targetPlayer != null) { var animator = targetPlayer.GetComponentInChildren <Animator>(); animator.enabled = true; animator.Play("Die"); } targetPlayer = GameObject.Find("Patrick"); if (targetPlayer != null) { var animator = targetPlayer.GetComponentInChildren <Animator>(); animator.enabled = true; animator.Play("Die"); } SoundLoader.Play("sb-death.wav", true); dying = true; }
void PlayerEnteredTile(TileMovingObjectScript TileObject) { if (TileObject.SpecialObjectIgnore) { return; } var rotator = TileObject.GetComponentInChildren <AngleRotator>(); bool motionResult = false; float motionspeed = 7f; switch (BlockComponent.DataBlock.Rotation) { case StinkyFile.SRotation.NORTH: motionResult = TileObject.WalkToTile(TileObject.TileX, TileObject.TileY - 1, motionspeed); break; case StinkyFile.SRotation.SOUTH: motionResult = TileObject.WalkToTile(TileObject.TileX, TileObject.TileY + 1, motionspeed); break; case StinkyFile.SRotation.WEST: motionResult = TileObject.WalkToTile(TileObject.TileX - 1, TileObject.TileY, motionspeed); break; case StinkyFile.SRotation.EAST: motionResult = TileObject.WalkToTile(TileObject.TileX + 1, TileObject.TileY, motionspeed); break; } soundEffects.Play(0); if (!motionResult && TileObject.TryGetComponent <Player>(out _)) { Player.KillAllPlayers(); return; } if (rotator != null) { rotator.Rotate(BlockComponent.DataBlock.Rotation); } }
// Update is called once per frame void Update() { if (dying) { float deathTime = 2.5f; dyingTimer += Time.deltaTime; if (dyingTimer >= deathTime) { LevelObjectManager.ReloadLevel(); // reset the level dying = false; dyingTimer = 0f; } return; // prevent player control when dying. } _ = TileMoveScript; // force update of component PlayerEnum updatingPlayer = PlayerName == "spongebob" ? PlayerEnum.SPONGEBOB : PlayerEnum.PATRICK; bool currentPlayer = (PlayerName == "spongebob" && CurrentPlayer == PlayerEnum.SPONGEBOB) || (PlayerName == "patrick" && CurrentPlayer == PlayerEnum.PATRICK); if (updatingPlayer == swappingPlayer && playerSwapping) // this frame is the update frame after swapping { playerSwapping = false; } if (currentPlayer) { Current = this; if (!IsMoving) { if (Input.GetKey(KeyCode.W)) // forward { WalkToTile(TileX, TileY - 1); rotator.Rotate(SRotation.NORTH); } else if (Input.GetKey(KeyCode.S)) // backward { WalkToTile(TileX, TileY + 1); rotator.Rotate(SRotation.SOUTH); } else if (Input.GetKey(KeyCode.A)) // left { WalkToTile(TileX - 1, TileY); rotator.Rotate(SRotation.WEST); } else if (Input.GetKey(KeyCode.D)) // right { WalkToTile(TileX + 1, TileY); rotator.Rotate(SRotation.EAST); } if (Input.GetKeyDown(KeyCode.Q)) { TileMoveScript.NoClip = !TileMoveScript.NoClip; // no clip toggle } if (Input.GetKeyDown(KeyCode.K)) { KillAllPlayers(); // kill me now } } if (Input.GetKeyDown(KeyCode.Space) && !playerSwapping) { swappingPlayer = CurrentPlayer; switch (CurrentPlayer) // switch current player { case PlayerEnum.SPONGEBOB: CurrentPlayer = PlayerEnum.PATRICK; // patrick break; case PlayerEnum.PATRICK: CurrentPlayer = PlayerEnum.SPONGEBOB; // spongebob break; } SoundLoader.Play("teleport.wav", false); playerSwapping = true; } } }
public void Destroy() { soundEffects.Play(0); Destroy(gameObject); }
public void OpenSaveSelect() { SoundLoader.Play("sb-type.wav", false).volume = .5f; GameObject.Find("Canvas").transform.GetChild(1).gameObject.SetActive(true); }
void OnLevelLoaded() { SoundLoader.Play("sb-enter.wav", true); // play level open chime GameObject.Find("GameCamera").GetComponent <Animator>().Play("Level Open"); screenBlocker.SetActive(false); }