Compare commits

..

No commits in common. "main" and "21ga1114.0" have entirely different histories.

159 changed files with 962 additions and 35007 deletions

130
Devlog.md
View File

@ -1,95 +1,79 @@
# Devlogs
## 1/10/2022 (22ga0110.0)
## 11/14/2021 (21ga1114.0)
Hey everyone! Happy 2022!
Hey everyone! EMD is pretty much done!
### 0.
Ok, so I know it has been a really long time since the last devlog, and I'm sorry about that. I had a bunch of fun with the family, and just wanted to chill out for a few weeks. I've also been working a bit on Brigade Laboratories, though I got a bit stuck now that I'm at a bit of a trickier part. Teaser coming soon, though I don't know when. But, when I started, I got a bit done.
So I haven't done a bunch this week, but next week I bet I'll get a ton done, because I've started a new minigame, called Rocket Mayhem! RM is a bullet-hell game, and you can see more details on the [trello](https://trello.com/c/Ygtg6AYm/5-rocket-mayhem). Anyways, here's what I've got.
### 1.
I started by finally fixing that glitch about methods not being found. Turns out it was just because the methods weren't public. Oops. While I was there, I cleaned everything up, like making the text box for the game scene bigger, making the `WriteText()` method slower, etc. If a scene option is selected that doesn't have a method, it will default to move onto the next scene. I then began some of the storyline of the game. Don't panic, I'm not hiding the storyline for a reason. It isn't going to be deep by any means, and might not even be a storyline by some standards, so feel free to spoil it. Maybe don't do it though if you want the challenge of solving it for the first time, so you should wait for when it's done. But, you don't have to.
So I finally got enough knowledge of Unity's particle system to use it to make clouds. It isn't amazing, and I wish I could include bunches, but oh well, good enough (for now at least, who knows). I also started a bit on the sound effects of the game. I will end up working on music eventually, but it isn't a task I want to work on right now, so I'll probably do it towards the end of development. But I do have some sound effects for the game, and they work well. I learned how to use animation triggers, which are way better of a solution than my old solution, which was to toggle a variable in a script. Lmao, that one isn't nearly as neat and tidy as this one.
### 2.
I then moved on to Rocket Mayhem, and fixed a bunch of stuff there. I started by making an actual texture for the seeking rocket, removed an unneccesary parameter, and replaced and added more. Any rocket now has 2 states, an "active" one that is triggered on start and lasts a given number of seconds, then it switches to the "idle" state, which in the case of the seeking rocket, makes it simply fly off-screen. The rockets also now spawn pointing directly at the player. I then completely changed the rocket spawner mechanism, because I didn't love how it was using constant points along a rectangle that is supposed to spawn around the camera's bounds, but only does it for the 16-9 ratio. So, I went and reworked it, and with it I made some extra code that finds a point X percent along a rectangle. It could probably be optimized, but I'm kind of proud of it, because it is one of the times I've actually had to think hard about a mathematical problem that's actually useful in coding. There have been a few beforehand, but usually saalty did those (thanks, by the way. I don't like raytracing physics). The code for that percent along rectangle stuff can be found in `Source/Assets/Misc/Scripts/Extensions/GetPointAlongExtension.cs`. I then just made the spawner use that formula, using the camera's bounds in world-space as the rect, and generating a random decimal 0-1, and making that point the place to spawn the rockets.
I've also done a bit with post-processing. I'm not amazingly happy with it, and I'll probably come back to it once I get an idea of how exactly I want it, but it works for now. I thought I would have to use the post processing stack, but apparently HDRP already comes with post processing, so that was great. I couldn't get the stack to work anyways lmao, so at least we have this (though, I was probably just stupid and missed something obvious to get the stack to work. Oh well).
### 3.
I also worked on the collision for Rocket Mayhem. I gave everything a smaller hitbox than its actual texture, because you might have a few close calls in the game, and I think it would be better to have an overly-small hitbox than an unfair, big hitbox with false-positives. At the current size, if hitboxes collide, you definitely hit something, fair and square. I then made a few more textures, a new texture for the exploding rocket, and one for a simple rocket, that came along with its own script. The simple rocket just points in the direction of the player at spawn, and just moves in that direction. Pretty, you know, *simple*.
### 4.
Next up, another new game. I know, I'm not finishing any, but I just don't want to do some of the stuff right now, and when I feel in the mood I'll do them. This new game is a programming game, and was, I'm not gonna lie, a big reason why I made the game not require every minigame be completed. I know programming is definitely not most people's fancy in a video game, so it is completely optional that you beat it. But, for the programming die-hards like me (in some languages), this game is for you. The game will use a language that's kind of a mix of c# and python, and it isn't going to be a very complicated language either. For example, you can only declare 5 types of variables, `int`, `decimal` (just a `float` in disguise), `bool`, `string`, and `char`. Also, you can't return any information in a method. Sorry. The language will have its own interpreter, custom made by me and saalty, which is kind of the reason I don't want to make it too complex, because programming an interpreter/compiler sucks. This programming language is going to be like python in the sense that methods are all declared by one keyword, `func`, but the program doesn't need a `Main()` method to run, but like c# in the sense that everything is going to be constrained in `{}`, and things like `for` and `while` loops act in similar ways to c#. Really, I think it's a good mix of complex and easy to understand, at least to someone with a little background in programming. The game will have several different challanges that involve programming some object to do some task. I haven't though of all the challenges yet, but I am brainstorming, don't you worry.
### 5.
The game is called Hacker Magic, by the way. HM for short. I've made a basic version of the text-box used to program in so far, and I've also cooked up a syntax highlighter to go along with it, and it taught me that the syntax highligher developers are probably seriously underpaid. That sucked. But, it got done, and I like how it functions. With the debug mode switch on, like it is currently, text glitches out like mad when there is an error in the highlighter, but if the switch is off, in the case of an error, the highlighter will simply default to highlighting nothing. Better than breaking all of the code, I guess. It runs on Unity's rich text system, because I didn't want to make my own fragment shader for that, that's way out of the scope of my intentions. So, it works as is, but adding your own rich text into the code kind of breaks it. Do it at your own risk, I suppose. I asked saalty to make the interpreter, but if he isn't up for that, I'll do the making.
That's basically it with EMD. We have levels to do, and I suck at making levels, so I'm not going to do it right now. Instead, I've started on the next minigame, Rocket Mayhem. I haven't done much, but I have selected a palette to use, `mail24` (not sure why it's called that), and I've made a design for the player rocket, which will randomly be assigned a new color every time you load the scene. The rocket also moves in the direction of the mouse, when any key is pressed. It's also supposed to rotate towards the mouse position, but I don't have that one down yet. It just spins out of control right now.
### Ending.
Well, that's about it. I feel pretty productive about what I've done the last 2 weeks. I meant to post the devlog over the weekend, but I forgot. Oh well, it happens sometimes. I might not be able to do weekly devlogs anymore though, sorry. I'll try to stick to every 2 weeks, but we'll see how it goes. I won't get worse than monthly, though, don't worry. And this game isn't getting cancelled, no way. It may take me a decade (hopefully not), but I'll get this game out.
Have a good 2022, everybody!
P.S. I think I actually have the interpreter in HM currently highlighting `float` instead of `decimal`. That'll get fixed in the next devlog.
Anyways, that's about it. Since EMD is pretty much done, this will be the first alpha release. You basically only have one level, but you do get to test out the mechanics for yourself. Also, something I'm gonna want to do at some point is to lower the MSAA (Multi-Sample Anti-Aliasing) count, because right now I have it at x3, and that will definitely not run on all computers. Something to fix in the future. Anyways, that's about it! Have a good one!
### Stuff to Do:
- I have to make the arcade cabinet account for framerate like the player controller does when it angles the camera towards itself.
- Fix light flickering
- ~~Reset the HDRP default settings and make custom ones for this camera only.~~
- ~~Remodel the cabinet screen to use a well-known aspect ratio~~
- Add more details to cabinet
- Fix the camera acting weird when the player interacts with the cabinet by pressing "Space"
- Fix the RM player rocket's particle systems
- Add textures to the RM rockets.
- Add RM background (stars).
- Make the RM particle systems work.
- ~~Fix 9-5 method calling.~~
- Add an interpreter for HM
- ~~Add stone textures to EMD~~
- ~~Add an ability for the EMD hittable blocks to be hit multiple times~~
- ~~Make the EMD enemy, you know, actually work~~
- ~~Make the EMD player not be able to walk off screen~~
- ~~Make the EMD player flash into a given color instead of only between clear and red~~
- ~~Turn the EMD clouds into a particle system~~
- ~~Finish the EMD pause menu~~
- ~~Make the EMD start menu~~
- Make the RM (Rocket Mayhem) rocket not flip out when turning
- Obviously more.
### Complete Changelog
### Complete changelog:
| Date | Change |
| - | - |
| 1/1/2022 | Fixed the 9-5 method calling by making the option methods public (`Source/Assets/Minigames/The Average 9-5 Job/Scripts/SceneManager.cs`) |
| 1/1/2022 | Made `Scene0Option1()` transition back to the arcade in the scene manager |
| 1/1/2022 | Added a `CurrentSceneIndex` variable that indirectly changes the `CurrentScene` variable. |
| 1/1/2022 | Made the abstract game scene model use a big text box for the `Text` variable (`Source/Assets/Minigames/The Average 9-5 Job/Scripts/Abstract/GameScene.cs`) |
| 1/1/2022 | Modified the abstract game scene model to represent the variables in a more neat manner. |
| 1/1/2022 | Gave the abstract game scene model a new variable to depict the speed of the scene text being written. |
| 1/1/2022 | Modified the default speeds of the `WriteText()` method of the TextRenderer to be slower. (`Source/Assets/Minigames/The Average 9-5 Job/Scripts/TextRenderer.cs`) |
| 1/1/2022 | Modified the SceneManager to make new speed the old speed divided by the speed given. |
| 1/1/2022 | Added a default method for when scene options don't have their functions. |
| 1/1/2022 | Removed the method for Scene 0 Option 0, since it's purpose was already covered by the default method. |
| 1/1/2022 | Added game scenes 1 - 10 (10 is incomplete) |
| 1/1/2022 | Removed the spawner in the Rocket Mayhem testing scene and replaced it with a single seeking projectile (`Source/Assets/Minigames/Rocket Mayhem/Scenes/Testing Game.unity`) |
| 1/1/2022 | Changed the pixels per unit variable in the seeking projectile texture from 8 to 12 (`Source/Assets/Minigames/Rocket Mayhem/Textures/Projectile-Seeking.png`) |
| 1/1/2022 | Replaced the temporary seeking projectile texture with a real one |
| 1/1/2022 | Added a texture for the simple projectile (`Source/Assets/Minigames/Rocket Mayhem/Textures/Projectile-Simple.png`) |
| 1/1/2022 | Removed the `sprite` variable in the abstract projectile, since it wasn't necessary. (`Source/Assets/Minigames/Rocket Mayhem/Scripts/Abstract/Projectile.cs`) |
| 1/1/2022 | Removed the `lifetime` variable, as it had a better counterpart `activeTime` |
| 1/1/2022 | Renamed the `Move()` virtual methods to `MoveActive()` |
| 1/1/2022 | Added a `MoveIdle()` virtual method that simply moves the rocket forward. |
| 1/1/2022 | Made the `activeTime` variable control if the rocket uses the `MoveActive()` method or the `MoveIdle()` methods. |
| 1/1/2022 | Added a `speedIncrease` variable, and made it slowly increase the rocket speed (only if idle). |
| 1/1/2022 | Completely reworked the projectile spawner (`Source/Assets/Minigames/Rocket Mayhem/Scripts/ProjectileSpawner.cs`) |
| 1/1/2022 | Added an extension for getting points along a rectangle (`Source/Assets/Misc/Scripts/Extensions/GetPointAlongExtension.cs`) |
| 1/2/2022 | Made a script for a simple projectile, one that doesn't follow the player (`Source/Assets/Minigames/Rocket Mayhem/ProjectileSimple.cs`). |
| 1/2/2022 | Made a prefab for the simple projectile (`Source/Assets/Minigames/Rocket Mayhem/Prefabs/Projectile Simple.prefab`). |
| 1/2/2022 | Made the enemy projectile look at the player in the awake function. |
| 1/2/2022 | Made the exploding projectile script explode when it hits the player or becomes idle (`Source/Assets/Minigames/Rocket Mayhem/Scripts/ProjectileExploding.cs`) |
| 1/2/2022 | Made the abstract projectile's `HitPlayer()` method also call the `Despawn()` method |
| 1/2/2022 | Created a texture for the exploding projectile (`Source/Assets/Minigames/Rocket Mayhem/Textures/Projectile-Exploding.png`) |
| 1/2/2022 | Applied the texture to the exploding projectile prefab (`Source/Assets/Minigames/Rocket Mayhem/Prefabs/Projectile Exploding.prefab`) |
| 1/2/2022 | Gave each projectile a collider slightly smaller than its texture. |
| 1/2/2022 | Gave the player prefab a collider (`Source/Assets/Minigames/Rocket Mayhem/Prefabs/Player Rocket.prefab`) |
| 1/2/2022 | Assigned the collider in the player script (`Source/Assets/Minigames/Rocket Mayhem/Scripts/PlayerRocket.cs`) |
| 1/2/2022 | Made the abstract projectile assign the collider, checked it against the player collider to trigger the `HitPlayer()` method |
| 1/3/2022 | Added a folder for a new game, the programming game called `Hacker Magic` (`Source/Assets/Minigames/Hacker Magic/`) |
| 1/3/2022 | Made a new folder for the game's scenes (`Source/Assets/Minigames/Hacker Magic/Scenes/`) |
| 1/3/2022 | Made a folder for the scripts (`Source/Assets/Minigames/Hacker Magic/Scripts/`) |
| 1/3/2022 | Made a scene for testing (`Source/Assets/Minigames/Hacker Magic/Scenes/Testing.unity`) |
| 1/3/2022 | Added the `Press Start 2P` font to the game (`Source/Assets/Misc/Fonts/Press Start 2P/Press Start 2P.ttf`) |
| 1/3/2022 | Added a canvas to view the program. |
| 1/3/2022 | Made a script to highlight text and format it (`Source/Assets/Minigames/Hacker Magic/Scripts/SyntaxManager.cs`) |
| 1/3/2022 | Made an object model for a markup component (`Source/Assets/Minigames/Hacker Magic/Scripts/Object Models/MarkupComponent.cs`) |
| 1/4/2022 | Made an extension for comparing strings (`Source/Assets/Misc/Scripts/Extensions/IsSimilarExtension.cs`) |
| 1/4/2022 | Added an extension for figuring out if a list contains another list at a current index (`Source/Assets/Misc/Scripts/Extensions/ContainsAtExtension.cs`) |
| 1/4/2022 | Made an object model for only markup info, not a whole component (`Source/Assets/Minigames/Hacker Magic/Scripts/Object Models/MarkupInfo.cs`) |
| 1/5/2022 | Made an extension for detecting string differences (`Source/Assets/Misc/Scripts/Extensions/DifferenceExtension.cs`) |
| 1/5/2022 | Made a script to execute the program given (`Source/Assets/Minigames/Hacker Magic/Scripts/ScriptExecutor.cs`) |
| 1/5/2022 | Made an object model for an "environment variable" (The variables in the programming game) (`Source/Assets/Minigames/Hacker Magic/Scripts/Object Models/EnvironmentVariable.cs`) |
| 1/6/2022 | Reworked some of the interpolation extension code (`Source/Assets/Misc/Scripts/Extensions/InterpolateExtension.cs`) |
| 11/08/2021 | Upgraded to `Unity 2021.2.1f1` |
| 11/08/2021 | Downgraded to `Unity 2021.1.28f1` |
| 11/08/2021 | Replaced the EMD cloud object pool with a particle system (`Source/Assets/Minigames/Entity March Dream/Prefabs/Clouds.prefab`) |
| 11/08/2021 | Parented the EMD clouds to the EMD camera (`Source/Assets/Minigames/Entity March Dream/Prefabs/Camera.prefab`) |
| 11/11/2021 | Added to the player the `hurtSound`, `healSound`, `jumpSound`, `walkSound`, `coinSound`, `stompSound`, and `landSound` audio clip variables (`Source/Assets/Minigames/Entity March Dream/Prefabs/Player.prefab`) |
| 11/11/2021 | Added a `audioSource` internal variable to the player |
| 11/11/2021 | Added an audio source component to the player and applied it to the prefab |
| 11/11/2021 | Made the player play the `jumpSound` clip when jumping |
| 11/11/2021 | Created a folder in EMD for sound clips (`Source/Assets/Minigames/Entity March Dream/Sounds/`) |
| 11/11/2021 | Created a sound clip for the player jump (`Source/Assets/Minigames/Entity March Dream/Sounds/Player Jump.wav`) |
| 11/11/2021 | Created a sound clip for the player when they gain health (`Source/Assets/Minigames/Entity March Dream/Sounds/Player Gain Health.wav`) |
| 11/11/2021 | Created a sound clip for the player when they lose health (`Source/Assets/Minigames/Entity March Dream/Sounds/Player Lose Health.wav`) |
| 11/11/2021 | Made the player play the heal/hurt sounds when their health changes (`Source/Assets/Minigames/Entity March Dream/Scripts/Object Models/Statistics.cs`) |
| 11/11/2021 | Created a sound clip for the player when they collect a coin (`Source/Assets/Minigames/Entity March Dream/Sounds/Player Collect Coin.wav`) |
| 11/11/2021 | Made the player play the coin sound when they collect a coin (`Source/Assets/Minigames/Entity March Dream/Scripts/Coin.cs`) |
| 11/11/2021 | Updated the Visual Studio Editor package from `2.0.11` to `2.0.12` |
| 11/11/2021 | Created a sound clip for the player when they land (`Source/Assets/Minigames/Entity March Dream/Sounds/Player Land.wav`) |
| 11/11/2021 | Made the player play the land sound when they fall |
| 11/11/2021 | Created a sound clip for when any enemy dies (`Source/Assets/Minigames/Entity March Dream/Sounds/Enemy Die.wav`) |
| 11/12/2021 | Made the player play the stomp sound when an enemy dies (`Source/Assets/Minigames/Entity March Dream/Scripts/Abstract/Enemy.cs`) |
| 11/12/2021 | Created a method in the player script to play the walk sound |
| 11/12/2021 | Added animation events in the player walk animation to trigger the walk sound via the new method (`Source/Assets/Minigames/Entity March Dream/Animations/Player/Player Walking.anim`) |
| 11/12/2021 | Created a sound clip for when the player walks (`Source/Assets/Minigames/Entity March Dream/Sounds/Player Step.wav`) |
| 11/13/2021 | Added a new folder for any rendering effects in EMD (`Source/Assets/Minigames/Entity March Dream/Rendering Effects/`) |
| 11/13/2021 | Added an HDRP Volume Profile for the EMD player camera (`Source/Assets/Minigames/Entity March Dream/Rendering Effects/EMD Camera Volume.asset`) |
| 11/13/2021 | Added an HDRP Volume component in the camera and gave it the profile, and applied it to the prefab (`Source/Assets/Minigames/Entity March Dream/Prefabs/Camera.prefab`) |
| 11/13/2021 | Added a lens distortion affect to the volume profile |
| 11/13/2021 | Applied the EMD volume profile to the camera in the title screen (`Source/Assets/Minigames/Entity March Dream/Scenes/EMD Title Screen.unity`) |
| 11/13/2021 | Set up World 1-1 in EMD for world designing (`Source/Assets/Minigames/Entity March Dream/Scenes/World 1/EMD Level 1-1.unity`) |
| 11/14/2021 | Made a scene for World 1-2 in EMD (`Source/Assets/Minigames/Entity March Dream/Scenes/World 1/EMD Level 1-2.unity`) |
| 11/14/2021 | Finished EMD level 1-1 |
| 11/14/2021 | Created a folder for the new minigame, Rocket Mayhem (`Source/Assets/Minigames/Rocket Mayhem/`) |
| 11/14/2021 | Created a folder for RM (Rocket Mayhem) scenes (`Source/Assets/Minigames/Rocket Mayhem/Scenes/`) |
| 11/14/2021 | Created a folder for RM scripts (`Source/Assets/Minigames/Rocket Mayhem/Scripts/`) |
| 11/14/2021 | Created a folder for RM textures (`Source/Assets/Minigames/Rocket Mayhem/Textures/`) |
| 11/14/2021 | Created a sample scene for RM (`Source/Assets/Minigames/Rocket Mayhem/Scenes/Testing Game.unity`) |
| 11/14/2021 | Created a script for the player (`Source/Assets/Minigames/Rocket Mayhem/Scripts/PlayerRocket.cs`) |
| 11/14/2021 | Created a texture for 8 different possible rockets for the player (`Source/Assets/Minigames/Rocket Mayhem/Textures/Player-Rockets.png`) |

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LangVersion>latest</LangVersion>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@ -52,17 +52,16 @@
<UnityBuildTarget>StandaloneWindows64:19</UnityBuildTarget>
<UnityVersion>2021.1.28f1</UnityVersion>
</PropertyGroup>
<ItemGroup>
<Analyzer Include="C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\Microsoft\Visual Studio Tools for Unity\Analyzers\Microsoft.Unity.Analyzers.dll" />
</ItemGroup>
<ItemGroup>
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\Bunches\Start Menu\AnyKeyText.cs" />
<Compile Include="Assets\Minigames\Rocket Mayhem\Scripts\ProjectileSimple.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\SemisolidPlatform.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\Bunches\Game Interface\PauseButton.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\Abstract\Enemy.cs" />
<Compile Include="Assets\Minigames\Rocket Mayhem\Scripts\ProjectileSeeking.cs" />
<Compile Include="Assets\Arcade\Scripts\Cabinet.cs" />
<Compile Include="Assets\Minigames\Rocket Mayhem\Scripts\CameraController.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\Object Models\Statistics.cs" />
<Compile Include="Assets\Minigames\Rocket Mayhem\Scripts\Abstract\Projectile.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\Bunches\Start Menu\StartArrow.cs" />
<Compile Include="Assets\Arcade\Scripts\Door.cs" />
<Compile Include="Assets\Misc\Scripts\Object Models\Loot.cs" />
@ -70,24 +69,15 @@
<Compile Include="Assets\Arcade\Scripts\Floor.cs" />
<Compile Include="Assets\Arcade\Scripts\Player.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\Coin.cs" />
<Compile Include="Assets\Misc\Scripts\Extensions\ContainsAtExtension.cs" />
<Compile Include="Assets\Minigames\Rocket Mayhem\Scripts\ProjectileExploding.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\Player.cs" />
<Compile Include="Assets\Misc\Scripts\Extensions\CombineExtension.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\FallingPlatform.cs" />
<Compile Include="Assets\Minigames\The Average 9-5 Job\Scripts\TextRenderer.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\Bunches\Game Interface\HealthBar.cs" />
<Compile Include="Assets\Minigames\The Average 9-5 Job\Scripts\InputHandler.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\Finish.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\Bunches\Game Interface\CoinCounter.cs" />
<Compile Include="Assets\Misc\Scripts\Object Models\ShakeData.cs" />
<Compile Include="Assets\Misc\Scripts\Extensions\DifferenceExtension.cs" />
<Compile Include="Assets\Minigames\Rocket Mayhem\Scripts\ProjectileSpawner.cs" />
<Compile Include="Assets\Misc\Scripts\Extensions\InterpolateExtension.cs" />
<Compile Include="Assets\Minigames\The Average 9-5 Job\Scripts\SceneManager.cs" />
<Compile Include="Assets\Arcade\Scripts\StatCanvas.cs" />
<Compile Include="Assets\Misc\Scripts\Extensions\GetPointAlongExtension.cs" />
<Compile Include="Assets\Minigames\The Average 9-5 Job\Scripts\Abstract\GameScene.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\HittableBlock.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\ItemHealthBoost.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\Object Models\SaveData.cs" />
@ -95,22 +85,16 @@
<Compile Include="Assets\Misc\Scripts\Transition.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\Abstract\Item.cs" />
<Compile Include="Assets\Misc\Scripts\Handlers\PoolHandler.cs" />
<Compile Include="Assets\Misc\Scripts\Extensions\IsSimilarExtension.cs" />
<Compile Include="Assets\Minigames\Rocket Mayhem\Scripts\PlayerRocket.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\CloudPiece.cs" />
<Compile Include="Assets\Minigames\Hacker Magic\Scripts\Object Models\MarkupComponent.cs" />
<Compile Include="Assets\Misc\Scripts\Object Models\GeneralStats.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\Spikes.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\Bunches\Game Interface\WorldIndicator.cs" />
<Compile Include="Assets\Minigames\Hacker Magic\Scripts\Object Models\MarkupInfo.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\EnemyRolling.cs" />
<Compile Include="Assets\Misc\Scripts\Extensions\ShakeExtension.cs" />
<Compile Include="Assets\Minigames\Hacker Magic\Scripts\SyntaxManager.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\PlayerCamera.cs" />
<Compile Include="Assets\Minigames\Entity March Dream\Scripts\Bunches\Start Menu\StartMenu.cs" />
<Compile Include="Assets\Misc\Scripts\GameManager.cs" />
<Compile Include="Assets\Minigames\Hacker Magic\Scripts\ScriptExecutor.cs" />
<Compile Include="Assets\Minigames\Hacker Magic\Scripts\Object Models\EnvironmentVariable.cs" />
</ItemGroup>
<ItemGroup>
<None Include="Assets\TextMesh Pro\Shaders\TMPro.cginc" />

View File

@ -22,7 +22,7 @@ namespace That_One_Nerd.Unity.Games.ArcadeManiac.Arcade
!x.IsGenericMethod &&
!x.IsAbstract &&
x.GetParameters().Length == 1 &&
x.GetParameters()[0].ParameterType == GetType()).ToArray();
x.GetParameters()[0].ParameterType == typeof(GameObject)).ToArray();
}
private void Update()

View File

@ -11,6 +11,9 @@ namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.EntityMarchDream.Abst
protected Rigidbody2D rb;
protected SpriteRenderer sr;
private float? oldGravityScale;
private Vector2? oldVelocity;
protected virtual void Awake() => AssignVars();
protected virtual void Update()

View File

@ -1,5 +1,5 @@
using System.Collections;
using System.Linq;
using System.Threading.Tasks;
using That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.EntityMarchDream.Bunches.GameInterface;
using That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.EntityMarchDream.ObjectModels;
using That_One_Nerd.Unity.Games.ArcadeManiac.Misc;
@ -30,12 +30,12 @@ namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.EntityMarchDream
if (Physics2D.OverlapBoxAll(trigger.bounds.center, trigger.size, 0).Any(x => x == p.col) && !triggered)
{
FinishAsync();
StartCoroutine(IFinish());
triggered = true;
}
}
private async void FinishAsync()
private IEnumerator IFinish()
{
GameObject p = this.p.gameObject;
Animator pAnim = this.p.anim;
@ -58,7 +58,7 @@ namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.EntityMarchDream
p.transform.position = p.transform.position.Interpolate(roundedPos, playerSpeed);
await Task.Yield();
yield return null;
}
pAnim.SetInteger("Mode", 0);

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: fc54c5f1e7143694cbe7df603bda2c0b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 690507deba1883448992097f9ff5acd9
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 26f939286dd43594e91f931bc721a1f7
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: fbb56108967d5c948801d9d21444782d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 405addfc03cffcd4588bf4b67cb88038
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,13 +0,0 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.HackerMagic
{
[Serializable]
public struct EnvironmentVariable
{
public string Name;
public GameObject GameObject;
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 5e745a2cf30f7604a927dfd25aa923a8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,21 +0,0 @@
using System;
using UnityEngine;
namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.HackerMagic.ObjectModels
{
[Serializable]
public struct MarkupComponent
{
public Color Color;
public bool MarkBold;
public bool MarkItalic;
public string Text;
public MarkupInfo ToMarkupInfo() => new MarkupInfo
{
Color = Color,
MarkBold = MarkBold,
MarkItalic = MarkItalic
};
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: ebd167b37b7103a4ea98e8c2dc2a14b3
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,13 +0,0 @@
using System;
using UnityEngine;
namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.HackerMagic.ObjectModels
{
[Serializable]
public struct MarkupInfo
{
public Color Color;
public bool MarkBold;
public bool MarkItalic;
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 5d9d230bb7b832d4ab4bb0d7a2528d9a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,59 +0,0 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.UI;
namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.HackerMagic
{
public class ScriptExecutor : MonoBehaviour
{
public EnvironmentVariable[] variables;
[Header("Error Color")]
public ColorBlock badCol;
[Header("Success Color")]
public ColorBlock goodCol;
[Header("In Progress Color")]
public ColorBlock progressCol;
private Button button;
private Dictionary<string, object> internalVars;
private Dictionary<string, GameObject> variableDict;
private bool working;
private void Awake()
{
button = GetComponent<Button>();
button.colors = goodCol;
variableDict = new Dictionary<string, GameObject>();
foreach (EnvironmentVariable var in variables) variableDict.Add(var.Name, var.GameObject);
internalVars = new Dictionary<string, object>();
}
public async void ExecuteCode()
{
if (working) return;
button.colors = progressCol;
working = true;
try
{
await Execute();
button.colors = goodCol;
}
catch { button.colors = badCol; }
working = false;
}
private async Task Execute()
{
internalVars = new Dictionary<string, object>();
}
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 51cd4654824fbc14b889a9e060dc9af1
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,165 +0,0 @@
using System;
using System.Linq;
using That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.HackerMagic.ObjectModels;
using That_One_Nerd.Unity.Games.ArcadeManiac.Misc.Extensions;
using UnityEngine;
using UnityEngine.UI;
namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.HackerMagic
{
public class SyntaxManager : MonoBehaviour
{
public static string WhitespaceChars => " \n\t";
public string allowedAdjacent;
public MarkupComponent[] components;
public bool debugMode;
public MarkupComponent markupContainers;
public MarkupInfo markupNumbers;
public MarkupComponent markupOperators;
public MarkupComponent markupDoubleQuotes;
public MarkupComponent markupSingleQuotes;
private Text display;
private InputField input;
private void Awake()
{
display = transform.Find("Display").GetComponent<Text>();
input = GetComponent<InputField>();
input.onValueChanged.AddListener(OnValueChanged);
}
public void OnValueChanged(string newVal)
{
if (debugMode) display.text = Markup(newVal);
else
{
try { display.text = Markup(newVal); }
catch { display.text = newVal; }
}
}
public string FormatNewChar(char newChar) => newChar switch
{
_ => newChar.ToString()
};
public string Markup(string text)
{
string allowedChars = allowedAdjacent + WhitespaceChars;
text.Trim();
for (int i = 0, sinceWhite = 0; i < text.Length; i++, sinceWhite++)
{
if (WhitespaceChars.Contains(text[i]))
{
sinceWhite = 0;
continue;
}
Numbers();
void Numbers()
{
if (markupNumbers.Color.a <= 0 || !double.TryParse(text[i].ToString(), out _)) return;
string add = text[i].ToString();
for (int j = i + 1; j < text.Length; j++)
{
string newAdd = add + text[j];
if (!double.TryParse(newAdd, out _)) break;
add = newAdd;
}
if (!IsAllowed(add.Length)) return;
(string, string) chunks = GetMarkupChunks(markupNumbers);
text = InsertMarkup(chunks.Item1, chunks.Item2, add);
}
if (i >= text.Length) break;
CustomComponents();
void CustomComponents()
{
MarkupComponent markup = components.FirstOrDefault(x => text.ContainsAt(i, x.Text));
if (markup.Color.a == 0 || string.IsNullOrEmpty(markup.Text) || string.IsNullOrWhiteSpace(markup.Text))
return;
if (!IsAllowed(markup.Text.Length)) return;
(string, string) chunks = GetMarkupChunks(markup.ToMarkupInfo());
text = InsertMarkup(chunks.Item1, chunks.Item2, markup.Text);
}
if (i >= text.Length) break;
Quotes();
void Quotes()
{
if (markupDoubleQuotes.Text.Contains(text[i]) && markupDoubleQuotes.Color.a > 0)
{
string add = "";
for (int j = i; j < text.Length; j++)
{
add += text[j];
if (text[j] == '"' && j > i) break;
}
(string, string) chunks = GetMarkupChunks(markupDoubleQuotes.ToMarkupInfo());
text = InsertMarkup(chunks.Item1, chunks.Item2, add);
}
if (i >= text.Length) return;
if (markupSingleQuotes.Text.Contains(text[i]) && markupSingleQuotes.Color.a > 0)
{
string add = "";
for (int j = i; j < text.Length; j++)
{
add += text[j];
if (text[j] == '\'' && j > i) break;
}
(string, string) chunks = GetMarkupChunks(markupSingleQuotes.ToMarkupInfo());
text = InsertMarkup(chunks.Item1, chunks.Item2, add);
}
}
if (i >= text.Length) break;
OperatorsAndContainers();
void OperatorsAndContainers()
{
if (markupOperators.Text.Contains(text[i]) && markupOperators.Color.a > 0)
{
(string, string) chunks = GetMarkupChunks(markupOperators.ToMarkupInfo());
text = InsertMarkup(chunks.Item1, chunks.Item2, text[i].ToString());
}
if (markupContainers.Text.Contains(text[i]) && markupContainers.Color.a > 0)
{
(string, string) chunks = GetMarkupChunks(markupContainers.ToMarkupInfo());
text = InsertMarkup(chunks.Item1, chunks.Item2, text[i].ToString());
}
}
bool IsAllowed(int length) => (i == 0 || allowedChars.Contains(text[i - 1])) &&
(text.Length <= i + length || allowedChars.Contains(text[i + length]));
string InsertMarkup(string a, string b, string over)
{
string replaceB = b.Replace("<", "</") + "</color>";
int oldI = i;
i += a.Length + b.Length + over.Length + replaceB.Length - 1;
return text.Insert(oldI, a + b).Insert(oldI + a.Length + b.Length + over.Length, replaceB);
}
(string, string) GetMarkupChunks(MarkupInfo info) =>
("<color=#" + ColorUtility.ToHtmlStringRGBA(info.Color) + ">",
(info.MarkBold ? "<b>" : "") + (info.MarkItalic ? "<i>" : ""));
}
return text;
}
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: d08c89d3aec494d4bb7c33496faad138
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: ba56b3660db40b849ad8e080d7ee777a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 42ebe117d282d5e4b99df1ea68773af9
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,151 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &6772944046169922615
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6772944046169922601}
- component: {fileID: 6772944046169922600}
- component: {fileID: 1380417632121701567}
- component: {fileID: 6772944046169922603}
- component: {fileID: 8078666363267020385}
m_Layer: 0
m_Name: Projectile Exploding
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6772944046169922601
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6772944046169922615}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 2.74, y: -1.56, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &6772944046169922600
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6772944046169922615}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 257
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: 21300000, guid: daf6bd0aefdb517499b8d507b499584d, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!114 &1380417632121701567
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6772944046169922615}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ab951558fb58d5845b09b6e3dfe82626, type: 3}
m_Name:
m_EditorClassIdentifier:
activeTime: 5
speed: 2
speedIncrease: 0.5
speedRot: 3
--- !u!50 &6772944046169922603
Rigidbody2D:
serializedVersion: 4
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6772944046169922615}
m_BodyType: 1
m_Simulated: 1
m_UseFullKinematicContacts: 0
m_UseAutoMass: 0
m_Mass: 1
m_LinearDrag: 0
m_AngularDrag: 0.05
m_GravityScale: 1
m_Material: {fileID: 0}
m_Interpolate: 0
m_SleepingMode: 1
m_CollisionDetection: 0
m_Constraints: 0
--- !u!61 &8078666363267020385
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6772944046169922615}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 0
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: -0.041666668, y: -0.041666668}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 0.6666667, y: 0.6666667}
newSize: {x: 1, y: 1}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 0.25, y: 0.25}
m_EdgeRadius: 0

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 5ace0477dc7241348b313be3a0039ec1
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,151 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &5680849183979807787
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5680849183979807797}
- component: {fileID: 5680849183979807796}
- component: {fileID: 5680849183979807798}
- component: {fileID: 5680849183979807799}
- component: {fileID: 1460912473727098441}
m_Layer: 0
m_Name: Projectile Seeking
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5680849183979807797
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5680849183979807787}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &5680849183979807796
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5680849183979807787}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 257
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: 21300000, guid: fe52d6b8c043d6d4687b4e7dc9d71899, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!114 &5680849183979807798
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5680849183979807787}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0299de7dbc39fd44babf502d6ee53e30, type: 3}
m_Name:
m_EditorClassIdentifier:
activeTime: 5
speed: 1.5
speedIncrease: 1
speedRot: 3
--- !u!50 &5680849183979807799
Rigidbody2D:
serializedVersion: 4
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5680849183979807787}
m_BodyType: 1
m_Simulated: 1
m_UseFullKinematicContacts: 0
m_UseAutoMass: 0
m_Mass: 1
m_LinearDrag: 0
m_AngularDrag: 0.05
m_GravityScale: 1
m_Material: {fileID: 0}
m_Interpolate: 0
m_SleepingMode: 1
m_CollisionDetection: 0
m_Constraints: 0
--- !u!61 &1460912473727098441
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5680849183979807787}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 0
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: -0.041666668}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 0.75, y: 1}
newSize: {x: 1, y: 1}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 0.16666667, y: 0.6666667}
m_EdgeRadius: 0

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: a1945dfe511f1f94b9f14a476266d819
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,151 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &6908992570622557550
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6908992570622557552}
- component: {fileID: 6908992570622557553}
- component: {fileID: 8230150778375742323}
- component: {fileID: 6908992570622557554}
- component: {fileID: 8852780427349231249}
m_Layer: 0
m_Name: Projectile Simple
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6908992570622557552
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6908992570622557550}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 5.04, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &6908992570622557553
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6908992570622557550}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 257
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: 21300000, guid: 0946782bd28ed2b428b72437fe2fdea3, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!114 &8230150778375742323
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6908992570622557550}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e14e9d6e08839fd4f87387a8aa2fda67, type: 3}
m_Name:
m_EditorClassIdentifier:
activeTime: 2
speed: 0.75
speedIncrease: 0.25
speedRot: 0
--- !u!50 &6908992570622557554
Rigidbody2D:
serializedVersion: 4
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6908992570622557550}
m_BodyType: 1
m_Simulated: 1
m_UseFullKinematicContacts: 0
m_UseAutoMass: 0
m_Mass: 1
m_LinearDrag: 0
m_AngularDrag: 0.05
m_GravityScale: 1
m_Material: {fileID: 0}
m_Interpolate: 0
m_SleepingMode: 1
m_CollisionDetection: 0
m_Constraints: 0
--- !u!61 &8852780427349231249
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6908992570622557550}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 0
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 0.33333334, y: 0.6666667}
newSize: {x: 1, y: 1}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 0.083333336, y: 0.41666666}
m_EdgeRadius: 0

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: abba467fa6bb9ec40b4a8e946dd99080
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,47 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4648689608019697902
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4648689608019697903}
- component: {fileID: 4648689608019697900}
m_Layer: 0
m_Name: Projectile Spawner
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4648689608019697903
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4648689608019697902}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &4648689608019697900
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4648689608019697902}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 03b8a39151ca356469957695be660cfd, type: 3}
m_Name:
m_EditorClassIdentifier:
prefabs:
- {fileID: 5680849183979807798, guid: a1945dfe511f1f94b9f14a476266d819, type: 3}

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 3066830772000e049a2220d3af6f848f
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -123,67 +123,137 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1001 &622460723
PrefabInstance:
--- !u!1 &235055013
GameObject:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 4648689608019697900, guid: 3066830772000e049a2220d3af6f848f, type: 3}
propertyPath: prefabs.Array.data[0]
value:
objectReference: {fileID: 8230150778375742323, guid: abba467fa6bb9ec40b4a8e946dd99080, type: 3}
- target: {fileID: 4648689608019697902, guid: 3066830772000e049a2220d3af6f848f, type: 3}
propertyPath: m_Name
value: Projectile Spawner
objectReference: {fileID: 0}
- target: {fileID: 4648689608019697903, guid: 3066830772000e049a2220d3af6f848f, type: 3}
propertyPath: m_RootOrder
value: 2
objectReference: {fileID: 0}
- target: {fileID: 4648689608019697903, guid: 3066830772000e049a2220d3af6f848f, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4648689608019697903, guid: 3066830772000e049a2220d3af6f848f, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4648689608019697903, guid: 3066830772000e049a2220d3af6f848f, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4648689608019697903, guid: 3066830772000e049a2220d3af6f848f, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4648689608019697903, guid: 3066830772000e049a2220d3af6f848f, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4648689608019697903, guid: 3066830772000e049a2220d3af6f848f, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4648689608019697903, guid: 3066830772000e049a2220d3af6f848f, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4648689608019697903, guid: 3066830772000e049a2220d3af6f848f, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4648689608019697903, guid: 3066830772000e049a2220d3af6f848f, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4648689608019697903, guid: 3066830772000e049a2220d3af6f848f, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 3066830772000e049a2220d3af6f848f, type: 3}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 235055015}
- component: {fileID: 235055014}
- component: {fileID: 235055017}
- component: {fileID: 235055016}
m_Layer: 0
m_Name: Player Rocket
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!212 &235055014
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 235055013}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 257
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: 3219079849617051734, guid: dbc7db338fa173746a13b54fd40566a2, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1.375, y: 1.5}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!4 &235055015
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 235055013}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!50 &235055016
Rigidbody2D:
serializedVersion: 4
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 235055013}
m_BodyType: 0
m_Simulated: 1
m_UseFullKinematicContacts: 0
m_UseAutoMass: 0
m_Mass: 1
m_LinearDrag: 0
m_AngularDrag: 0
m_GravityScale: 0
m_Material: {fileID: 0}
m_Interpolate: 0
m_SleepingMode: 1
m_CollisionDetection: 0
m_Constraints: 0
--- !u!114 &235055017
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 235055013}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 854598cb541a71d4c8fb030cf9eac3e3, type: 3}
m_Name:
m_EditorClassIdentifier:
activeDecreaseSpeed: 1
activeIncreaseSpeed: 1
possibleRockets:
- {fileID: 3219079849617051734, guid: dbc7db338fa173746a13b54fd40566a2, type: 3}
- {fileID: 3675683301189469721, guid: dbc7db338fa173746a13b54fd40566a2, type: 3}
- {fileID: 568147247181237223, guid: dbc7db338fa173746a13b54fd40566a2, type: 3}
- {fileID: 5499046082391065608, guid: dbc7db338fa173746a13b54fd40566a2, type: 3}
- {fileID: 7921804622037073940, guid: dbc7db338fa173746a13b54fd40566a2, type: 3}
- {fileID: 755746845631520147, guid: dbc7db338fa173746a13b54fd40566a2, type: 3}
- {fileID: -1349087196602832397, guid: dbc7db338fa173746a13b54fd40566a2, type: 3}
- {fileID: -573647995634398964, guid: dbc7db338fa173746a13b54fd40566a2, type: 3}
speed: 5
speedRot: 1
--- !u!1 &1853482348
GameObject:
m_ObjectHideFlags: 0
@ -196,7 +266,6 @@ GameObject:
- component: {fileID: 1853482350}
- component: {fileID: 1853482349}
- component: {fileID: 1853482352}
- component: {fileID: 1853482353}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
@ -383,113 +452,3 @@ MonoBehaviour:
enableFptlForForwardOpaque: 0
enableBigTilePrepass: 0
isFptlEnabled: 0
--- !u!114 &1853482353
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1853482348}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c4c59b9fb6d580f498b7a4287027edb6, type: 3}
m_Name:
m_EditorClassIdentifier:
speed: 1
--- !u!1 &1873840465 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 6599591198345998672, guid: 42ebe117d282d5e4b99df1ea68773af9, type: 3}
m_PrefabInstance: {fileID: 6599591198581036789}
m_PrefabAsset: {fileID: 0}
--- !u!61 &1873840466
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1873840465}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 0
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: -0.041666668}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 0.9166667, y: 1}
newSize: {x: 1.375, y: 1.5}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 0.16666667, y: 0.6666667}
m_EdgeRadius: 0
--- !u!198 &1988320558 stripped
ParticleSystem:
m_CorrespondingSourceObject: {fileID: 6599591199036826279, guid: 42ebe117d282d5e4b99df1ea68773af9, type: 3}
m_PrefabInstance: {fileID: 6599591198581036789}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &6599591198581036789
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 6599591198345998672, guid: 42ebe117d282d5e4b99df1ea68773af9, type: 3}
propertyPath: m_Name
value: Player Rocket
objectReference: {fileID: 0}
- target: {fileID: 6599591198345998674, guid: 42ebe117d282d5e4b99df1ea68773af9, type: 3}
propertyPath: m_RootOrder
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6599591198345998674, guid: 42ebe117d282d5e4b99df1ea68773af9, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6599591198345998674, guid: 42ebe117d282d5e4b99df1ea68773af9, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6599591198345998674, guid: 42ebe117d282d5e4b99df1ea68773af9, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6599591198345998674, guid: 42ebe117d282d5e4b99df1ea68773af9, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6599591198345998674, guid: 42ebe117d282d5e4b99df1ea68773af9, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6599591198345998674, guid: 42ebe117d282d5e4b99df1ea68773af9, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6599591198345998674, guid: 42ebe117d282d5e4b99df1ea68773af9, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6599591198345998674, guid: 42ebe117d282d5e4b99df1ea68773af9, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6599591198345998674, guid: 42ebe117d282d5e4b99df1ea68773af9, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6599591198345998674, guid: 42ebe117d282d5e4b99df1ea68773af9, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6599591198345998684, guid: 42ebe117d282d5e4b99df1ea68773af9, type: 3}
propertyPath: particlesBooster
value:
objectReference: {fileID: 1988320558}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 42ebe117d282d5e4b99df1ea68773af9, type: 3}

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 23506b02f1b7cd7499a4fa403f61bd3c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,75 +0,0 @@
using That_One_Nerd.Unity.Games.ArcadeManiac.Misc.Extensions;
using UnityEngine;
namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.RocketMayhem.Abstract
{
public abstract class Projectile : MonoBehaviour
{
public float activeTime;
public float speed;
public float speedIncrease;
public float speedRot;
internal PlayerRocket player;
protected Collider2D col;
protected Rigidbody2D rb;
protected SpriteRenderer sr;
protected float time;
protected virtual void Awake()
{
AssignVars();
Vector2 dist = Vector2.ClampMagnitude(player.transform.position - transform.position, 1);
Vector2 normalized = dist.normalized;
float tan = Mathf.Atan2(normalized.y, normalized.x) * (180 / Mathf.PI);
transform.rotation = Quaternion.Euler(Vector3.forward * (tan - 90));
}
protected virtual void Update()
{
time += Time.deltaTime;
if (time <= activeTime) MoveActive(player.transform.position);
else if (!sr.isVisible) Despawn();
else
{
MoveIdle();
speed += speedIncrease * Time.deltaTime;
}
if (col.IsTouching(player.col)) HitPlayer();
}
protected virtual void AssignVars()
{
col = GetComponent<Collider2D>();
player = FindObjectOfType<PlayerRocket>();
rb = GetComponent<Rigidbody2D>();
sr = GetComponent<SpriteRenderer>();
}
protected virtual void Despawn() => Destroy(gameObject);
protected virtual void HitPlayer()
{
Debug.Log("hit");
Despawn();
}
protected virtual void MoveActive(Quaternion toRot)
{
transform.rotation = transform.rotation.Interpolate(toRot, speedRot);
rb.velocity = speed * transform.up;
}
protected virtual void MoveActive(Vector2 toPos)
{
Vector2 dist = Vector2.ClampMagnitude(player.transform.position - transform.position, 1);
Vector2 normalized = dist.normalized;
float tan = Mathf.Atan2(normalized.y, normalized.x) * (180 / Mathf.PI);
MoveActive(Quaternion.Euler(Vector3.forward * (tan - 90)));
}
protected virtual void MoveIdle() => rb.velocity = speed * transform.up;
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: f128d8783fb684846a52d7d0c2be938f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,25 +0,0 @@
using That_One_Nerd.Unity.Games.ArcadeManiac.Misc.Extensions;
using UnityEngine;
namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.RocketMayhem
{
public class CameraController : MonoBehaviour
{
public float speed;
private PlayerRocket p;
private void Awake() =>
p = FindObjectOfType<PlayerRocket>();
private void FixedUpdate()
{
transform.position = transform.position.Interpolate(new Vector3
{
x = p.transform.position.x,
y = p.transform.position.y,
z = -10,
}, speed);
}
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: c4c59b9fb6d580f498b7a4287027edb6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +1,5 @@
using System.Collections;
using System.Linq;
using That_One_Nerd.Unity.Games.ArcadeManiac.Misc.Extensions;
using UnityEngine;
using static UnityEngine.ParticleSystem;
namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.RocketMayhem
{
@ -12,13 +9,10 @@ namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.RocketMayhem
public float activeDecreaseSpeed;
public float activeIncreaseSpeed;
public ParticleSystem[] particles;
public Sprite[] possibleRockets;
public float speed;
public float speedRot;
internal Collider2D col;
private float active = 0;
private Camera cam;
private Rigidbody2D rb;
@ -27,7 +21,6 @@ namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.RocketMayhem
private void Awake()
{
cam = FindObjectOfType<Camera>();
col = FindObjectOfType<Collider2D>();
rb = GetComponent<Rigidbody2D>();
sr = GetComponent<SpriteRenderer>();
@ -41,20 +34,18 @@ namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.RocketMayhem
if (active == 0) return;
Vector3 mousePos = cam.ScreenToWorldPoint(Input.mousePosition);
mousePos.z = 0;
Vector3 dist = Vector3.ClampMagnitude(mousePos - transform.position, 1);
Vector3 mousePos = cam.ScreenToWorldPoint(Input.mousePosition),
dist = mousePos - transform.position;
Vector3 normalized = dist.normalized;
float tan = Mathf.Atan2(normalized.y, normalized.x) * (180 / Mathf.PI) - 90;
rb.velocity = active * speed * dist.normalized;
Quaternion rot = transform.rotation;
float hypo = Mathf.Sqrt(dist.x * dist.x + dist.y * dist.y),
tan = Mathf.Atan2(dist.y / hypo, dist.x / hypo) * (180 / Mathf.PI);
Quaternion newRot = rot.Interpolate(Quaternion.Euler(Vector3.forward * tan), speedRot * active);
transform.rotation = newRot;
rb.velocity = active * speed * transform.up;
const float addive = 360;
float rot = transform.rotation.eulerAngles.z + addive;
transform.rotation = Quaternion.Euler(Vector3.forward * (rot.Interpolate(tan + 270, speedRot) - addive));
// TODO: make rotation better
}
}
}

View File

@ -1,22 +0,0 @@
using UnityEngine;
using That_One_Nerd.Unity.Games.ArcadeManiac.Misc.Extensions;
using That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.RocketMayhem.Abstract;
namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.RocketMayhem
{
public class ProjectileExploding : Projectile
{
protected override void Update()
{
speed -= Time.deltaTime * speedIncrease;
base.Update();
}
protected override void MoveIdle() => HitPlayer();
protected override void HitPlayer()
{
Debug.Log("explode");
base.HitPlayer();
}
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: ab951558fb58d5845b09b6e3dfe82626
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
using UnityEngine;
using That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.RocketMayhem.Abstract;
namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.RocketMayhem
{
public class ProjectileSeeking : Projectile { }
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 0299de7dbc39fd44babf502d6ee53e30
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,11 +0,0 @@
using UnityEngine;
using That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.RocketMayhem.Abstract;
namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.RocketMayhem
{
public class ProjectileSimple : Projectile
{
protected override void MoveActive(Quaternion toRot) => MoveIdle();
protected override void MoveActive(Vector2 toPos) => MoveIdle();
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: e14e9d6e08839fd4f87387a8aa2fda67
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,61 +0,0 @@
using That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.RocketMayhem.Abstract;
using That_One_Nerd.Unity.Games.ArcadeManiac.Misc.Extensions;
using UnityEngine;
namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.RocketMayhem
{
public class ProjectileSpawner : MonoBehaviour
{
public Projectile[] prefabs;
private Camera cam;
private Rect spawningBounds;
private void Awake() => cam = FindObjectOfType<Camera>();
private void Update()
{
spawningBounds = new Rect
{
max = cam.ScreenToWorldPoint(new Vector2(cam.scaledPixelWidth, cam.scaledPixelHeight)),
min = cam.ScreenToWorldPoint(Vector2.zero),
};
if (Input.GetKeyDown(KeyCode.Space)) SpawnProjectile();
}
public void SpawnProjectile() => SpawnProjectile(prefabs[Random.Range(0, prefabs.Length)]);
public void SpawnProjectile(Projectile prefab) =>
Instantiate(prefab, spawningBounds.GetPointAlong(Random.Range(0f, 1f)), Quaternion.Euler(Vector3.zero),
transform);
/*public Projectile projectile;
public PlayerRocket player;
public float interval;
private float seconds;
private void Update()
{
seconds += Time.deltaTime;
if (seconds >= interval)
{
seconds = 0;
int rand = Random.Range(0, 4);
// replaced the 4 if statements with a single one. you aren't expected to know this, don't worry.
// just wanted to make it smaller.
GameObject cloned = Instantiate(projectile.gameObject, rand switch
{
0 => new Vector2(Random.Range(0, 20) - 10, -5),
1 => new Vector2(-10, Random.Range(0, 10) - 5),
2 => new Vector2(Random.Range(0, 20) - 10, 5),
3 => new Vector2(10, Random.Range(0, 10) - 5),
_ => Vector2.zero
}, Quaternion.Euler(Vector3.zero));
cloned.GetComponent<Projectile>().player = player;
}
}*/
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 03b8a39151ca356469957695be660cfd
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 B

View File

@ -1,120 +0,0 @@
fileFormatVersion: 2
guid: daf6bd0aefdb517499b8d507b499584d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 12
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 200 B

View File

@ -1,120 +0,0 @@
fileFormatVersion: 2
guid: fe52d6b8c043d6d4687b4e7dc9d71899
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 12
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 B

View File

@ -1,120 +0,0 @@
fileFormatVersion: 2
guid: 0946782bd28ed2b428b72437fe2fdea3
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 12
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: d2642c0ddf4268e4baf0817d98cfc5ee
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: fb2ffd9a0fa52dd4dafdb35017697ac6
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: d4164870b205bae478b3c5ac45dd655e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: cd164a2ff940ca448aeea69494a53f97
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 9221d2656d2bc944db67933458323af1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: c825ad85396a2504da0493bac8e305e7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,26 +0,0 @@
using System;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;
namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.TheAverage9To5Job.Abstract
{
[Serializable]
public struct GameScene
{
public string Title;
[TextArea]
public string Text;
public float TextSpeed;
public string[] Options;
public GameScene(string text, params string[] options) => this = new GameScene("", text, 1, options);
public GameScene(string title, string text, float textSpeed, params string[] options)
{
Title = title;
Text = text;
TextSpeed = textSpeed;
Options = options;
}
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 5edfa8428f4437941bdcd8cfd932eb2a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,38 +0,0 @@
using System;
using System.Collections;
using System.Collections.Generic;
using That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.TheAverage9To5Job.Abstract;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;
namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.TheAverage9To5Job
{
public class InputHandler : MonoBehaviour
{
private InputField input;
private SceneManager manager;
private void Awake()
{
input = GetComponent<InputField>();
manager = FindObjectOfType<SceneManager>();
manager.OnSceneChange += SceneChange;
input.onSubmit.AddListener(FieldSubmit);
}
public void FieldSubmit(string value)
{
int val = int.Parse(value);
if (val < 0 || val >= manager.CurrentScene.Options.Length) return;
manager.OnInput(val);
}
private void SceneChange(GameScene? oldScene, GameScene newScene) =>
input.characterLimit = newScene.Options.Length.ToString().Length;
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 2fa25b1c1a7ac5347885628d3003e890
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,95 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.TheAverage9To5Job.Abstract;
using That_One_Nerd.Unity.Games.ArcadeManiac.Misc;
using That_One_Nerd.Unity.Games.ArcadeManiac.Misc.Extensions;
using UnityEngine;
namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.TheAverage9To5Job
{
public class SceneManager : MonoBehaviour
{
public GameScene CurrentScene
{
get => p_CurrentScene;
set
{
OnSceneChange(p_CurrentScene, value);
p_CurrentScene = value;
}
}
public int CurrentSceneIndex
{
get => Array.IndexOf(scenes, CurrentScene);
set => CurrentScene = scenes[value];
}
public Action<int> OnInput { get; set; } = delegate { };
public Action<GameScene?, GameScene> OnSceneChange { get; set; } = delegate { };
public GameScene[] scenes;
private MethodInfo[] optionMethods;
private GameScene p_CurrentScene;
private TextRenderer ren;
private List<GameScene> sceneList;
private void Awake()
{
ren = FindObjectOfType<TextRenderer>();
if (scenes.Length == 0)
{
Debug.LogWarning("There must be at least one game scene in the list.");
Destroy(this);
return;
}
p_CurrentScene = scenes[0];
OnInput += InputMade;
OnSceneChange += SceneChange;
optionMethods = GetType().GetMethods().Where(x => x.Name.StartsWith("Scene")).ToArray();
sceneList = new List<GameScene>(scenes);
}
private void Start() => OnSceneChange(null, scenes[0]);
private void InputMade(int value)
{
MethodInfo method = optionMethods.FirstOrDefault(x => x.Name == "Scene" +
sceneList.IndexOf(p_CurrentScene) + "Option" + value);
if (method == default)
{
DefaultOption();
return;
}
method.Invoke(this, null);
}
private void SceneChange(GameScene? oldScene, GameScene newScene)
{
ren.Flush();
string write = (newScene.Title == "" ? "" : newScene.Title + "\n\n\n") + newScene.Text + "\n\n\n";
for (int i = 0; i < newScene.Options.Length; i++) write += i + " - " + newScene.Options[i] + "\n";
ren.WriteText(write, (int)(100 / newScene.TextSpeed), (int)(20 / newScene.TextSpeed));
}
// Begin option code
public void DefaultOption() => CurrentSceneIndex++;
public void Scene0Option1() => Transition.Instance.FadeTransition("Arcade");
public void Scene2Option0() => CurrentSceneIndex += 2;
public void Scene5Option0() => CurrentSceneIndex += 2;
public void Scene6Option0() => CurrentSceneIndex = 0;
public void Scene7Option1() => CurrentSceneIndex += 2;
public void Scene7Option2() => CurrentSceneIndex += 3;
public void Scene8Option0() => CurrentSceneIndex = 7;
public void Scene9Option0() => CurrentSceneIndex = 7;
public void Scene10Option0() => CurrentSceneIndex = 7;
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 3c62297c86b73614b81c1eb0d093b390
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,27 +0,0 @@
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.UI;
namespace That_One_Nerd.Unity.Games.ArcadeManiac.Minigames.TheAverage9To5Job
{
public class TextRenderer : MonoBehaviour
{
private Text txt;
private void Awake()
{
txt = GetComponent<Text>();
Flush();
}
public void Flush() => txt.text = "";
public async void WriteText(string content, int msDelay = 100, int mouseDownDelay = 20)
{
for (int i = 0; i < content.Length; i++)
{
await Task.Delay(Input.GetMouseButton(0) ? mouseDownDelay : msDelay);
txt.text += content[i];
}
}
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 2c58433a563c53143a46a83e88cefcd5
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 4b1220990f14196488a0726ca6f9cde7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,21 +0,0 @@
fileFormatVersion: 2
guid: e097cdc7a248073459654a4cf3b6da13
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Press Start 2P
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 687ace5773c7bdd46b76aefc9b52265a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,27 +0,0 @@
fileFormatVersion: 2
guid: f25c833667a05cd43b6f3b58986ecc0f
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Roboto Mono
fallbackFontReferences:
- {fileID: 12800000, guid: f1c76ab19cfdc0e49b4badc950f208b4, type: 3}
- {fileID: 12800000, guid: 105faa0aa2f380f4e951cb7f93b30ec3, type: 3}
- {fileID: 12800000, guid: 80cb26deaa97fd446981f310718d69b3, type: 3}
- {fileID: 12800000, guid: d00e4f76a84120649baef25739a44971, type: 3}
- {fileID: 12800000, guid: 2209feb51e651ae40b52edbfb7fbbb0c, type: 3}
- {fileID: 12800000, guid: e06515faa61507648b9a00959e740c8d, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,33 +0,0 @@
fileFormatVersion: 2
guid: a960a43782585bf45b43cdc960063a6d
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Roboto Mono
fallbackFontReferences:
- {fileID: 12800000, guid: f1c76ab19cfdc0e49b4badc950f208b4, type: 3}
- {fileID: 12800000, guid: 105faa0aa2f380f4e951cb7f93b30ec3, type: 3}
- {fileID: 12800000, guid: 80cb26deaa97fd446981f310718d69b3, type: 3}
- {fileID: 12800000, guid: f25c833667a05cd43b6f3b58986ecc0f, type: 3}
- {fileID: 12800000, guid: d00e4f76a84120649baef25739a44971, type: 3}
- {fileID: 12800000, guid: 08b0634ebb114b94cbf852a7c359318e, type: 3}
- {fileID: 12800000, guid: b524b76eed8c107428273c499cd377eb, type: 3}
- {fileID: 12800000, guid: 2209feb51e651ae40b52edbfb7fbbb0c, type: 3}
- {fileID: 12800000, guid: e06515faa61507648b9a00959e740c8d, type: 3}
- {fileID: 12800000, guid: 29c1afd1ca116d84c8e5cb38e3fdf6f7, type: 3}
- {fileID: 12800000, guid: 273bcc7ff2e38e84fadc6d3e09fc2798, type: 3}
- {fileID: 12800000, guid: 79b4baebd2c16c44eb3105df48875867, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 53905047f7713064083f7daf0b16995a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,22 +0,0 @@
fileFormatVersion: 2
guid: 80cb26deaa97fd446981f310718d69b3
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Roboto Mono
fallbackFontReferences:
- {fileID: 12800000, guid: 105faa0aa2f380f4e951cb7f93b30ec3, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,32 +0,0 @@
fileFormatVersion: 2
guid: 79b4baebd2c16c44eb3105df48875867
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Roboto Mono
fallbackFontReferences:
- {fileID: 12800000, guid: f1c76ab19cfdc0e49b4badc950f208b4, type: 3}
- {fileID: 12800000, guid: 105faa0aa2f380f4e951cb7f93b30ec3, type: 3}
- {fileID: 12800000, guid: 80cb26deaa97fd446981f310718d69b3, type: 3}
- {fileID: 12800000, guid: f25c833667a05cd43b6f3b58986ecc0f, type: 3}
- {fileID: 12800000, guid: d00e4f76a84120649baef25739a44971, type: 3}
- {fileID: 12800000, guid: 08b0634ebb114b94cbf852a7c359318e, type: 3}
- {fileID: 12800000, guid: b524b76eed8c107428273c499cd377eb, type: 3}
- {fileID: 12800000, guid: 2209feb51e651ae40b52edbfb7fbbb0c, type: 3}
- {fileID: 12800000, guid: e06515faa61507648b9a00959e740c8d, type: 3}
- {fileID: 12800000, guid: 29c1afd1ca116d84c8e5cb38e3fdf6f7, type: 3}
- {fileID: 12800000, guid: 273bcc7ff2e38e84fadc6d3e09fc2798, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,28 +0,0 @@
fileFormatVersion: 2
guid: b524b76eed8c107428273c499cd377eb
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Roboto Mono
fallbackFontReferences:
- {fileID: 12800000, guid: f1c76ab19cfdc0e49b4badc950f208b4, type: 3}
- {fileID: 12800000, guid: 105faa0aa2f380f4e951cb7f93b30ec3, type: 3}
- {fileID: 12800000, guid: 80cb26deaa97fd446981f310718d69b3, type: 3}
- {fileID: 12800000, guid: f25c833667a05cd43b6f3b58986ecc0f, type: 3}
- {fileID: 12800000, guid: d00e4f76a84120649baef25739a44971, type: 3}
- {fileID: 12800000, guid: 2209feb51e651ae40b52edbfb7fbbb0c, type: 3}
- {fileID: 12800000, guid: e06515faa61507648b9a00959e740c8d, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,34 +0,0 @@
fileFormatVersion: 2
guid: 4a8892a66908d8d4cbdf9b4c95f366b2
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Roboto Mono
fallbackFontReferences:
- {fileID: 12800000, guid: f1c76ab19cfdc0e49b4badc950f208b4, type: 3}
- {fileID: 12800000, guid: 105faa0aa2f380f4e951cb7f93b30ec3, type: 3}
- {fileID: 12800000, guid: 80cb26deaa97fd446981f310718d69b3, type: 3}
- {fileID: 12800000, guid: f25c833667a05cd43b6f3b58986ecc0f, type: 3}
- {fileID: 12800000, guid: d00e4f76a84120649baef25739a44971, type: 3}
- {fileID: 12800000, guid: 08b0634ebb114b94cbf852a7c359318e, type: 3}
- {fileID: 12800000, guid: b524b76eed8c107428273c499cd377eb, type: 3}
- {fileID: 12800000, guid: 2209feb51e651ae40b52edbfb7fbbb0c, type: 3}
- {fileID: 12800000, guid: e06515faa61507648b9a00959e740c8d, type: 3}
- {fileID: 12800000, guid: 29c1afd1ca116d84c8e5cb38e3fdf6f7, type: 3}
- {fileID: 12800000, guid: 273bcc7ff2e38e84fadc6d3e09fc2798, type: 3}
- {fileID: 12800000, guid: 79b4baebd2c16c44eb3105df48875867, type: 3}
- {fileID: 12800000, guid: a960a43782585bf45b43cdc960063a6d, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,30 +0,0 @@
fileFormatVersion: 2
guid: 08b0634ebb114b94cbf852a7c359318e
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Roboto Mono
fallbackFontReferences:
- {fileID: 12800000, guid: f1c76ab19cfdc0e49b4badc950f208b4, type: 3}
- {fileID: 12800000, guid: 105faa0aa2f380f4e951cb7f93b30ec3, type: 3}
- {fileID: 12800000, guid: 80cb26deaa97fd446981f310718d69b3, type: 3}
- {fileID: 12800000, guid: f25c833667a05cd43b6f3b58986ecc0f, type: 3}
- {fileID: 12800000, guid: d00e4f76a84120649baef25739a44971, type: 3}
- {fileID: 12800000, guid: b524b76eed8c107428273c499cd377eb, type: 3}
- {fileID: 12800000, guid: 2209feb51e651ae40b52edbfb7fbbb0c, type: 3}
- {fileID: 12800000, guid: e06515faa61507648b9a00959e740c8d, type: 3}
- {fileID: 12800000, guid: 273bcc7ff2e38e84fadc6d3e09fc2798, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,35 +0,0 @@
fileFormatVersion: 2
guid: 6a3ee73931b20694d8c5bf342e628b52
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Roboto Mono
fallbackFontReferences:
- {fileID: 12800000, guid: f1c76ab19cfdc0e49b4badc950f208b4, type: 3}
- {fileID: 12800000, guid: 4a8892a66908d8d4cbdf9b4c95f366b2, type: 3}
- {fileID: 12800000, guid: 105faa0aa2f380f4e951cb7f93b30ec3, type: 3}
- {fileID: 12800000, guid: 80cb26deaa97fd446981f310718d69b3, type: 3}
- {fileID: 12800000, guid: f25c833667a05cd43b6f3b58986ecc0f, type: 3}
- {fileID: 12800000, guid: d00e4f76a84120649baef25739a44971, type: 3}
- {fileID: 12800000, guid: 08b0634ebb114b94cbf852a7c359318e, type: 3}
- {fileID: 12800000, guid: b524b76eed8c107428273c499cd377eb, type: 3}
- {fileID: 12800000, guid: 2209feb51e651ae40b52edbfb7fbbb0c, type: 3}
- {fileID: 12800000, guid: e06515faa61507648b9a00959e740c8d, type: 3}
- {fileID: 12800000, guid: 29c1afd1ca116d84c8e5cb38e3fdf6f7, type: 3}
- {fileID: 12800000, guid: 273bcc7ff2e38e84fadc6d3e09fc2798, type: 3}
- {fileID: 12800000, guid: 79b4baebd2c16c44eb3105df48875867, type: 3}
- {fileID: 12800000, guid: a960a43782585bf45b43cdc960063a6d, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,24 +0,0 @@
fileFormatVersion: 2
guid: e06515faa61507648b9a00959e740c8d
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Roboto Mono
fallbackFontReferences:
- {fileID: 12800000, guid: 105faa0aa2f380f4e951cb7f93b30ec3, type: 3}
- {fileID: 12800000, guid: 80cb26deaa97fd446981f310718d69b3, type: 3}
- {fileID: 12800000, guid: d00e4f76a84120649baef25739a44971, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,26 +0,0 @@
fileFormatVersion: 2
guid: 2209feb51e651ae40b52edbfb7fbbb0c
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Roboto Mono
fallbackFontReferences:
- {fileID: 12800000, guid: f1c76ab19cfdc0e49b4badc950f208b4, type: 3}
- {fileID: 12800000, guid: 105faa0aa2f380f4e951cb7f93b30ec3, type: 3}
- {fileID: 12800000, guid: 80cb26deaa97fd446981f310718d69b3, type: 3}
- {fileID: 12800000, guid: d00e4f76a84120649baef25739a44971, type: 3}
- {fileID: 12800000, guid: e06515faa61507648b9a00959e740c8d, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,36 +0,0 @@
fileFormatVersion: 2
guid: 5ddaa09d12fe8ad44ab6ac08d3b12b9b
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Roboto Mono
fallbackFontReferences:
- {fileID: 12800000, guid: f1c76ab19cfdc0e49b4badc950f208b4, type: 3}
- {fileID: 12800000, guid: 4a8892a66908d8d4cbdf9b4c95f366b2, type: 3}
- {fileID: 12800000, guid: 105faa0aa2f380f4e951cb7f93b30ec3, type: 3}
- {fileID: 12800000, guid: 80cb26deaa97fd446981f310718d69b3, type: 3}
- {fileID: 12800000, guid: f25c833667a05cd43b6f3b58986ecc0f, type: 3}
- {fileID: 12800000, guid: d00e4f76a84120649baef25739a44971, type: 3}
- {fileID: 12800000, guid: 08b0634ebb114b94cbf852a7c359318e, type: 3}
- {fileID: 12800000, guid: b524b76eed8c107428273c499cd377eb, type: 3}
- {fileID: 12800000, guid: 6a3ee73931b20694d8c5bf342e628b52, type: 3}
- {fileID: 12800000, guid: 2209feb51e651ae40b52edbfb7fbbb0c, type: 3}
- {fileID: 12800000, guid: e06515faa61507648b9a00959e740c8d, type: 3}
- {fileID: 12800000, guid: 29c1afd1ca116d84c8e5cb38e3fdf6f7, type: 3}
- {fileID: 12800000, guid: 273bcc7ff2e38e84fadc6d3e09fc2798, type: 3}
- {fileID: 12800000, guid: 79b4baebd2c16c44eb3105df48875867, type: 3}
- {fileID: 12800000, guid: a960a43782585bf45b43cdc960063a6d, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,29 +0,0 @@
fileFormatVersion: 2
guid: 273bcc7ff2e38e84fadc6d3e09fc2798
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Roboto Mono
fallbackFontReferences:
- {fileID: 12800000, guid: f1c76ab19cfdc0e49b4badc950f208b4, type: 3}
- {fileID: 12800000, guid: 105faa0aa2f380f4e951cb7f93b30ec3, type: 3}
- {fileID: 12800000, guid: 80cb26deaa97fd446981f310718d69b3, type: 3}
- {fileID: 12800000, guid: f25c833667a05cd43b6f3b58986ecc0f, type: 3}
- {fileID: 12800000, guid: d00e4f76a84120649baef25739a44971, type: 3}
- {fileID: 12800000, guid: b524b76eed8c107428273c499cd377eb, type: 3}
- {fileID: 12800000, guid: 2209feb51e651ae40b52edbfb7fbbb0c, type: 3}
- {fileID: 12800000, guid: e06515faa61507648b9a00959e740c8d, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

Some files were not shown because too many files have changed in this diff Show More