Welcome to Open Knife π π§π·
βοΈ Just a scene to make it easier to loading on your phone.
βοΈ Use of 3 game states (Menu, InGame, GameOver)
βοΈ GameManager is a singleton with all managers instantiated using interface.
GameStates[] internStates = GetComponents<GameStates>();
gameStates.AddRange(internStates);
βοΈ UnityEvents for easy use of designers in the editor Unity.
βοΈ Design with split structure with Assembly Definitions, helping in times of smaller compilations, obliging the use of SOLID and split of tests.
βοΈ Full separation of game logic with UI, nothing depends on the user interface and its logic.
βοΈ Use URP with quick and easy rendering for mobile platform.
βοΈ Simple UI animations using triggers.
βοΈ Boss mode Pull Request #7.
βοΈ Use of Test Framework for procedure testing. - Runtime tests. - Editor tests.
Certain managers have been created to use logic and data easily and cleanly.
π¨ GameManager: A class singleton. with game states, It is important to note here the use of an interface for all components that want to receive event notifications from the game states.
π¨ LevelManager: Obviously responsible for the stages and their shipments.
π¨ UIManager: In addition to being the parent of the entire User Interface, it stores Canvas as well.
βΉοΈ Player with Shooter,Scorer
βΉοΈ Wood with Rotator,CurveRotator
βΉοΈ Knife with Knife,RigidBody2D
βΉοΈ Fruit with Rigidbody2D
βοΈ ScriptableObjects to separate data from scenes.
βοΈ AnimationCurves for time interpolation of wood speed.
βοΈ AngleObject is a list that keeps object items with an angle.
One of the biggest problems seen in this production was the doubt that one should use physics or not. Problems using Unity physics can be seen here:
For a designer it is very easy to just edit a file, in this way it was used the ScriptableObject.
Obviously a designer who wants to exchange an effect sound or choose when to instantiate a particle in the scene should create easily and quickly, so 'UnityEvent' was used extensively.
Use of assembly packages for each namespace of the project, thus dividing the use of resources helping in the use of tests.
β° 12 hours
π€ Rafael Correa (Script)
- Twitter: @ScriptsEngineer
- Github: @scriptsengineer
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Give a βοΈ if this project helped you!
π¨ FREE Casual Game SFX Pack
π¨ 20 Evolving Fantasy RPG Weapons
π¨ Free Pixel Font - Thaleah
π¨ Free Pixel Food
This project is MIT licensed.