├── .gitignore
├── README.md
└── Scripts
├── Editor.meta
├── Editor
├── AssetPostprocessor.meta
├── AssetPostprocessor
│ ├── TexturePostProcessor.cs
│ └── TexturePostProcessor.cs.meta
├── Managers.meta
└── Managers
│ ├── ManagerLevel.meta
│ └── ManagerLevel
│ ├── ManagerLevelEditor.cs
│ └── ManagerLevelEditor.cs.meta
├── Runtime.meta
├── Runtime
├── Core.meta
├── Core
│ ├── Actors.meta
│ ├── Actors
│ │ ├── Actor.meta
│ │ ├── Actor
│ │ │ ├── Actor.cs
│ │ │ ├── Actor.cs.meta
│ │ │ ├── ActorAi.cs
│ │ │ ├── ActorAi.cs.meta
│ │ │ ├── ActorPlayer.cs
│ │ │ ├── ActorPlayer.cs.meta
│ │ │ ├── Controllers.meta
│ │ │ └── Controllers
│ │ │ │ ├── ControllerActorAnimator.meta
│ │ │ │ ├── ControllerActorAnimator
│ │ │ │ ├── ControllerActorAnimator.cs
│ │ │ │ └── ControllerActorAnimator.cs.meta
│ │ │ │ ├── ControllerActorController.meta
│ │ │ │ ├── ControllerActorController
│ │ │ │ ├── ControllerBaseControllerControllerBasePlayerJoystick.cs
│ │ │ │ ├── ControllerBaseControllerControllerBasePlayerJoystick.cs.meta
│ │ │ │ ├── ControllerControllerBase.cs
│ │ │ │ ├── ControllerControllerBase.cs.meta
│ │ │ │ ├── ControllerControllerBaseAi.cs
│ │ │ │ ├── ControllerControllerBaseAi.cs.meta
│ │ │ │ ├── ControllerControllerBasePlayer.cs
│ │ │ │ └── ControllerControllerBasePlayer.cs.meta
│ │ │ │ ├── ControllerActorHealth.meta
│ │ │ │ ├── ControllerActorHealth
│ │ │ │ ├── ControllerActorHealth.cs
│ │ │ │ └── ControllerActorHealth.cs.meta
│ │ │ │ ├── ControllerActorStack.meta
│ │ │ │ ├── ControllerActorStack
│ │ │ │ ├── ControllerStack.cs
│ │ │ │ ├── ControllerStack.cs.meta
│ │ │ │ ├── StackSlot.cs
│ │ │ │ └── StackSlot.cs.meta
│ │ │ │ ├── ControllerActorWorldCanvas.meta
│ │ │ │ └── ControllerActorWorldCanvas
│ │ │ │ ├── ControllerActorWorldCanvas.cs
│ │ │ │ └── ControllerActorWorldCanvas.cs.meta
│ │ ├── Character.meta
│ │ └── Character
│ │ │ ├── Character.cs
│ │ │ ├── Character.cs.meta
│ │ │ ├── CharacterAi.cs
│ │ │ ├── CharacterAi.cs.meta
│ │ │ ├── CharacterPlayer.cs
│ │ │ ├── CharacterPlayer.cs.meta
│ │ │ ├── Controllers.meta
│ │ │ └── Controllers
│ │ │ ├── ControllerCharacterRagdoll.cs
│ │ │ └── ControllerCharacterRagdoll.cs.meta
│ ├── Enums.meta
│ ├── Enums
│ │ ├── LevelStarterType.cs
│ │ └── LevelStarterType.cs.meta
│ ├── Extentions.meta
│ ├── Extentions
│ │ ├── ScrollViewFocusFunctions.cs
│ │ └── ScrollViewFocusFunctions.cs.meta
│ ├── FactorySystem.meta
│ ├── FactorySystem
│ │ ├── Factory.cs
│ │ └── Factory.cs.meta
│ ├── Helpers.meta
│ ├── Helpers
│ │ ├── Gizmos.meta
│ │ ├── Gizmos
│ │ │ ├── VisualGizmoAdder.cs
│ │ │ └── VisualGizmoAdder.cs.meta
│ │ ├── RotationAngleClamper.cs
│ │ ├── RotationAngleClamper.cs.meta
│ │ ├── Starters.meta
│ │ ├── Starters
│ │ │ ├── GameStarter.cs
│ │ │ ├── GameStarter.cs.meta
│ │ │ ├── LevelStarter.cs
│ │ │ └── LevelStarter.cs.meta
│ │ ├── Undestroyable.cs
│ │ ├── Undestroyable.cs.meta
│ │ ├── UpdateFrameFrequencyController.cs
│ │ └── UpdateFrameFrequencyController.cs.meta
│ ├── Interfaces.meta
│ ├── Interfaces
│ │ ├── IProvideObject.cs
│ │ ├── IProvideObject.cs.meta
│ │ ├── ISetUpdateFunction.cs
│ │ └── ISetUpdateFunction.cs.meta
│ ├── Managers.meta
│ ├── Managers
│ │ ├── ManagerAddressable.meta
│ │ ├── ManagerAddressable
│ │ │ ├── ManagerAddressable.cs
│ │ │ └── ManagerAddressable.cs.meta
│ │ ├── ManagerCinemachine.meta
│ │ ├── ManagerCinemachine
│ │ │ ├── ManagerCinemachine.cs
│ │ │ └── ManagerCinemachine.cs.meta
│ │ ├── ManagerEvent.meta
│ │ ├── ManagerEvent
│ │ │ ├── ManagerEvent.cs
│ │ │ └── ManagerEvent.cs.meta
│ │ ├── ManagerGame.meta
│ │ ├── ManagerGame
│ │ │ ├── GameStateType.cs
│ │ │ ├── GameStateType.cs.meta
│ │ │ ├── ManagerGame.cs
│ │ │ └── ManagerGame.cs.meta
│ │ ├── ManagerInput.meta
│ │ ├── ManagerInput
│ │ │ ├── ManagerInput.cs
│ │ │ └── ManagerInput.cs.meta
│ │ ├── ManagerLevel.meta
│ │ ├── ManagerLevel
│ │ │ ├── Level.cs
│ │ │ ├── Level.cs.meta
│ │ │ ├── ManagerLevel.cs
│ │ │ └── ManagerLevel.cs.meta
│ │ ├── ManagerSave.meta
│ │ ├── ManagerSave
│ │ │ ├── ManagerSave.cs
│ │ │ └── ManagerSave.cs.meta
│ │ ├── ManagerServiceLocator.meta
│ │ ├── ManagerServiceLocator
│ │ │ ├── ManagerServiceLocator.cs
│ │ │ └── ManagerServiceLocator.cs.meta
│ │ ├── ManagerSound.meta
│ │ ├── ManagerSound
│ │ │ ├── ManagerSound.cs
│ │ │ └── ManagerSound.cs.meta
│ │ ├── ManagerUi.meta
│ │ ├── ManagerUi
│ │ │ ├── ControllerUiCanvases.cs
│ │ │ ├── ControllerUiCanvases.cs.meta
│ │ │ ├── ControllerUiJoystickCanvas.cs
│ │ │ ├── ControllerUiJoystickCanvas.cs.meta
│ │ │ ├── ControllerUiLevelCanvas.cs
│ │ │ ├── ControllerUiLevelCanvas.cs.meta
│ │ │ ├── ControllerUiLoadingCanvas.cs
│ │ │ ├── ControllerUiLoadingCanvas.cs.meta
│ │ │ ├── ControllerUiMoneyCanvas.cs
│ │ │ ├── ControllerUiMoneyCanvas.cs.meta
│ │ │ ├── ControllerUiPointerCanvas.cs
│ │ │ ├── ControllerUiPointerCanvas.cs.meta
│ │ │ ├── ControllerUiRank.cs
│ │ │ ├── ControllerUiRank.cs.meta
│ │ │ ├── ControllerUiTutorialCanvas.cs
│ │ │ ├── ControllerUiTutorialCanvas.cs.meta
│ │ │ ├── ManagerUi.cs
│ │ │ └── ManagerUi.cs.meta
│ │ ├── ManagerVibrate.meta
│ │ ├── ManagerVibrate
│ │ │ ├── ManagerVibration.cs
│ │ │ └── ManagerVibration.cs.meta
│ │ ├── ManagerWisdomSDK.meta
│ │ └── ManagerWisdomSDK
│ │ │ ├── ManagerWisdomSDK.cs
│ │ │ └── ManagerWisdomSDK.cs.meta
│ ├── ScriptableObjects.meta
│ ├── ScriptableObjects
│ │ ├── Data.meta
│ │ ├── Data
│ │ │ ├── Character.meta
│ │ │ ├── Character
│ │ │ │ ├── PlayerDataSO.cs
│ │ │ │ └── PlayerDataSO.cs.meta
│ │ │ ├── CharacterData.cs
│ │ │ ├── CharacterData.cs.meta
│ │ │ ├── Sounds.meta
│ │ │ ├── Sounds
│ │ │ │ ├── SoundsGameplayDataSO.cs
│ │ │ │ ├── SoundsGameplayDataSO.cs.meta
│ │ │ │ ├── SoundsUiDataSO.cs
│ │ │ │ └── SoundsUiDataSO.cs.meta
│ │ │ ├── Ui.meta
│ │ │ └── Ui
│ │ │ │ ├── CharacterIconsSO.cs
│ │ │ │ └── CharacterIconsSO.cs.meta
│ │ ├── Events.meta
│ │ ├── Events
│ │ │ ├── Base.meta
│ │ │ ├── Base
│ │ │ │ ├── EventChannel.cs
│ │ │ │ ├── EventChannel.cs.meta
│ │ │ │ ├── EventListener.cs
│ │ │ │ └── EventListener.cs.meta
│ │ │ ├── EventChannels.meta
│ │ │ ├── EventChannels
│ │ │ │ ├── EventChannelFloat.cs
│ │ │ │ ├── EventChannelFloat.cs.meta
│ │ │ │ ├── EventChannelGameObject.cs
│ │ │ │ ├── EventChannelGameObject.cs.meta
│ │ │ │ ├── EventChannelGameState.cs
│ │ │ │ ├── EventChannelGameState.cs.meta
│ │ │ │ ├── EventChannelInt.cs
│ │ │ │ ├── EventChannelInt.cs.meta
│ │ │ │ ├── EventChannelVector3.cs
│ │ │ │ ├── EventChannelVector3.cs.meta
│ │ │ │ ├── EventChannelVoid.cs
│ │ │ │ └── EventChannelVoid.cs.meta
│ │ │ ├── EventListeners.meta
│ │ │ └── EventListeners
│ │ │ │ ├── EventListenerFloat.cs
│ │ │ │ ├── EventListenerFloat.cs.meta
│ │ │ │ ├── EventListenerGameObject.cs
│ │ │ │ ├── EventListenerGameObject.cs.meta
│ │ │ │ ├── EventListenerGameState.cs
│ │ │ │ ├── EventListenerGameState.cs.meta
│ │ │ │ ├── EventListenerInt.cs
│ │ │ │ ├── EventListenerInt.cs.meta
│ │ │ │ ├── EventListenerVector3.cs
│ │ │ │ ├── EventListenerVector3.cs.meta
│ │ │ │ ├── EventListenerVoid.cs
│ │ │ │ └── EventListenerVoid.cs.meta
│ │ ├── Structs.meta
│ │ └── Structs
│ │ │ ├── Void.cs
│ │ │ └── Void.cs.meta
│ ├── Ui.meta
│ └── Ui
│ │ ├── ControllerCanvasButton.meta
│ │ ├── ControllerCanvasButton
│ │ ├── Base.meta
│ │ ├── Base
│ │ │ ├── ControllerCanvasButtons.cs
│ │ │ └── ControllerCanvasButtons.cs.meta
│ │ ├── ControllerUiButtonFail.cs
│ │ ├── ControllerUiButtonFail.cs.meta
│ │ ├── ControllerUiButtonInGameButtons.cs
│ │ ├── ControllerUiButtonInGameButtons.cs.meta
│ │ ├── ControllerUiButtonSettings.cs
│ │ ├── ControllerUiButtonSettings.cs.meta
│ │ ├── ControllerUiButtonShop.cs
│ │ ├── ControllerUiButtonShop.cs.meta
│ │ ├── ControllerUiButtonSuccess.cs
│ │ └── ControllerUiButtonSuccess.cs.meta
│ │ ├── ControllerCanvasOpenClose.meta
│ │ ├── ControllerCanvasOpenClose
│ │ ├── Base.meta
│ │ ├── Base
│ │ │ ├── ControllerCanvasOpenCloseBase.cs
│ │ │ └── ControllerCanvasOpenCloseBase.cs.meta
│ │ ├── ControllerOpenCloseBaseDamageCanvas.cs
│ │ ├── ControllerOpenCloseBaseDamageCanvas.cs.meta
│ │ ├── ControllerOpenCloseBaseSuccessCanvas.cs
│ │ ├── ControllerOpenCloseBaseSuccessCanvas.cs.meta
│ │ ├── ControllerOpenCloseBaseUiPointerCanvas.cs
│ │ ├── ControllerOpenCloseBaseUiPointerCanvas.cs.meta
│ │ ├── ControllerOpenCloseFailCanvas.cs
│ │ ├── ControllerOpenCloseFailCanvas.cs.meta
│ │ ├── ControllerOpenCloseInGameButtonsCanvas.cs
│ │ ├── ControllerOpenCloseInGameButtonsCanvas.cs.meta
│ │ ├── ControllerOpenCloseJoystickCanvas.cs
│ │ ├── ControllerOpenCloseJoystickCanvas.cs.meta
│ │ ├── ControllerOpenCloseLevelCanvas.cs
│ │ ├── ControllerOpenCloseLevelCanvas.cs.meta
│ │ ├── ControllerOpenCloseLoadingCanvas.cs
│ │ ├── ControllerOpenCloseLoadingCanvas.cs.meta
│ │ ├── ControllerOpenCloseMoneyCanvas.cs
│ │ ├── ControllerOpenCloseMoneyCanvas.cs.meta
│ │ ├── ControllerOpenCloseRankCanvas.cs
│ │ ├── ControllerOpenCloseRankCanvas.cs.meta
│ │ ├── ControllerOpenCloseSettingCanvas.cs
│ │ ├── ControllerOpenCloseSettingCanvas.cs.meta
│ │ ├── ControllerOpenCloseShopCanvas.cs
│ │ ├── ControllerOpenCloseShopCanvas.cs.meta
│ │ ├── ControllerOpenCloseTutorialCanvas.cs
│ │ └── ControllerOpenCloseTutorialCanvas.cs.meta
│ │ ├── UIParticleSystem.cs
│ │ ├── UIParticleSystem.cs.meta
│ │ ├── UiCoin.cs
│ │ ├── UiCoin.cs.meta
│ │ ├── UiPointer.cs
│ │ ├── UiPointer.cs.meta
│ │ ├── UiRank.cs
│ │ ├── UiRank.cs.meta
│ │ ├── UiStar.cs
│ │ ├── UiStar.cs.meta
│ │ ├── UiToggle.cs
│ │ ├── UiToggle.cs.meta
│ │ ├── UiTutorial.cs
│ │ └── UiTutorial.cs.meta
├── Systems.meta
└── Systems
│ ├── AddressablesSystem.meta
│ ├── AddressablesSystem
│ ├── AddressablesSystem.cs
│ └── AddressablesSystem.cs.meta
│ ├── CinemachineSystem.meta
│ ├── CinemachineSystem
│ ├── CinemachineSystem.cs
│ ├── CinemachineSystem.cs.meta
│ ├── ControllerCinemachineCameraShake.cs
│ ├── ControllerCinemachineCameraShake.cs.meta
│ ├── GhostObjectForCinemachineTarget.cs
│ └── GhostObjectForCinemachineTarget.cs.meta
│ ├── EventSystem.meta
│ ├── EventSystem
│ ├── EventSystem.cs
│ ├── EventSystem.cs.meta
│ ├── Interfaces.meta
│ ├── Interfaces
│ │ ├── IEvent.cs
│ │ └── IEvent.cs.meta
│ ├── TolianEvents.meta
│ └── TolianEvents
│ │ ├── TolianEvents.cs
│ │ └── TolianEvents.cs.meta
│ ├── InputSystem.meta
│ ├── InputSystem
│ ├── Enums.meta
│ ├── Enums
│ │ ├── InputType.cs
│ │ ├── InputType.cs.meta
│ │ ├── JoystickType.cs
│ │ └── JoystickType.cs.meta
│ ├── InputSystem.cs
│ └── InputSystem.cs.meta
│ ├── LevelSystem.meta
│ ├── LevelSystem
│ ├── ControllerLevel.cs
│ └── ControllerLevel.cs.meta
│ ├── ObjectPoolSystem.meta
│ ├── ObjectPoolSystem
│ ├── Enum.meta
│ ├── Enum
│ │ ├── ObjectPoolType.cs
│ │ └── ObjectPoolType.cs.meta
│ ├── Interfaces.meta
│ ├── Interfaces
│ │ ├── BaseObjectForObjectPoolSystem.cs
│ │ └── BaseObjectForObjectPoolSystem.cs.meta
│ ├── ManagerObjectPool.meta
│ ├── ManagerObjectPool
│ │ ├── ManagerObjectPool.cs
│ │ └── ManagerObjectPool.cs.meta
│ ├── ObjectPoolSystem.cs
│ └── ObjectPoolSystem.cs.meta
│ ├── OnBoardingSystem.meta
│ ├── OnBoardingSystem
│ ├── ControllerOnBoarding.cs
│ ├── ControllerOnBoarding.cs.meta
│ ├── OnBoardingTask.cs
│ ├── OnBoardingTask.cs.meta
│ ├── OnBoardingTasks.meta
│ ├── OnBoardingTasks
│ │ ├── OnBoardingTaskMoveToPosition.cs
│ │ └── OnBoardingTaskMoveToPosition.cs.meta
│ ├── OnboardingStep.cs
│ └── OnboardingStep.cs.meta
│ ├── SaveSystem.meta
│ ├── SaveSystem
│ ├── SaveClasses.meta
│ ├── SaveClasses
│ │ ├── OnboardingStepsCompletionSitutation.cs
│ │ └── OnboardingStepsCompletionSitutation.cs.meta
│ ├── SaveState.cs
│ ├── SaveState.cs.meta
│ ├── SaveSystem.cs
│ └── SaveSystem.cs.meta
│ ├── ServiceLocatorSystem.meta
│ ├── ServiceLocatorSystem
│ ├── Interfaces.meta
│ ├── Interfaces
│ │ ├── IService.cs
│ │ └── IService.cs.meta
│ ├── MonoBehaviourService.cs
│ ├── MonoBehaviourService.cs.meta
│ ├── ServiceLocatorSystem.cs
│ └── ServiceLocatorSystem.cs.meta
│ ├── SingletonSystem.meta
│ ├── SingletonSystem
│ ├── Singleton.cs
│ └── Singleton.cs.meta
│ ├── SoundSystem.meta
│ ├── SoundSystem
│ ├── SoundSystem.cs
│ └── SoundSystem.cs.meta
│ ├── TolianDebuggerSystem.meta
│ ├── TolianDebuggerSystem
│ ├── ManagerTolianDebugger.meta
│ └── ManagerTolianDebugger
│ │ ├── ManagerDebugger.cs
│ │ └── ManagerDebugger.cs.meta
│ ├── UiSystem.meta
│ ├── UiSystem
│ ├── CanvasUi.cs
│ ├── CanvasUi.cs.meta
│ ├── CanvasUiPart.cs
│ ├── CanvasUiPart.cs.meta
│ ├── Enum.meta
│ ├── Enum
│ │ ├── CanvasOpeningType.cs
│ │ ├── CanvasOpeningType.cs.meta
│ │ ├── CanvasType.cs
│ │ ├── CanvasType.cs.meta
│ │ ├── UiTutorialType.cs
│ │ └── UiTutorialType.cs.meta
│ ├── Interface.meta
│ ├── Interface
│ │ ├── IOpenCloseUiCanvas.cs
│ │ └── IOpenCloseUiCanvas.cs.meta
│ ├── Systems.meta
│ └── Systems
│ │ ├── UiCanvasSystem.cs
│ │ ├── UiCanvasSystem.cs.meta
│ │ ├── UiJoystickSystem.cs
│ │ └── UiJoystickSystem.cs.meta
│ ├── VibrateSystem.meta
│ └── VibrateSystem
│ ├── VibrateSystem.cs
│ └── VibrateSystem.cs.meta
├── Test.meta
├── Test
├── EditModeTests.meta
├── EditModeTests
│ ├── Test1.cs
│ └── Test1.cs.meta
├── PlayModeTests.meta
└── PlayModeTests
│ ├── Test2.cs
│ └── Test2.cs.meta
├── __Doxygen.meta
└── __Doxygen
├── README.md
└── README.md.meta
/.gitignore:
--------------------------------------------------------------------------------
1 | # This .gitignore file should be placed at the root of your Unity project directory
2 | #
3 | # Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
4 | #
5 | /[Ll]ibrary/
6 | /[Tt]emp/
7 | /[Oo]bj/
8 | /[Bb]uild/
9 | /[Bb]uilds/
10 | /[Ll]ogs/
11 | /[Uu]ser[Ss]ettings/
12 |
13 | # MemoryCaptures can get excessive in size.
14 | # They also could contain extremely sensitive data
15 | /[Mm]emoryCaptures/
16 |
17 | # Recordings can get excessive in size
18 | /[Rr]ecordings/
19 |
20 | # Uncomment this line if you wish to ignore the asset store tools plugin
21 | # /[Aa]ssets/AssetStoreTools*
22 |
23 | # Autogenerated Jetbrains Rider plugin
24 | /[Aa]ssets/Plugins/Editor/JetBrains*
25 |
26 | # Visual Studio cache directory
27 | .vs/
28 |
29 | # Gradle cache directory
30 | .gradle/
31 |
32 | # Autogenerated VS/MD/Consulo solution and project files
33 | ExportedObj/
34 | .consulo/
35 | *.csproj
36 | *.unityproj
37 | *.sln
38 | *.suo
39 | *.tmp
40 | *.user
41 | *.userprefs
42 | *.pidb
43 | *.booproj
44 | *.svd
45 | *.pdb
46 | *.mdb
47 | *.opendb
48 | *.VC.db
49 |
50 | # Unity3D generated meta files
51 | *.pidb.meta
52 | *.pdb.meta
53 | *.mdb.meta
54 |
55 | # Unity3D generated file on crash reports
56 | sysinfo.txt
57 |
58 | # Builds
59 | *.apk
60 | *.aab
61 | *.unitypackage
62 | *.app
63 |
64 | # Crashlytics generated file
65 | crashlytics-build.properties
66 |
67 | # Packed Addressables
68 | /[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
69 |
70 | # Temporary auto-generated Android Assets
71 | /[Aa]ssets/[Ss]treamingAssets/aa.meta
72 | /[Aa]ssets/[Ss]treamingAssets/aa/*
73 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Project: Unity Framework For Mobile Games
2 | ## Project Description
3 | This repository contains SCRIPT folders of my Unity framework.
4 | Please refer to my medium articles which explain about this framework.
5 | [Medium Link](https://medium.com/@canernurdag/unity-how-to-create-a-base-framework-for-mobile-games-b2d936660df0)
6 | The followings are implemented:
7 | - Addressables
8 | - Assembly Definitions br>
9 | - Scriptable Objects
10 | - Observer Pattern
11 | - Singleton Pattern
12 | - Service-Locator Pattern
13 | - Factory Pattern
14 | - Object Pool Pattern
15 | - Editor Codes
16 | - Gameplay Framework
17 | - Ui System
18 | - Save System
19 | - Event System
20 | - Input system
21 | - Cinemachine system
22 | - ...
23 |
--------------------------------------------------------------------------------
/Scripts/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ad4c95590d971ac48bef86e6e5688fe7
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Editor/AssetPostprocessor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b3b4d95523f250f4d9c51f11f17f2800
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Editor/AssetPostprocessor/TexturePostProcessor.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using UnityEditor;
5 | using UnityEngine;
6 |
7 | namespace Tolian.Editor.AssetPostProcessSystem
8 | {
9 | ///
10 | /// Handles importing textures as Sprite.
11 | ///
12 | public class TexturePostProcessor : AssetPostprocessor
13 | {
14 | private void OnPreprocessTexture()
15 | {
16 | var textureImporter = assetImporter as TextureImporter;
17 | textureImporter.textureType = TextureImporterType.Sprite;
18 | textureImporter.spriteImportMode = SpriteImportMode.Single;
19 | textureImporter.maxTextureSize = 512;
20 | }
21 |
22 | }
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/Scripts/Editor/AssetPostprocessor/TexturePostProcessor.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 47e6926db0c625b4dbc7360ed93cc63b
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Editor/Managers.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1f687c3a71471ee47b296a206d2f7b52
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Editor/Managers/ManagerLevel.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2c53b010356c612419e53b6dc11bca90
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Editor/Managers/ManagerLevel/ManagerLevelEditor.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Core.Managers;
2 | using Tolian.Runtime.Core.Managers.LevelSystem;
3 | using UnityEditor;
4 | using UnityEngine;
5 |
6 | namespace Tolian.Editor.ManagerLevelSystem
7 | {
8 | ///
9 | /// Gives more functionality to ManagerLevel class
10 | ///
11 | [CustomEditor(typeof(ManagerLevel))]
12 | public class ManagerLevelEditor : UnityEditor.Editor
13 | {
14 | ///
15 | /// This override lets users to refresh "build scenes" automatically according to ManagerLevel
16 | ///
17 | public override void OnInspectorGUI()
18 | {
19 | base.OnInspectorGUI();
20 |
21 | ManagerLevel managerLevel = (ManagerLevel) target;
22 | EditorGUILayout.LabelField("Custom Actions For ManagerLevel", EditorStyles.boldLabel);
23 | if (GUILayout.Button( "Add Scenes In Build To ManagerLevel's Level List"))
24 | {
25 | var scenes = EditorBuildSettings.scenes;
26 | managerLevel.Levels.Clear();
27 |
28 | for (int i = 0; i < scenes.Length; i++)
29 | {
30 | var scene = scenes[i];
31 | if (scene.enabled)
32 | {
33 | if (i == 0)
34 | {
35 | managerLevel.Levels.Add(new Level(i,false));
36 | }
37 | else
38 | {
39 | managerLevel.Levels.Add(new Level(i,true));
40 | }
41 |
42 | }
43 | }
44 | }
45 | }
46 | }
47 | }
48 |
49 |
--------------------------------------------------------------------------------
/Scripts/Editor/Managers/ManagerLevel/ManagerLevelEditor.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4cb6cdd2f37d30e408b7556f1a268e72
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e949a0f7611eb0e4d874aa0277a3ed32
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c9aed611ee000b145951e84d4fa0ed9e
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1c22ef711bc566b4daba0a08acfffd70
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a1c9af3c68e1bf34fb52839e8c1162d3
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Actor.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace Tolian.Runtime.Core.Actors
4 | {
5 | ///
6 | /// Base class for Actors
7 | ///
8 | public abstract class Actor : MonoBehaviour
9 | {
10 |
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Actor.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 436a0e3c3ccc7a94a9463d737fccf82a
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/ActorAi.cs:
--------------------------------------------------------------------------------
1 | namespace Tolian.Runtime.Core.Actors
2 | {
3 | public class ActorAi : Actor
4 | {
5 |
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/ActorAi.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 859b5295f69d79f4cac22de0d3d33f5a
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/ActorPlayer.cs:
--------------------------------------------------------------------------------
1 | namespace Tolian.Runtime.Core.Actors
2 | {
3 | public class ActorPlayer : Actor
4 | {
5 |
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/ActorPlayer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2ddb1217c6461e6429b59cd37ba041f9
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 708f26f2e56fdb84ba00222aab1bdd02
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorAnimator.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 56a6234740ac2c24abb6fa7e2bd77558
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorAnimator/ControllerActorAnimator.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 824356b3ff614a74681867357be189a0
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorController.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 337dbd819d7c52145a23d433214151cf
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorController/ControllerBaseControllerControllerBasePlayerJoystick.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 45be3e360094e174aaa180ce3961a562
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorController/ControllerControllerBase.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using UnityEngine;
5 |
6 | namespace Tolian.Runtime.Core.Actors.Controllers.ControlSystem
7 | {
8 | public abstract class ControllerControllerBase : MonoBehaviour
9 | {
10 | #region Internals
11 | protected bool _preventControl;
12 | #endregion
13 |
14 | protected abstract void ControllerLogic();
15 |
16 | public virtual void SetPreventControl(bool value)
17 | {
18 | _preventControl = value;
19 | }
20 | }
21 | }
22 |
23 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorController/ControllerControllerBase.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d1a1276c38f416a4493b157b9992985a
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorController/ControllerControllerBaseAi.cs:
--------------------------------------------------------------------------------
1 | namespace Tolian.Runtime.Core.Actors.Controllers.ControlSystem
2 | {
3 | public abstract class ControllerControllerBaseAi : ControllerControllerBase
4 | {
5 |
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorController/ControllerControllerBaseAi.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c3d0eecf27defe74ab1d059a9bae1517
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorController/ControllerControllerBasePlayer.cs:
--------------------------------------------------------------------------------
1 |
2 | using Tolian.Runtime.Core.Managers;
3 |
4 | namespace Tolian.Runtime.Core.Actors.Controllers.ControlSystem
5 | {
6 | public abstract class ControllerControllerBasePlayer : ControllerControllerBase
7 | {
8 | #region References
9 | public ManagerInput ManagerInput { get; protected set; }
10 | #endregion
11 |
12 | protected virtual void Start()
13 | {
14 | ManagerInput = ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService();
15 | }
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorController/ControllerControllerBasePlayer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1b0976a69d8b1f34fb627ff68a12b860
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorHealth.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cef7f21e28a333a48b486568f67bdd57
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorHealth/ControllerActorHealth.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace Tolian.Runtime.Core.Actors.Controllers.HealthSystem
4 | {
5 | public abstract class ControllerActorHealth : MonoBehaviour
6 | {
7 | public int Health { get; protected set; }
8 |
9 | public virtual void SetHealth(int targetHealth)
10 | {
11 | Health = targetHealth;
12 | }
13 |
14 | public void GetDamage(int damageAmount)
15 | {
16 | int newHealth = Health - damageAmount;
17 | if (newHealth < 0) newHealth = 0;
18 |
19 | SetHealth(newHealth);
20 |
21 | DamageZeroCallback();
22 | }
23 |
24 | public abstract void DamageZeroCallback();
25 | }
26 | }
27 |
28 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorHealth/ControllerActorHealth.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e0fb3e4e7c4e1de498ab951e1c5e5aa9
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorStack.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f6078fd5119c63043abfb8cb6126cb9f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorStack/ControllerStack.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 274f62b91daa89742833692c5efb9d27
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorStack/StackSlot.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | namespace Tolian.Runtime.Core.Actors.StackSystem
6 | {
7 | public class StackSlot : MonoBehaviour
8 | {
9 | public Transform InsideObjectTransform;
10 | }
11 | }
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorStack/StackSlot.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b702f2d262b92ef48a3bf0fce0863d7b
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorWorldCanvas.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b63bc84472d0f4f4ba214e02b9a6ab5c
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorWorldCanvas/ControllerActorWorldCanvas.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using DG.Tweening;
5 | using TMPro;
6 | using UnityEngine;
7 | using UnityEngine.UI;
8 |
9 | namespace Tolian.Runtime.Core.Actors.Controllers.WorldCanvasSystem
10 | {
11 | ///
12 | /// Base class for WorldCanvasControllers
13 | ///
14 | public abstract class ControllerActorWorldCanvas : MonoBehaviour
15 | {
16 | #region REFERENCES
17 | [SerializeField] protected TMP_Text _tmpText;
18 | [SerializeField] protected Slider _slider;
19 | #endregion
20 |
21 | #region INTERNAL VARIABLES
22 | protected Tween _sliderTween;
23 | #endregion
24 |
25 | public void SetTMPText(string value)
26 | {
27 | _tmpText.text = value;
28 | }
29 |
30 | public void SetSliderValue(float value)
31 | {
32 | _slider.value = value;
33 | }
34 |
35 | public void SetSliderValue(float value, float duration)
36 | {
37 | _sliderTween?.Kill();
38 | _sliderTween = _slider.DOValue(value, duration);
39 | }
40 |
41 | public void SetSliderValue(float value, float duration, Action callback)
42 | {
43 | _sliderTween?.Kill();
44 | _sliderTween = _slider.DOValue(value, duration)
45 | .OnComplete(()=>callback());
46 | }
47 |
48 | }
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Actor/Controllers/ControllerActorWorldCanvas/ControllerActorWorldCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6be6f3ec1bad2ec4aa90f82c20de7f6b
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Character.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: aa52dfd2d8a01e44bb0500d1a4d38de1
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Character/Character.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace Tolian.Runtime.Core.Actors.Characters
3 | {
4 | ///
5 | /// Base class for Characters
6 | ///
7 | public abstract class Character : Actor
8 | {
9 |
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Character/Character.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 16cde6254971af64b9645bf8b879bac5
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Character/CharacterAi.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace Tolian.Runtime.Core.Actors.Characters
3 | {
4 | public class CharacterAi : Character
5 | {
6 |
7 | }
8 | }
9 |
10 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Character/CharacterAi.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 86256eb4bd383eb478e42b7ae48ceb8d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Character/CharacterPlayer.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace Tolian.Runtime.Core.Actors.Characters
3 | {
4 | public class CharacterPlayer : Character
5 | {
6 |
7 | }
8 | }
9 |
10 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Character/CharacterPlayer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 83a9ef53bc3427b4e8d592084bbe7756
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Character/Controllers.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0dbd1fad7decc5b40ae88c5a99695b82
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Character/Controllers/ControllerCharacterRagdoll.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using Tolian.Runtime.Core.Actors.Controllers.AnimatorSystem;
5 | using UnityEngine;
6 |
7 | namespace Tolian.Runtime.Core.Actors.Characters.Controller.RagdollSystem
8 | {
9 | public class ControllerCharacterRagdoll : MonoBehaviour
10 | {
11 | [SerializeField] private Transform _parentTransform;
12 |
13 | private List _rigidbodies = new List();
14 | private List _colliders = new List();
15 | private Collider _mainCollider;
16 |
17 | private ControllerActorAnimator _controllerActorAnimator;
18 |
19 | private void Awake()
20 | {
21 | _rigidbodies = _parentTransform.GetComponentsInChildren().ToList();
22 | _colliders = _parentTransform.GetComponentsInChildren().ToList();
23 | _mainCollider = GetComponent();
24 | _controllerActorAnimator = GetComponent();
25 | }
26 |
27 | private void Start()
28 | {
29 | SetRagdollActiveness(false);
30 | }
31 |
32 |
33 | public void SetRagdollActiveness(bool value)
34 | {
35 | _controllerActorAnimator.SetAnimatorActiveness(!value);
36 |
37 | for (int i = 0; i < _rigidbodies.Count; i++)
38 | {
39 | _rigidbodies[i].isKinematic = !value;
40 |
41 | }
42 |
43 | for (int i = 0; i < _colliders.Count; i++)
44 | {
45 | _colliders[i].enabled = value;
46 | }
47 |
48 | _mainCollider.enabled = !value;
49 |
50 |
51 | }
52 | }
53 | }
54 |
55 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Actors/Character/Controllers/ControllerCharacterRagdoll.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 12f29b01d908c3a4a917fe30d25a6230
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Enums.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7165bb6ed652e114e925c386751158c8
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Enums/LevelStarterType.cs:
--------------------------------------------------------------------------------
1 | namespace Tolian.Runtime.Core.Enums
2 | {
3 | public enum LevelStarterType
4 | {
5 | StartWithinFirstFrame,
6 | StartWithFirstInput
7 | }
8 | }
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Enums/LevelStarterType.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ae1f9905820b5fd4994494eb73e1f25f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Extentions.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 11345ad17f600c14d94e8f6444fbfb96
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Extentions/ScrollViewFocusFunctions.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dd23407abf102af4b963a222a9a5d3b2
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/FactorySystem.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3b4d672b09e8344499cc6199c10609c9
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/FactorySystem/Factory.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Core.Interfaces;
2 | using Tolian.Runtime.Core.Managers;
3 | using Tolian.Runtime.Systems.ObjectPoolDomain;
4 | using UnityEngine;
5 |
6 | namespace Tolian.Runtime.Abstract.DesignPatterns.FactorySystem
7 | {
8 | ///
9 | /// For ABSTRACT FACTORY Design Pattern => Base and abstract class for Factories.
10 | ///
11 | public abstract class Factory : MonoBehaviour, IProvideObject
12 | {
13 | #region REFERENCES
14 | protected ManagerObjectPool _managerObjectPool;
15 | #endregion
16 |
17 | private void Start()
18 | {
19 | _managerObjectPool = ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService();
20 | }
21 |
22 | public virtual GameObject GetObjectFromObjectPool(ObjectPoolType targetObjectPoolType)
23 | {
24 | GameObject newGameObject = _managerObjectPool.ObjectPoolSystem.Spawn(targetObjectPoolType);
25 | newGameObject.transform.SetParent(transform);
26 |
27 | return newGameObject;
28 | }
29 |
30 |
31 | public virtual GameObject GetObjectFromPrefab(GameObject targetPrefab)
32 | {
33 | GameObject newGameObject = Instantiate(targetPrefab);
34 | newGameObject.transform.SetParent(transform);
35 |
36 | return newGameObject;
37 | }
38 | }
39 |
40 | }
41 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/FactorySystem/Factory.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c89cf8d6103e39d469162c1064be5d39
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Helpers.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 674561d3f39dcd34c91f93fdb0fbbd47
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Helpers/Gizmos.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 85506843145ba8a45aedeb518e3528d0
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Helpers/Gizmos/VisualGizmoAdder.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using UnityEngine;
5 |
6 | namespace Tolian.Runtime.Helpers
7 | {
8 | public class VisualGizmoAdder : MonoBehaviour
9 | {
10 | #region Fields
11 | [SerializeField] private float _radius = 2;
12 | [SerializeField] private Color _color = Color.black;
13 | #endregion
14 |
15 | private void OnDrawGizmos()
16 | {
17 | Gizmos.color = _color;
18 | Gizmos.DrawSphere(transform.position, _radius);
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Helpers/Gizmos/VisualGizmoAdder.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d065e9b10070c5a4385412f476ad0a6a
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Helpers/RotationAngleClamper.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | namespace Tolian.Runtime.Helpers
6 | {
7 | public static class RotationAngleClamper
8 | {
9 | public static float ClampAngle(float angle, float min, float max)
10 | {
11 |
12 | angle = NormalizeAngle(angle);
13 | if (angle > 180)
14 | {
15 | angle -= 360;
16 | }
17 | else if (angle < -180)
18 | {
19 | angle += 360;
20 | }
21 |
22 | min = NormalizeAngle(min);
23 | if (min > 180)
24 | {
25 | min -= 360;
26 | }
27 | else if (min < -180)
28 | {
29 | min += 360;
30 | }
31 |
32 | max = NormalizeAngle(max);
33 | if (max > 180)
34 | {
35 | max -= 360;
36 | }
37 | else if (max < -180)
38 | {
39 | max += 360;
40 | }
41 |
42 | // Aim is, convert angles to -180 until 180.
43 | return Mathf.Clamp(angle, min, max);
44 | }
45 |
46 | /** If angles over 360 or under 360 degree, then normalize them.
47 | */
48 | private static float NormalizeAngle(float angle)
49 | {
50 | while (angle > 360)
51 | angle -= 360;
52 | while (angle < 0)
53 | angle += 360;
54 | return angle;
55 | }
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Helpers/RotationAngleClamper.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0059ccde8db9b8242aabe33ee55ef15d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Helpers/Starters.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 11d3abd6b682df348a683249df9a9d04
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Helpers/Starters/GameStarter.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Core.Managers;
2 | using UnityEngine;
3 | using UnityEngine.SceneManagement;
4 |
5 | [DefaultExecutionOrder(100)]
6 | public class GameStarter : MonoBehaviour
7 | {
8 | private void Start()
9 | {
10 | ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService().OpenTheSameLevel(true);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Helpers/Starters/GameStarter.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c3cf675ebb1d8b54da2e4faeb742ff4f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Helpers/Starters/LevelStarter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using Tolian.Runtime.Core.Enums;
5 | using Tolian.Runtime.Core.Managers;
6 | using Tolian.Runtime.Core.Managers.GameSystem;
7 | using UnityEngine;
8 | using UnityEngine.EventSystems;
9 |
10 | public class LevelStarter : MonoBehaviour
11 | {
12 | #region REFERENCES
13 | public ManagerGame ManagerGame { get; private set; }
14 |
15 | #endregion
16 |
17 | #region Variables
18 | [SerializeField] private LevelStarterType _levelStarterType;
19 |
20 | private const string UITARGETTAG = "InGameButton"; //Declare and def
21 | #endregion
22 |
23 | private void Start()
24 | {
25 | ManagerGame = ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService();
26 |
27 | switch (_levelStarterType)
28 | {
29 | case LevelStarterType.StartWithinFirstFrame:
30 | ManagerGame.SetCurrentGameStateType(GameStateType.LevelStarted);
31 | break;
32 | case LevelStarterType.StartWithFirstInput:
33 |
34 | break;
35 | default:
36 | throw new ArgumentOutOfRangeException();
37 | }
38 | }
39 |
40 | private void Update()
41 | {
42 | if (ManagerGame.CurrentGameStateType == GameStateType.LevelOpened)
43 | {
44 | if (Input.GetMouseButton(0) || Input.touchCount > 0)
45 | {
46 | if (!IsPointerOverTargetUiObject(UITARGETTAG))
47 | {
48 | ManagerGame.SetCurrentGameStateType(GameStateType.LevelStarted);
49 | }
50 | }
51 | }
52 | }
53 |
54 | private bool IsPointerOverTargetUiObject(string targetGameObjectTag)
55 | {
56 | if (!EventSystem.current.IsPointerOverGameObject()) return false;
57 | if (EventSystem.current.currentSelectedGameObject == null) return false;
58 | if (EventSystem.current.currentSelectedGameObject.CompareTag(targetGameObjectTag)) return true;
59 |
60 | return false;
61 | }
62 | }
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Helpers/Starters/LevelStarter.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7c99ba9192b805a49917ff7d0ca09d1c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Helpers/Undestroyable.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using UnityEngine;
5 |
6 | namespace Tolian.Runtime.Helpers
7 | {
8 | public class Undestroyable : MonoBehaviour
9 | {
10 | #region Fields
11 | [SerializeField] private bool _isUndestroyable;
12 | #endregion
13 |
14 | #region Properties
15 | public bool IsUndestroyable => _isUndestroyable;
16 | #endregion
17 |
18 | private void Awake()
19 | {
20 | if (IsUndestroyable)
21 | {
22 | DontDestroyOnLoad(this.gameObject);
23 | }
24 | }
25 | }
26 | }
27 |
28 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Helpers/Undestroyable.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dded9c778b722894ba2729887c017f54
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Helpers/UpdateFrameFrequencyController.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using Tolian.Runtime.Core.Interfaces;
5 | using UnityEngine;
6 |
7 | namespace Tolian.Runtime.Helpers
8 | {
9 | public class UpdateFrameFrequencyController : MonoBehaviour
10 | {
11 | //Update start variables
12 | protected bool _isUpdateActive = false;
13 | protected int _startFrame = 0;
14 | [SerializeField] protected int _targetFrameRate = 60;
15 |
16 | //Update time check variables
17 | protected float _timer = 0;
18 | protected float _durationBetweenCalls = 0.5f;
19 |
20 | protected ISetUpdateFunction _iSetUpdateFunction;
21 |
22 | protected virtual void Awake()
23 | {
24 | _startFrame = UnityEngine.Random.Range(0, _targetFrameRate);
25 | }
26 |
27 | protected virtual IEnumerator Start()
28 | {
29 | int currentFrame = 0;
30 |
31 | while (!_isUpdateActive)
32 | {
33 | currentFrame++;
34 |
35 | if (currentFrame >= _startFrame)
36 | {
37 | _isUpdateActive = true;
38 | yield break;
39 | }
40 |
41 | yield return new WaitForEndOfFrame();
42 | }
43 | }
44 |
45 | protected virtual void Update()
46 | {
47 | if(!_isUpdateActive) return;
48 |
49 | if (_timer >= _durationBetweenCalls)
50 | {
51 | if (_iSetUpdateFunction != null)
52 | {
53 | _iSetUpdateFunction.UpdateFunction();
54 | }
55 |
56 | _timer = 0;
57 | }
58 |
59 | _timer += Time.deltaTime;
60 | }
61 |
62 | public void SetDurationBetweenCalls(float targetValue)
63 | {
64 | _durationBetweenCalls = targetValue;
65 | }
66 |
67 | public void SetISetUpdateFunction(ISetUpdateFunction targetISetUpdateFunction)
68 | {
69 | _iSetUpdateFunction = targetISetUpdateFunction;
70 | }
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Helpers/UpdateFrameFrequencyController.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3ec5a4dd9dd547645add8fcd4e022c3e
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Interfaces.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6b9440b9fcdc23f41a065a6e412e5264
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Interfaces/IProvideObject.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Systems.ObjectPoolDomain;
2 | using UnityEngine;
3 |
4 | namespace Tolian.Runtime.Core.Interfaces
5 | {
6 | public interface IProvideObject
7 | {
8 | GameObject GetObjectFromObjectPool(ObjectPoolType targetObjectPoolType);
9 | GameObject GetObjectFromPrefab(GameObject targetPrefab);
10 | }
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Interfaces/IProvideObject.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8a2194051d06dc04c85dcf259b0f820c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Interfaces/ISetUpdateFunction.cs:
--------------------------------------------------------------------------------
1 | namespace Tolian.Runtime.Core.Interfaces
2 | {
3 | public interface ISetUpdateFunction
4 | {
5 | void UpdateFunction();
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Interfaces/ISetUpdateFunction.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3eab588f25538a64a95207e03452cb80
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 55f43d2e852189640812a2122f48fd08
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerAddressable.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a96c66aad7adcc647a999dabfaf9ed9e
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerAddressable/ManagerAddressable.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Systems.AddressablesDomain;
2 | using Tolian.Runtime.Systems.ServiceLocatorDomain;
3 | using UnityEngine;
4 |
5 |
6 | namespace Tolian.Runtime.Core.Managers
7 | {
8 | [RequireComponent(typeof(AddressablesSystem))]
9 | public class ManagerAddressable : MonoBehaviourService
10 | {
11 | public AddressablesSystem AddressablesSystem { get; private set; }
12 |
13 | protected override void Awake()
14 | {
15 | base.Awake();
16 | AddressablesSystem = GetComponent();
17 | }
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerAddressable/ManagerAddressable.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7f4aa0fe509bc80458cb738ff40e8d15
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerCinemachine.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fe7fd75640c914a4195e0335265ddd5c
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerCinemachine/ManagerCinemachine.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Systems.CinemachineDomain;
2 | using Tolian.Runtime.Systems.ServiceLocatorDomain;
3 | using UnityEngine;
4 |
5 | namespace Tolian.Runtime.Core.Managers
6 | {
7 | ///
8 | /// This class handles all Cinemachine related operations via "CinemachineSystem"
9 | ///
10 |
11 | [RequireComponent(typeof(CinemachineSystem))]
12 | public class ManagerCinemachine : MonoBehaviourService
13 | {
14 | public CinemachineSystem CinemachineSystem { get; private set; }
15 |
16 | protected override void Awake()
17 | {
18 | base.Awake();
19 | CinemachineSystem = GetComponent();
20 | }
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerCinemachine/ManagerCinemachine.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9c9f65a1cbb34c24499cf2f9afa07264
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerEvent.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: aa04375d30d498e4a8caf3b95d22479d
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerEvent/ManagerEvent.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Systems.EventDomain;
2 | using Tolian.Runtime.Systems.ServiceLocatorDomain;
3 | using UnityEngine;
4 |
5 | namespace Tolian.Runtime.Core.Managers
6 | {
7 | ///
8 | /// This class controls all the C# events in the game via EventSystem.
9 | /// This class is provides Observer design pattern.
10 | ///
11 | [RequireComponent(typeof(EventSystem))]
12 | public class ManagerEvent : MonoBehaviourService
13 | {
14 | #region REF
15 | public EventSystem EventSystem { get; private set; }
16 | #endregion
17 |
18 | protected override void Awake()
19 | {
20 | base.Awake();
21 | EventSystem = GetComponent();
22 | }
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerEvent/ManagerEvent.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d99ffa10d8b0382419bb3f7d8780fa77
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerGame.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0160664868b16c146ae29d3d2f303993
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerGame/GameStateType.cs:
--------------------------------------------------------------------------------
1 | namespace Tolian.Runtime.Core.Managers.GameSystem
2 | {
3 | public enum GameStateType
4 | {
5 | Loading,
6 | Menu,
7 | GamePaused,
8 | LevelOpened,
9 | LevelStarted,
10 | LevelFinished,
11 | LevelEnding
12 | }
13 | }
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerGame/GameStateType.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 21968b030fe53744dbdd41f2a4aca43a
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerGame/ManagerGame.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Core.Managers.GameSystem;
2 | using Tolian.Runtime.Systems.EventDomain;
3 | using Tolian.Runtime.Systems.ServiceLocatorDomain;
4 | using UnityEngine;
5 |
6 | namespace Tolian.Runtime.Core.Managers
7 | {
8 | public sealed class ManagerGame : MonoBehaviourService
9 | {
10 | ///
11 | /// The one of the most important variable in the system. The most logics depends on this.
12 | ///
13 | private GameStateType _currentGameStateType;
14 | public GameStateType CurrentGameStateType => _currentGameStateType;
15 |
16 | protected override void Awake()
17 | {
18 | base.Awake();
19 | SetQualityAndFPS();
20 | }
21 |
22 | ///
23 | /// This function can be extended by giving specific values according to target platform.
24 | /// Besides, this function can be linked to "Ui Settings" and Save System
25 | ///
26 | private void SetQualityAndFPS()
27 | {
28 | #if UNITY_ANDROID || UNITY_IOS
29 | QualitySettings.vSyncCount = 0;
30 | Application.targetFrameRate = 60;
31 | #endif
32 | }
33 |
34 | protected override void OnDisable()
35 | {
36 | base.OnDisable();
37 | }
38 |
39 | ///
40 | /// Set the CurrentGameStateType here. In addition, this function rises "OnGameStateChange" event to notify all systems in the games.
41 | ///
42 | ///
43 | public void SetCurrentGameStateType(GameStateType gameStateType)
44 | {
45 | _currentGameStateType = gameStateType;
46 | ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService().EventSystem.GetEvent().Execute(gameStateType);
47 | }
48 | }
49 |
50 | }
51 |
52 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerGame/ManagerGame.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ceb8f955a0230f34a9dfcdbae792f3c6
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerInput.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4e1783d3a8df3644980ac637c47a9c44
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerInput/ManagerInput.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Core.Managers.UiSystem;
2 | using Tolian.Runtime.Systems.InputDomain;
3 | using Tolian.Runtime.Systems.ServiceLocatorDomain;
4 | using UnityEngine;
5 |
6 | namespace Tolian.Runtime.Core.Managers
7 | {
8 | [DefaultExecutionOrder(100)]
9 | [RequireComponent(typeof(InputSystem))]
10 | public class ManagerInput : MonoBehaviourService
11 | {
12 | #region REFERENCES
13 | public InputSystem InputSystem { get; private set; }
14 | public ControllerUiJoystickCanvas ControllerUiJoystickCanvas { get; private set; }
15 | #endregion
16 |
17 | protected override void Awake()
18 | {
19 | base.Awake();
20 |
21 | //REFERENCES
22 | InputSystem = GetComponent();
23 | }
24 |
25 | private void Start()
26 | {
27 | //REFERENCES
28 | ControllerUiJoystickCanvas = ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService()
29 | .ControllerUiJoystickCanvas;
30 |
31 | if (InputSystem.InputType == InputType.Joystick)
32 | {
33 | switch (InputSystem.JoystickType)
34 | {
35 | case JoystickType.Static:
36 | ControllerUiJoystickCanvas.SetActiveJoystick(JoystickType.Static);
37 |
38 | break;
39 |
40 | case JoystickType.Floating:
41 | ControllerUiJoystickCanvas.SetActiveJoystick(JoystickType.Floating);
42 |
43 | break;
44 |
45 | case JoystickType.Dynamic:
46 | ControllerUiJoystickCanvas.SetActiveJoystick(JoystickType.Dynamic);
47 | break;
48 | }
49 |
50 | }
51 |
52 | }
53 |
54 | }
55 |
56 | }
57 |
58 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerInput/ManagerInput.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4b2dcce73906a4646b9e66e60ce869ea
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerLevel.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 893e4c5a667d1c14a8fc265a533fa179
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerLevel/Level.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | namespace Tolian.Runtime.Core.Managers.LevelSystem
6 | {
7 | [System.Serializable]
8 | public class Level
9 | {
10 | public int LevelIndex;
11 | public bool IsLevelReturnable = true;
12 |
13 | public Level(int levelIndex, bool isLevelReturnable)
14 | {
15 | LevelIndex = levelIndex;
16 | IsLevelReturnable = isLevelReturnable;
17 | }
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerLevel/Level.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 917b3d67904371845a6149b34bef7359
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerLevel/ManagerLevel.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b4ed1489ff649e94f8177ff2589fe94b
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerSave.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 00f31ebf0dfdf114cabc78a8be4e91a3
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerSave/ManagerSave.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Systems.SaveDomain;
2 | using Tolian.Runtime.Systems.ServiceLocatorDomain;
3 | using UnityEngine;
4 |
5 | namespace Tolian.Runtime.Core.Managers
6 | {
7 | [RequireComponent(typeof(SaveSystem))]
8 | public class ManagerSave : MonoBehaviourService
9 | {
10 | public SaveSystem SaveSystem { get; private set; }
11 |
12 | protected override void Awake()
13 | {
14 | base.Awake();
15 | SaveSystem = GetComponent();
16 | }
17 | }
18 | }
19 |
20 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerSave/ManagerSave.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 70beed2cf98253b48a7c889b4f4ba9d2
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerServiceLocator.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1e46125beee72e54f8cb16eab1ce9815
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerServiceLocator/ManagerServiceLocator.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Abstract.DesignPatterns.SingletonSystem;
2 | using Tolian.Runtime.Systems.ServiceLocatorDomain;
3 | using UnityEngine;
4 |
5 |
6 | namespace Tolian.Runtime.Core.Managers
7 | {
8 | ///
9 | /// This is the main class that gives us to reach the essential classes.
10 | /// This class is using Singleton design patterns. Therefore, it can be accessed with static instance.
11 | /// In order to add new class, please refer to "MonoBehaviourService" classes. The new classes should be inherited from "MonoBehaviourService" and automatically registered to "ServiceLocatorSystem"
12 | ///
13 | ///
14 | [DefaultExecutionOrder(-50)]
15 | [RequireComponent(typeof(ServiceLocatorSystem))]
16 | public class ManagerServiceLocator : Singleton
17 | {
18 | #region REFERENCES
19 | public ServiceLocatorSystem ServiceLocatorSystem { get; private set; }
20 | #endregion
21 |
22 | protected override void Awake()
23 | {
24 | base.Awake();
25 | ServiceLocatorSystem = GetComponent();
26 | }
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerServiceLocator/ManagerServiceLocator.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 90ac0b1f96594cd4f919f801dcb1b89f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerSound.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 36e3765858c39ee41a8a7e7daaedbcbd
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerSound/ManagerSound.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Tolian.Runtime.Systems.SaveDomain;
3 | using Tolian.Runtime.Systems.ServiceLocatorDomain;
4 | using Tolian.Runtime.Systems.SoundDomain;
5 | using UnityEngine;
6 |
7 | namespace Tolian.Runtime.Core.Managers
8 | {
9 | ///
10 | /// Manage Sounds Here
11 | ///
12 |
13 | [RequireComponent(typeof(SoundSystem))]
14 | public class ManagerSound : MonoBehaviourService
15 | {
16 | private SaveSystem _saveSystem;
17 | private SoundSystem _soundSystem;
18 | public SoundSystem SoundSystem
19 | {
20 | get
21 | {
22 | if (_saveSystem != null && _saveSystem.SaveState != null)
23 | {
24 | bool isSoundOn = _saveSystem.SaveState.IsVibrationOn;
25 |
26 | _soundSystem.SetPreventSound(!isSoundOn);
27 | }
28 |
29 | return _soundSystem;
30 | }
31 | private set { }
32 | }
33 |
34 | protected override void Awake()
35 | {
36 | base.Awake();
37 | _soundSystem = GetComponent();
38 | }
39 |
40 | private void Start()
41 | {
42 | _saveSystem = ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService().SaveSystem;
43 | }
44 |
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerSound/ManagerSound.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8b329884024bc6148b74b74e7b42dcf7
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerUi.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ca127756c54bd6546ba750b6ca2f5a35
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerUi/ControllerUiCanvases.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using Tolian.Runtime.Core.Managers.GameSystem;
5 | using Tolian.Runtime.Systems.EventDomain;
6 | using Tolian.Runtime.Systems.UiDomain;
7 | using UnityEngine;
8 |
9 | namespace Tolian.Runtime.Core.Managers.UiSystem
10 | {
11 | ///
12 | /// This class controls opening and closing canvases via "UiCanvasSystem"
13 | ///
14 | [RequireComponent(typeof(UiCanvasSystem))]
15 | public class ControllerUiCanvases : MonoBehaviour
16 | {
17 | #region REFERENCES
18 | private ManagerEvent _managerEvent;
19 | public UiCanvasSystem UiCanvasSystem { get; private set; }
20 | #endregion
21 |
22 | #region VARIABLES
23 | [SerializeField] protected List _levelOpeningCanvases = new();
24 | #endregion
25 |
26 |
27 | private void Awake()
28 | {
29 | UiCanvasSystem = GetComponent();
30 | }
31 |
32 | private void OnDisable()
33 | {
34 | _managerEvent.EventSystem.GetEvent().RemoveListener(SetCanvasesAccordingToGameState);
35 | }
36 |
37 | private void Start()
38 | {
39 | _managerEvent = ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService();
40 | _managerEvent.EventSystem.GetEvent().AddListener(SetCanvasesAccordingToGameState);
41 | }
42 |
43 | public void SetCanvasesAccordingToGameState(GameStateType gameStateType)
44 | {
45 | if (gameStateType == GameStateType.LevelOpened)
46 | {
47 | UiCanvasSystem.SetActivenessOfAllCanvases(false);
48 |
49 | for (int i = 0; i < _levelOpeningCanvases.Count; i++)
50 | {
51 | UiCanvasSystem.SetActivenessOfSpecificCanvas(_levelOpeningCanvases[i],true);
52 | }
53 | }
54 | else if (gameStateType == GameStateType.LevelStarted)
55 | {
56 | UiCanvasSystem. SetActivenessOfSpecificCanvas(CanvasType.CanvasInGameButton,false);
57 | }
58 | }
59 | }
60 |
61 | }
62 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerUi/ControllerUiCanvases.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2306e8d1ed9ec4942b5c75b8a90b4cd3
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerUi/ControllerUiJoystickCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 210d2ae8f36ea0041ad31d9497dc9cdd
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerUi/ControllerUiLevelCanvas.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using DG.Tweening;
4 | using TMPro;
5 | using UnityEngine;
6 | using UnityEngine.UI;
7 |
8 | namespace Tolian.Runtime.Core.Managers.UiSystem
9 | {
10 | ///
11 | /// This class controls Ui objects such as levelNo, levelProgress etc which reflects data related to current level
12 | ///
13 | public class ControllerUiLevelCanvas : MonoBehaviour
14 | {
15 | [SerializeField] private TMP_Text _level;
16 | [SerializeField] private Slider _fillSlider;
17 | private Tween _fillTween;
18 |
19 | private void SetLevelId()
20 | {
21 | _level.text = ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService().SaveSystem.SaveState.LevelCounter.ToString();
22 | }
23 |
24 | public void SetLevelProgress(float value, float duration)
25 | {
26 | _fillTween?.Kill();
27 | _fillTween = DOTween.To(() => _fillSlider.value,
28 | x => _fillSlider.value = x,
29 | value,
30 | duration);
31 | }
32 |
33 | public void SetLevelProgress(float value)
34 | {
35 | _fillSlider.value = value;
36 | }
37 | }
38 | }
39 |
40 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerUi/ControllerUiLevelCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7f3a622c81eb4624f81677def33929c1
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerUi/ControllerUiLoadingCanvas.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using TMPro;
4 | using UnityEngine;
5 | using UnityEngine.UI;
6 |
7 | namespace Tolian.Runtime.Core.Managers.UiSystem
8 | {
9 | public class ControllerUiLoadingCanvas : MonoBehaviour
10 | {
11 | [SerializeField] private Slider _loadingSlider;
12 | [SerializeField] private TMP_Text _loadingText;
13 |
14 | public void SetSliderValue(float value)
15 | {
16 | value = Mathf.Clamp01(value);
17 | _loadingSlider.value = value;
18 | _loadingText.text = $"{value * 100}%";
19 | }
20 |
21 | }
22 | }
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerUi/ControllerUiLoadingCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 204b71cd922f06a4b857b164707443e5
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerUi/ControllerUiMoneyCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e88c76ae7fc92dc40a6cbe8701ff6392
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerUi/ControllerUiPointerCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 564a5c3ab4b07c944b25b56da4cf7bf8
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerUi/ControllerUiRank.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 37edc05e68d118b4c9121fdfd53c2f0f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerUi/ControllerUiTutorialCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3c8b9edcd85e94842a6a912da7cd6f0a
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerUi/ManagerUi.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Core.Managers.UiSystem;
2 | using Tolian.Runtime.Systems.ServiceLocatorDomain;
3 |
4 | namespace Tolian.Runtime.Core.Managers
5 | {
6 | ///
7 | /// This is the main class that includes all ui control classes, except for "World Space Canvases".
8 | ///
9 | public class ManagerUi : MonoBehaviourService
10 | {
11 | #region REFERENCES
12 | public ControllerUiCanvases ControllerUiCanvases { get; protected set; }
13 | public ControllerUiJoystickCanvas ControllerUiJoystickCanvas { get; protected set; }
14 | public ControllerUiLevelCanvas ControllerUiLevelCanvas { get; protected set; }
15 | public ControllerUiTutorialCanvas ControllerUiTutorialCanvas { get; protected set; }
16 | public ControllerUiPointerCanvas ControllerUiPointerCanvas { get; protected set; }
17 | public ControllerUiMoneyCanvas ControllerUiMoneyCanvas { get; protected set; }
18 | public ControllerUiLoadingCanvas ControllerUiLoadingCanvas { get; protected set; }
19 | #endregion
20 |
21 | protected override void Awake()
22 | {
23 | base.Awake();
24 |
25 | ControllerUiCanvases = GetComponent();
26 | ControllerUiJoystickCanvas = GetComponent();
27 | ControllerUiLevelCanvas = GetComponent();
28 | ControllerUiTutorialCanvas = GetComponent();
29 | ControllerUiPointerCanvas = GetComponent();
30 | ControllerUiMoneyCanvas = GetComponent();
31 | ControllerUiLoadingCanvas = GetComponent();
32 | }
33 |
34 | }
35 | }
36 |
37 |
38 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerUi/ManagerUi.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 63c44ec6dcc91f04aa1fb5983a2b5856
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerVibrate.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f0791a03c2d8e384fb7aaf92d75e9de0
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerVibrate/ManagerVibration.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MoreMountains.NiceVibrations;
3 | using Tolian.Runtime.Systems.SaveDomain;
4 | using Tolian.Runtime.Systems.ServiceLocatorDomain;
5 | using Tolian.Runtime.Systems.VibrateDomain;
6 | using UnityEngine;
7 |
8 | namespace Tolian.Runtime.Core.Managers
9 | {
10 | [RequireComponent(typeof(VibrateSystem))]
11 | public class ManagerVibration : MonoBehaviourService
12 | {
13 | private SaveSystem _saveSystem;
14 | private VibrateSystem _vibrateSystem;
15 | public VibrateSystem VibrateSystem
16 | {
17 | get
18 | {
19 | if (_saveSystem != null && _saveSystem.SaveState != null)
20 | {
21 | bool isVibrationOn = _saveSystem.SaveState.IsVibrationOn;
22 |
23 | _vibrateSystem.SetPreventVibration(!isVibrationOn);
24 | }
25 |
26 |
27 | return _vibrateSystem;
28 | }
29 | private set { }
30 | }
31 |
32 | protected override void Awake()
33 | {
34 | base.Awake();
35 | VibrateSystem = GetComponent();
36 | }
37 |
38 | private void Start()
39 | {
40 | _saveSystem = ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService().SaveSystem;
41 | }
42 | }
43 |
44 | }
45 |
46 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerVibrate/ManagerVibration.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 163df95de07b9f44081e28a2e8970a14
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerWisdomSDK.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 887bc47cb25dc534991e1313c7fd7093
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Managers/ManagerWisdomSDK/ManagerWisdomSDK.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 51db4b23290e8ec40b2b0f0a6e619806
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 43649d02c343d764fbb38a8235a02879
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Data.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 460baf6551c6af540ba56d691dfa6d09
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Data/Character.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cb8d2d957787dfb4b85d4e26d0a19894
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Data/Character/PlayerDataSO.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | namespace Tolian.Runtime.Core.ScriptableObjects.Data
6 | {
7 | [CreateAssetMenu(fileName = "PlayerData", menuName = "TolianGames/Data/Character/PlayerData")]
8 | public class PlayerDataSO : CharacterData
9 | {
10 |
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Data/Character/PlayerDataSO.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 57efbc7262ecc6241bf3e297babe6de6
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Data/CharacterData.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | namespace Tolian.Runtime.Core.ScriptableObjects.Data
6 | {
7 | public abstract class CharacterData : ScriptableObject
8 | {
9 | public float MovementMultiplier;
10 | public float RotationMultiplier;
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Data/CharacterData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2a8c7257dc82ccb4aa0c1fcbfa431a59
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Data/Sounds.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f8566f4dd007e4a4ab1686c08185ba1f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Data/Sounds/SoundsGameplayDataSO.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | namespace Tolian.Runtime.Core.ScriptableObjects.Data
6 | {
7 | [CreateAssetMenu(fileName = "SoundsGameplayDataSO", menuName = "TolianGames/Data/Sound/SoundsGameplayDataSO")]
8 | public class SoundsGameplayDataSO : ScriptableObject
9 | {
10 | [Header("Collectables")]
11 | public AudioClip CoingCollectableSFX;
12 | public AudioClip FancyCoinCollectableSFX;
13 | public AudioClip ItemCollectableSFX;
14 | public AudioClip BubbleSFX;
15 |
16 | [Header("Others")]
17 | public AudioClip TimeTickingSFX;
18 | public AudioClip EatingSFX;
19 | public AudioClip SlideUpSFX;
20 | public AudioClip SlideDownSFX;
21 | }
22 | }
23 |
24 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Data/Sounds/SoundsGameplayDataSO.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bb4b4b64857c1294a8496b9dd8f34cc8
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Data/Sounds/SoundsUiDataSO.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | namespace Tolian.Runtime.Core.ScriptableObjects.Data
6 | {
7 | [CreateAssetMenu(fileName = "SoundsUiDataSO", menuName = "TolianGames/Data/Sound/SoundsUiDataSO")]
8 |
9 | public class SoundsUiDataSO : ScriptableObject
10 | {
11 | public AudioClip ButtonSelectSFX;
12 | public AudioClip ButtonExitSFX;
13 | public AudioClip ButtonToggleSFX;
14 | public AudioClip PopUpSFX;
15 | public AudioClip StarSFX;
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Data/Sounds/SoundsUiDataSO.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bd9cfbcfd9699bf4fbb8413d1dcad37e
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Data/Ui.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 56f665a90c15e2f4b8e055e16ad329b2
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Data/Ui/CharacterIconsSO.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | namespace Tolian.Runtime.Core.ScriptableObjects.Data
6 | {
7 | [CreateAssetMenu(fileName = "CharacterIcons", menuName = "TolianGames/Data/UI/CharacterIcons")]
8 | public class CharacterIconsSO : ScriptableObject
9 | {
10 | public List CharacterIcons;
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Data/Ui/CharacterIconsSO.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bad7fdb9a490def4e999191bf4c8075f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9a17b1155ef5a504ab4abf9dcf2f1211
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/Base.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 77b34c45ffbf3fa45b4394430eeb0e72
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/Base/EventChannel.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Tolian.ScriptableSystem;
4 | using UnityEngine;
5 |
6 | namespace Tolian.ScriptableSystem
7 | {
8 | public abstract class EventChannel : ScriptableObject
9 | {
10 | protected List> _eventListeners = new List>();
11 |
12 | public virtual void RaiseEvent(T eventParameter)
13 | {
14 | for (int i = _eventListeners.Count - 1; i >= 0; i--)
15 | {
16 | _eventListeners[i].OnInvokeRelatedActions(eventParameter, this);;
17 | }
18 | }
19 |
20 | public virtual void SubscribeEventListener(EventListener eventListener)
21 | {
22 | if (!_eventListeners.Contains(eventListener))
23 | {
24 | _eventListeners.Add(eventListener);
25 | }
26 | }
27 |
28 | public virtual void UnsubscribeEventListener(EventListener eventListener)
29 | {
30 | if(_eventListeners.Contains(eventListener))
31 | {
32 | _eventListeners.Remove(eventListener);
33 | }
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/Base/EventChannel.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 70c700e9e92d2884ab3abe3d0988aaf0
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/Base/EventListener.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using UnityEngine;
6 | using UnityEngine.Rendering;
7 |
8 | namespace Tolian.ScriptableSystem
9 | {
10 | public abstract class EventListener : MonoBehaviour
11 | {
12 | [SerializeField] protected List> _eventChannels = new List>();
13 | public List>EventChannels => _eventChannels;
14 |
15 | protected Dictionary, Action> _eventChannelActionDictionary =
16 | new Dictionary, Action>();
17 |
18 | protected void Awake()
19 | {
20 | CreateDictionary();
21 | }
22 |
23 | protected void OnEnable()
24 | {
25 | for (int i = 0; i < _eventChannels.Count; i++)
26 | {
27 | _eventChannels[i].SubscribeEventListener(this);
28 | }
29 | }
30 |
31 | protected void OnDisable()
32 | {
33 | for (int i = 0; i < _eventChannels.Count; i++)
34 | {
35 | _eventChannels[i].UnsubscribeEventListener(this);
36 | }
37 | }
38 |
39 | public void OnInvokeRelatedActions(T eventParameter, EventChannel eventChannel)
40 | {
41 | var action = _eventChannelActionDictionary[eventChannel];
42 | action?.Invoke(eventParameter);
43 |
44 | }
45 |
46 | public void SetActionDelegates(EventChannel eventChannel, Action newFunction)
47 | {
48 | var targetAction = _eventChannelActionDictionary[eventChannel];
49 | targetAction += newFunction;
50 | _eventChannelActionDictionary[eventChannel] = targetAction;
51 | }
52 |
53 | protected void CreateDictionary()
54 | {
55 | for (int i = 0; i < _eventChannels.Count; i++)
56 | {
57 | Action newAction = null;
58 |
59 | _eventChannelActionDictionary.Add(_eventChannels[i], newAction);
60 | }
61 | }
62 |
63 |
64 |
65 | }
66 |
67 |
68 |
69 | }
70 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/Base/EventListener.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 70ff21e2ceed3784884f6e09975d2a5e
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventChannels.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 006125e5c6e58df43b061b31f6118da2
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventChannels/EventChannelFloat.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Tolian.ScriptableSystem;
4 | using UnityEngine;
5 |
6 | [CreateAssetMenu(fileName = "EventChannelFloat", menuName = "TolianGames/Event/EventChannelFloat")]
7 | public class EventChannelFloat : EventChannel
8 | {
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventChannels/EventChannelFloat.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2e6600dd5f1134f4bbf74b89e4963990
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventChannels/EventChannelGameObject.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Tolian.ScriptableSystem;
4 | using UnityEngine;
5 |
6 | [CreateAssetMenu(fileName = "EventChannelGameObject", menuName = "TolianGames/Event/EventChannelGameObject")]
7 | public class EventChannelGameObject : EventChannel
8 | {
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventChannels/EventChannelGameObject.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 485dfae21a345f2418f4ef9ec00a04b9
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventChannels/EventChannelGameState.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Core.Managers.GameSystem;
2 | using Tolian.ScriptableSystem;
3 | using UnityEngine;
4 |
5 | [CreateAssetMenu(fileName = "EventChannelGameState", menuName = "TolianGames/Event/EventChannelGameState")]
6 | public class EventChannelGameState : EventChannel
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventChannels/EventChannelGameState.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 03e622cf75ec2f9429d50afcec8430ac
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventChannels/EventChannelInt.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Tolian.ScriptableSystem;
4 | using UnityEngine;
5 |
6 | [CreateAssetMenu(fileName = "EventChannelInt", menuName = "TolianGames/Event/EventChannelInt")]
7 | public class EventChannelInt : EventChannel
8 | {
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventChannels/EventChannelInt.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ed8b25bceddfdb1419d5d887734a9751
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventChannels/EventChannelVector3.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Tolian.ScriptableSystem;
4 | using UnityEngine;
5 |
6 | [CreateAssetMenu(fileName = "EventChannelVector3", menuName = "TolianGames/Event/EventChannelVector3")]
7 | public class EventChannelVector3 : EventChannel
8 | {
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventChannels/EventChannelVector3.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d6f084717de1f064aa6cf0e999f1e923
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventChannels/EventChannelVoid.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Tolian.ScriptableSystem;
4 | using Tolian.Structs.SOSystem;
5 | using UnityEngine;
6 |
7 | [CreateAssetMenu(fileName = "EventChannelVoid", menuName = "TolianGames/Event/EventChannelVoid")]
8 | public class EventChannelVoid : EventChannel
9 | {
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventChannels/EventChannelVoid.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c0efdea41f1aac047b9c445583fedaee
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventListeners.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1336d8fb5b05409429d57591e76f37d9
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventListeners/EventListenerFloat.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Tolian.ScriptableSystem;
4 | using UnityEngine;
5 |
6 | public class EventListenerFloat : EventListener
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventListeners/EventListenerFloat.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b4a6311809576ab46b682230d60e5e17
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventListeners/EventListenerGameObject.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Tolian.ScriptableSystem;
4 | using UnityEngine;
5 |
6 | public class EventListenerGameObject : EventListener
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventListeners/EventListenerGameObject.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fb5d5a6881d484a498b70215e62442c4
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventListeners/EventListenerGameState.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Core.Managers.GameSystem;
2 | using Tolian.ScriptableSystem;
3 | using UnityEngine;
4 |
5 | public class EventListenerGameState : EventListener
6 | {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventListeners/EventListenerGameState.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cb7d2cb111472594a9c0007eeca71aea
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventListeners/EventListenerInt.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Tolian.ScriptableSystem;
4 | using UnityEngine;
5 |
6 | public class EventListenerInt : EventListener
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventListeners/EventListenerInt.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2d0a4304f911108429cebbd5652ab09b
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventListeners/EventListenerVector3.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Tolian.ScriptableSystem;
4 | using UnityEngine;
5 |
6 | public class EventListenerVector3 : EventListener
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventListeners/EventListenerVector3.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3f5500db69b682d41b925866f3c81bea
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventListeners/EventListenerVoid.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Tolian.ScriptableSystem;
4 | using Tolian.Structs.SOSystem;
5 | using UnityEngine;
6 |
7 | public class EventListenerVoid : EventListener
8 | {
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Events/EventListeners/EventListenerVoid.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3637706614be39548a355a4c57f32ea5
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Structs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 079a2246a6991d54a9c1b854cea374d1
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Structs/Void.cs:
--------------------------------------------------------------------------------
1 | namespace Tolian.Structs.SOSystem
2 | {
3 | [System.Serializable]
4 | public struct Void
5 | {
6 |
7 | }
8 | }
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/ScriptableObjects/Structs/Void.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6eb5af7c6c7872f4caec0e2a40a2a906
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a7be5024b30dd374990629915510148f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasButton.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e2f10038ef0330a4b80a120bdd5a1e67
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasButton/Base.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0ba1364e5b85a3c41b4e862e5aaf08e4
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasButton/Base/ControllerCanvasButtons.cs:
--------------------------------------------------------------------------------
1 |
2 | using UnityEngine;
3 |
4 | namespace Tolian.Runtime.Core.UiSystem
5 | {
6 | public class ControllerCanvasButtons : MonoBehaviour
7 | {
8 |
9 | }
10 | }
11 |
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasButton/Base/ControllerCanvasButtons.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 61dd694544487d3498a9487fa80e53f7
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasButton/ControllerUiButtonFail.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using DG.Tweening;
4 | using Tolian.Runtime.Core.Managers;
5 | using Tolian.Runtime.Core.ScriptableObjects.Data;
6 | using Tolian.Runtime.Systems.SoundDomain;
7 | using Tolian.Runtime.Systems.UiDomain;
8 | using UnityEngine;
9 |
10 | namespace Tolian.Runtime.Core.UiSystem
11 | {
12 | public class ControllerUiButtonFail : ControllerCanvasButtons
13 | {
14 | [SerializeField] private SoundsUiDataSO _soundsUiDataSo;
15 | private SoundSystem _soundSystem;
16 |
17 | private void Start()
18 | {
19 | _soundSystem = ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService().SoundSystem;
20 | }
21 |
22 | public void ReplayButtonFunction()
23 | {
24 | //------------------SUPERSONIC WISDOM SDK---------------
25 | // ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService().NotifyLevelFailed();
26 |
27 | _soundSystem.PlaySoundAtPoint(Vector3.zero, _soundsUiDataSo.ButtonSelectSFX, 1);
28 | DOVirtual.DelayedCall(0.5f, () => ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService().OpenTheSameLevel(true));
29 |
30 | }
31 | }
32 |
33 | }
34 |
35 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasButton/ControllerUiButtonFail.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bc73efeef93a0e0449822f57513e2ac4
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasButton/ControllerUiButtonInGameButtons.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Core.Managers;
2 | using Tolian.Runtime.Core.Managers.GameSystem;
3 | using Tolian.Runtime.Core.ScriptableObjects.Data;
4 | using Tolian.Runtime.Systems.SoundDomain;
5 | using Tolian.Runtime.Systems.UiDomain;
6 | using UnityEngine;
7 |
8 | namespace Tolian.Runtime.Core.UiSystem
9 | {
10 | public class ControllerUiButtonInGameButtons : ControllerCanvasButtons
11 | {
12 | [SerializeField] private SoundsUiDataSO _soundsUiDataSo;
13 | private SoundSystem _soundSystem;
14 |
15 | private void Start()
16 | {
17 | _soundSystem = ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService().SoundSystem;
18 | }
19 | public void SettingsButtonFunction()
20 | {
21 | ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService().ControllerUiCanvases.UiCanvasSystem.SetActivenessOfSpecificCanvas(CanvasType.CanvasSettings,true);
22 |
23 | var managerGame = ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService();
24 | managerGame.SetCurrentGameStateType(GameStateType.Menu);
25 |
26 | _soundSystem.PlaySoundAtPoint(Vector3.zero, _soundsUiDataSo.PopUpSFX, 1);
27 | }
28 |
29 | public void ShopButtonFunction()
30 | {
31 | ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService().ControllerUiCanvases.UiCanvasSystem.SetActivenessOfAllCanvases(false);
32 | ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService().ControllerUiCanvases.UiCanvasSystem.SetActivenessOfSpecificCanvas(CanvasType.CanvasShop,true);
33 |
34 | var managerGame = ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService();
35 | managerGame.SetCurrentGameStateType(GameStateType.Menu);
36 |
37 | }
38 | }
39 | }
40 |
41 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasButton/ControllerUiButtonInGameButtons.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 05d31b9f233aece4c9094908a98acde5
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasButton/ControllerUiButtonSettings.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d7a2009a2f06aee4ca2ccb7467e2fbf5
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasButton/ControllerUiButtonShop.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Core.Managers;
2 | using Tolian.Runtime.Core.Managers.GameSystem;
3 | using Tolian.Runtime.Systems.UiDomain;
4 | using UnityEngine;
5 |
6 | namespace Tolian.Runtime.Core.UiSystem
7 | {
8 | public class ControllerUiButtonShop : ControllerCanvasButtons
9 | {
10 | private CanvasUi _canvasUi;
11 | private ControllerOpenCloseShopCanvas _controllerOpenCloseShopCanvas;
12 |
13 | private void Awake()
14 | {
15 | _canvasUi = GetComponent();
16 | _controllerOpenCloseShopCanvas = GetComponent();
17 | }
18 |
19 | public void ExitButtonFunction()
20 | {
21 | if (_controllerOpenCloseShopCanvas)
22 | {
23 | _controllerOpenCloseShopCanvas.CloseUiCanvas(_canvasUi.CanvasUiParts);
24 | ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService().ControllerUiCanvases.SetCanvasesAccordingToGameState(GameStateType.LevelOpened);
25 |
26 | var managerGame = ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService();
27 | managerGame.SetCurrentGameStateType(GameStateType.LevelOpened);
28 | }
29 | }
30 | }
31 | }
32 |
33 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasButton/ControllerUiButtonShop.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d94d02cfa5852044ba8e3937a5f8c390
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasButton/ControllerUiButtonSuccess.cs:
--------------------------------------------------------------------------------
1 | using DG.Tweening;
2 | using Tolian.Runtime.Core.Managers;
3 | using Tolian.Runtime.Core.ScriptableObjects.Data;
4 | using Tolian.Runtime.Systems.SoundDomain;
5 | using UnityEngine;
6 |
7 | namespace Tolian.Runtime.Core.UiSystem
8 | {
9 | public class ControllerUiButtonSuccess : ControllerCanvasButtons
10 | {
11 | [SerializeField] private SoundsUiDataSO _soundsUiDataSo;
12 | private SoundSystem _soundSystem;
13 |
14 | private void Start()
15 | {
16 | _soundSystem = ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService().SoundSystem;
17 | }
18 |
19 | public void NextButtonFunction()
20 | {
21 | //------------------SUPERSONIC WISDOM SDK---------------
22 | // ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService().NotifyLevelCompleted();
23 |
24 | _soundSystem.PlaySoundAtPoint(Vector3.zero, _soundsUiDataSo.ButtonSelectSFX, 1);
25 | DOVirtual.DelayedCall(0.5f, () => ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService().OpenNextLevelScene(true));
26 |
27 | }
28 | }
29 | }
30 |
31 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasButton/ControllerUiButtonSuccess.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cf51a75e58f1acb4baf907ac5ffbdda1
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3bdcf017c96285843b0d1c05e064428f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/Base.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8a872be26b26048478ff57bbdbd5a225
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/Base/ControllerCanvasOpenCloseBase.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Tolian.Runtime.Core.ScriptableObjects.Data;
4 | using Tolian.Runtime.Systems.UiDomain;
5 | using UnityEngine;
6 |
7 | namespace Tolian.Runtime.Core.UiSystem
8 | {
9 | ///
10 | /// This class handles how the canvas should be opened and closed. Each canvas can have a unique behaviour by overriding functions.
11 | ///
12 | public class ControllerCanvasOpenCloseBase : MonoBehaviour, IOpenCloseUiCanvas
13 | {
14 | [SerializeField] protected SoundsUiDataSO _soundsUiDataSo;
15 | [SerializeField] protected float _durationBetweenCanvasUiParts = 0.15f;
16 | public virtual void OpenUiCanvas(List canvasUiParts)
17 | {
18 |
19 | }
20 |
21 | public virtual void CloseUiCanvas(List canvasUiParts)
22 | {
23 |
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/Base/ControllerCanvasOpenCloseBase.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 22b3d82e7020de84fbf1872a60ba90ff
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseBaseDamageCanvas.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Tolian.Runtime.Systems.UiDomain;
4 |
5 | namespace Tolian.Runtime.Core.UiSystem
6 | {
7 | public class ControllerOpenCloseBaseDamageCanvas : ControllerCanvasOpenCloseBase
8 | {
9 | public override void OpenUiCanvas(List canvasUiParts)
10 | {
11 |
12 | }
13 |
14 | public override void CloseUiCanvas(List canvasUiParts)
15 | {
16 | gameObject.SetActive(false);
17 | }
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseBaseDamageCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5779876944b586e4c89baccad73f4d3b
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseBaseSuccessCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 761e3db4150e0a3439c9d9fe2f75495c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseBaseUiPointerCanvas.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Tolian.Runtime.Systems.UiDomain;
4 |
5 |
6 | namespace Tolian.Runtime.Core.UiSystem
7 | {
8 | public class ControllerOpenCloseBaseUiPointerCanvas : ControllerCanvasOpenCloseBase
9 | {
10 | public override void OpenUiCanvas(List canvasUiParts)
11 | {
12 |
13 | }
14 |
15 | public override void CloseUiCanvas(List canvasUiParts)
16 | {
17 | gameObject.SetActive(false);
18 | }
19 | }
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseBaseUiPointerCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f6d513394a9521545bb74153d5861f67
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseFailCanvas.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using DG.Tweening;
4 | using Tolian.Runtime.Systems.UiDomain;
5 | using UnityEngine;
6 |
7 | namespace Tolian.Runtime.Core.UiSystem
8 | {
9 | public class ControllerOpenCloseFailCanvas : ControllerCanvasOpenCloseBase
10 | {
11 | public void OpenUiCanvas(List canvasUiParts)
12 | {
13 | for (int i = 0; i < canvasUiParts.Count; i++)
14 | {
15 | CanvasUiPart canvasUiPart = canvasUiParts[i];
16 | var particleSystems = canvasUiPart.GetComponentsInChildren();
17 | int no = i;
18 | canvasUiPart.SetScale(Vector3.zero);
19 |
20 | DOVirtual.DelayedCall(no * _durationBetweenCanvasUiParts, () =>
21 | {
22 | canvasUiPart.SetScale(Vector3.one, 0.3f, () =>
23 | {
24 | if (particleSystems.Length > 0)
25 | {
26 | for (int j = 0; j < particleSystems.Length; j++)
27 | {
28 | particleSystems[j].Play();
29 | }
30 | }
31 | });
32 | });
33 |
34 | }
35 | }
36 |
37 | public void CloseUiCanvas(List canvasUiParts)
38 | {
39 | for (int i = 0; i < canvasUiParts.Count; i++)
40 | {
41 | CanvasUiPart canvasUiPart = canvasUiParts[i];
42 | int no = i;
43 |
44 | DOVirtual.DelayedCall(no * _durationBetweenCanvasUiParts, () =>
45 | {
46 | canvasUiPart.SetScale(Vector3.zero, 0.3f);
47 | if (no == canvasUiParts.Count - 1)
48 | {
49 | gameObject.SetActive(false);
50 | }
51 | });
52 |
53 | }
54 |
55 | }
56 | }
57 | }
58 |
59 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseFailCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 966277d0fa4881d48a395140c21088a2
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseInGameButtonsCanvas.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using DG.Tweening;
4 | using Tolian.Runtime.Systems.UiDomain;
5 | using UnityEngine;
6 |
7 | namespace Tolian.Runtime.Core.UiSystem
8 | {
9 | public class ControllerOpenCloseInGameButtonsCanvas : ControllerCanvasOpenCloseBase
10 | {
11 | public void OpenUiCanvas(List canvasUiParts)
12 | {
13 | for (int i = 0; i < canvasUiParts.Count; i++)
14 | {
15 | CanvasUiPart canvasUiPart = canvasUiParts[i];
16 | int no = i;
17 | canvasUiPart.SetScale(Vector3.zero);
18 |
19 | DOVirtual.DelayedCall(no * _durationBetweenCanvasUiParts, () =>
20 | {
21 | canvasUiPart.SetScale(Vector3.one, 0.3f);
22 | });
23 |
24 | }
25 | }
26 |
27 | public void CloseUiCanvas(List canvasUiParts)
28 | {
29 | for (int i = 0; i < canvasUiParts.Count; i++)
30 | {
31 | CanvasUiPart canvasUiPart = canvasUiParts[i];
32 | int no = i;
33 |
34 | DOVirtual.DelayedCall(no * _durationBetweenCanvasUiParts, () =>
35 | {
36 | canvasUiPart.SetScale(Vector3.zero, 0.3f);
37 | if (no == canvasUiParts.Count - 1)
38 | {
39 | gameObject.SetActive(false);
40 | }
41 | });
42 |
43 | }
44 | }
45 | }
46 | }
47 |
48 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseInGameButtonsCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5f057fa2c7f01e64aae9187ce4e370ce
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseJoystickCanvas.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Tolian.Runtime.Systems.UiDomain;
4 | using UnityEngine;
5 |
6 | namespace Tolian.Runtime.Core.UiSystem
7 | {
8 | public class ControllerOpenCloseJoystickCanvas : ControllerCanvasOpenCloseBase
9 | {
10 | public void OpenUiCanvas(List canvasUiParts)
11 | {
12 |
13 | }
14 |
15 | public void CloseUiCanvas(List canvasUiParts)
16 | {
17 | gameObject.SetActive(false);
18 | }
19 | }
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseJoystickCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6e861ec561b83804e90d983562d1a9f8
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseLevelCanvas.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using DG.Tweening;
4 | using Tolian.Runtime.Systems.UiDomain;
5 | using UnityEngine;
6 |
7 | namespace Tolian.Runtime.Core.UiSystem
8 | {
9 | public class ControllerOpenCloseLevelCanvas : ControllerCanvasOpenCloseBase
10 | {
11 | public override void OpenUiCanvas(List canvasUiParts)
12 | {
13 | for (int i = 0; i < canvasUiParts.Count; i++)
14 | {
15 | CanvasUiPart canvasUiPart = canvasUiParts[i];
16 | int no = i;
17 | canvasUiPart.SetScale(Vector3.zero);
18 |
19 | DOVirtual.DelayedCall(no * _durationBetweenCanvasUiParts, () =>
20 | {
21 | canvasUiPart.SetScale(Vector3.one, 0.3f);
22 | });
23 |
24 | }
25 | }
26 |
27 | public override void CloseUiCanvas(List canvasUiParts)
28 | {
29 | for (int i = 0; i < canvasUiParts.Count; i++)
30 | {
31 | CanvasUiPart canvasUiPart = canvasUiParts[i];
32 | int no = i;
33 |
34 | DOVirtual.DelayedCall(no * _durationBetweenCanvasUiParts, () =>
35 | {
36 | canvasUiPart.SetScale(Vector3.zero, 0.3f);
37 | if (no == canvasUiParts.Count - 1)
38 | {
39 | gameObject.SetActive(false);
40 | }
41 | });
42 |
43 | }
44 | }
45 | }
46 | }
47 |
48 |
49 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseLevelCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dc803f4d613d1e0469ad146f4e22acc4
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseLoadingCanvas.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Tolian.Runtime.Systems.UiDomain;
4 | using UnityEngine;
5 |
6 | namespace Tolian.Runtime.Core.UiSystem
7 | {
8 | public class ControllerOpenCloseLoadingCanvas : ControllerCanvasOpenCloseBase
9 | {
10 | public override void OpenUiCanvas(List canvasUiParts)
11 | {
12 |
13 | }
14 |
15 | public override void CloseUiCanvas(List canvasUiParts)
16 | {
17 | gameObject.SetActive(false);
18 | }
19 | }
20 |
21 | }
22 |
23 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseLoadingCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5d4abf13d8166af4ab7830a558d050aa
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseMoneyCanvas.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using DG.Tweening;
4 | using Tolian.Runtime.Systems.UiDomain;
5 | using UnityEngine;
6 |
7 | namespace Tolian.Runtime.Core.UiSystem
8 | {
9 | public class ControllerOpenCloseMoneyCanvas : ControllerCanvasOpenCloseBase
10 | {
11 | public override void OpenUiCanvas(List canvasUiParts)
12 | {
13 | for (int i = 0; i < canvasUiParts.Count; i++)
14 | {
15 | CanvasUiPart canvasUiPart = canvasUiParts[i];
16 | int no = i;
17 | canvasUiPart.SetScale(Vector3.zero);
18 |
19 | DOVirtual.DelayedCall(no * _durationBetweenCanvasUiParts, () =>
20 | {
21 | canvasUiPart.SetScale(Vector3.one, 0.3f);
22 | });
23 |
24 | }
25 | }
26 |
27 | public override void CloseUiCanvas(List canvasUiParts)
28 | {
29 | for (int i = 0; i < canvasUiParts.Count; i++)
30 | {
31 | CanvasUiPart canvasUiPart = canvasUiParts[i];
32 | int no = i;
33 |
34 | DOVirtual.DelayedCall(no * _durationBetweenCanvasUiParts, () =>
35 | {
36 | canvasUiPart.SetScale(Vector3.zero, 0.3f);
37 | if (no == canvasUiParts.Count - 1)
38 | {
39 | gameObject.SetActive(false);
40 | }
41 | });
42 |
43 | }
44 | }
45 | }
46 | }
47 |
48 |
49 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseMoneyCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a96a23fbf065587429729650c9ea447b
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseRankCanvas.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using DG.Tweening;
4 | using Tolian.Runtime.Systems.UiDomain;
5 | using UnityEngine;
6 |
7 |
8 | namespace Tolian.Runtime.Core.UiSystem
9 | {
10 | public class ControllerOpenCloseRankCanvas : ControllerCanvasOpenCloseBase
11 | {
12 | public override void OpenUiCanvas(List canvasUiParts)
13 | {
14 | for (int i = 0; i < canvasUiParts.Count; i++)
15 | {
16 | CanvasUiPart canvasUiPart = canvasUiParts[i];
17 | var particleSystems = canvasUiPart.GetComponentsInChildren();
18 | int no = i;
19 | canvasUiPart.SetScale(Vector3.zero);
20 |
21 | DOVirtual.DelayedCall(no * _durationBetweenCanvasUiParts, () =>
22 | {
23 | canvasUiPart.SetScale(Vector3.one, 0.3f, () =>
24 | {
25 | if (particleSystems.Length > 0)
26 | {
27 | for (int j = 0; j < particleSystems.Length; j++)
28 | {
29 | particleSystems[j].Play();
30 | }
31 | }
32 | });
33 | });
34 |
35 | }
36 | }
37 |
38 | public override void CloseUiCanvas(List canvasUiParts)
39 | {
40 | for (int i = 0; i < canvasUiParts.Count; i++)
41 | {
42 | CanvasUiPart canvasUiPart = canvasUiParts[i];
43 | int no = i;
44 |
45 | DOVirtual.DelayedCall(no * _durationBetweenCanvasUiParts, () =>
46 | {
47 | canvasUiPart.SetScale(Vector3.zero, 0.3f);
48 | if (no == canvasUiParts.Count - 1)
49 | {
50 | gameObject.SetActive(false);
51 | }
52 | });
53 |
54 | }
55 | }
56 | }
57 | }
58 |
59 |
60 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseRankCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 481179d20d0baf64eac508c179ca4228
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseSettingCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4df6e056dfa2f994a89be3800f1a6f2d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseShopCanvas.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using DG.Tweening;
4 | using Tolian.Runtime.Systems.UiDomain;
5 | using UnityEngine;
6 |
7 | namespace Tolian.Runtime.Core.UiSystem
8 | {
9 | public class ControllerOpenCloseShopCanvas : ControllerCanvasOpenCloseBase
10 | {
11 | public override void OpenUiCanvas(List canvasUiParts)
12 | {
13 | for (int i = 0; i < canvasUiParts.Count; i++)
14 | {
15 | CanvasUiPart canvasUiPart = canvasUiParts[i];
16 | var particleSystems = canvasUiPart.GetComponentsInChildren();
17 | int no = i;
18 | canvasUiPart.SetScale(Vector3.zero);
19 |
20 | DOVirtual.DelayedCall(no * _durationBetweenCanvasUiParts, () =>
21 | {
22 | canvasUiPart.SetScale(Vector3.one, 0.3f, () =>
23 | {
24 | if (particleSystems.Length > 0)
25 | {
26 | for (int j = 0; j < particleSystems.Length; j++)
27 | {
28 | particleSystems[j].Play();
29 | }
30 | }
31 | });
32 | });
33 |
34 | }
35 | }
36 |
37 | public override void CloseUiCanvas(List canvasUiParts)
38 | {
39 | for (int i = 0; i < canvasUiParts.Count; i++)
40 | {
41 | CanvasUiPart canvasUiPart = canvasUiParts[i];
42 | int no = i;
43 |
44 | DOVirtual.DelayedCall(no * _durationBetweenCanvasUiParts, () =>
45 | {
46 | canvasUiPart.SetScale(Vector3.zero, 0.3f);
47 | if (no == canvasUiParts.Count - 1)
48 | {
49 | gameObject.SetActive(false);
50 | }
51 | });
52 |
53 | }
54 | }
55 | }
56 | }
57 |
58 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseShopCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4398d82549c7f1044bb19d9a973e9cc6
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseTutorialCanvas.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Tolian.Runtime.Systems.UiDomain;
4 |
5 |
6 | namespace Tolian.Runtime.Core.UiSystem
7 | {
8 | public class ControllerOpenCloseTutorialCanvas : ControllerCanvasOpenCloseBase
9 | {
10 | public override void OpenUiCanvas(List canvasUiParts)
11 | {
12 |
13 | }
14 |
15 | public override void CloseUiCanvas(List canvasUiParts)
16 | {
17 | gameObject.SetActive(false);
18 | }
19 | }
20 |
21 | }
22 |
23 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/ControllerCanvasOpenClose/ControllerOpenCloseTutorialCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ee71f46f0604cda47b20cac6031194f6
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/UIParticleSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 022f88edfdfa44b65afcefde3c9d854e
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/UiCoin.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Tolian.Runtime.Systems.ObjectPoolDomain;
4 | using UnityEngine;
5 |
6 | namespace Tolian.Runtime.Core.UiSystem
7 | {
8 | public class UiCoin : BaseObjectForObjectPoolSystem
9 | {
10 | public override void ResetObject()
11 | {
12 |
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/UiCoin.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0c0916a1e1e707649899b53eced435e8
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/UiPointer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a032e8f6bf7229d49a0e8c15725002d8
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/UiRank.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using TMPro;
4 | using Tolian.Runtime.Core.ScriptableObjects.Data;
5 | using UnityEngine;
6 | using UnityEngine.UI;
7 |
8 | namespace Tolian.Runtime.Core.UiSystem
9 | {
10 | public class UiRank : MonoBehaviour
11 | {
12 | [SerializeField] private Image _backgroundImage;
13 | [SerializeField] private Sprite _playerBackgroundSprite, _otherBackgroundSprite;
14 |
15 | [SerializeField] private CharacterIconsSO _characterIconsSo;
16 | [SerializeField] private TMP_Text _rank;
17 | [SerializeField] private TMP_Text _name;
18 | [SerializeField] private TMP_Text _score;
19 | [SerializeField] private Image _iconImage;
20 |
21 | public int Score { get; private set; }
22 | public int Rank { get; private set; }
23 |
24 | public void SetRank(int rank)
25 | {
26 | Rank = rank;
27 | _rank.text = rank.ToString();
28 | }
29 |
30 | public void SetName(string name)
31 | {
32 | _name.text = name;
33 | }
34 |
35 | public void SetScore(int score)
36 | {
37 | Score = score;
38 | _score.text = score.ToString();
39 | }
40 |
41 | public void SetIconSprite(Sprite sprite)
42 | {
43 | _iconImage.sprite = sprite;
44 | }
45 |
46 |
47 |
48 | public Sprite GetRandomCharacterSpite()
49 | {
50 | return _characterIconsSo.CharacterIcons[Random.Range(0, _characterIconsSo.CharacterIcons.Count)];
51 | }
52 |
53 | public Sprite GetCharacterSpriteWithNo(int listNo)
54 | {
55 | if (listNo >= _characterIconsSo.CharacterIcons.Count)
56 | {
57 | return null;
58 | }
59 |
60 | return _characterIconsSo.CharacterIcons[listNo];
61 | }
62 |
63 | public void SetBackgroundImage(bool isPlayer)
64 | {
65 | if (isPlayer)
66 | {
67 | _backgroundImage.sprite = _playerBackgroundSprite;
68 |
69 | }
70 | else if (!isPlayer)
71 | {
72 | _backgroundImage.sprite = _otherBackgroundSprite;
73 | }
74 | }
75 | }
76 | }
77 |
78 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/UiRank.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: aba77c5fd3a865148b68a4eabf53d80c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/UiStar.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using UnityEngine;
6 |
7 | namespace Tolian.Runtime.Core.UiSystem
8 | {
9 | public class UiStar : MonoBehaviour
10 | {
11 | public List ParticleSystems;
12 |
13 | private void Awake()
14 | {
15 | ParticleSystems = GetComponentsInChildren(true).ToList();
16 | }
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/UiStar.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 49554f54e1256074e9b7734cb013c9f1
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/UiToggle.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | namespace Tolian.Runtime.Core.UiSystem
6 | {
7 | public class UiToggle : MonoBehaviour
8 | {
9 | [SerializeField] private GameObject _openVisual, _closeVisual;
10 |
11 | public void SetUiToggleVisual(bool isOpen)
12 | {
13 | _openVisual.SetActive(isOpen);
14 | _closeVisual.SetActive(!isOpen);
15 | }
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/UiToggle.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1d92085863f20e64ea0c96923953435f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/UiTutorial.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Systems.UiDomain;
2 | using UnityEngine;
3 |
4 | namespace Tolian.Runtime.Core.UiSystem
5 | {
6 | public class UiTutorial : MonoBehaviour
7 | {
8 | [field: SerializeField] public UiTutorialType UiTutorialType;
9 | }
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Core/Ui/UiTutorial.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7033ec032e30f7449ab10145e092a323
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c5a0fc2a6d7db40448da06fa73bf3b56
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/AddressablesSystem.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1d47bd724e0ac48419aefb56008d3daf
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/AddressablesSystem/AddressablesSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e289c2fe193f90f45a9a09a3f8c6bb1c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/CinemachineSystem.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bf280ca6f1bdbfd4c918f65dfed1954f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/CinemachineSystem/CinemachineSystem.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Cinemachine;
4 | using UnityEngine;
5 |
6 | namespace Tolian.Runtime.Systems.CinemachineDomain
7 | {
8 | [RequireComponent(typeof(ControllerCinemachineCameraShake))]
9 | public class CinemachineSystem : MonoBehaviour
10 | {
11 | #region REFERENCES
12 | private Animator _cinemachineAnimator;
13 | public CinemachineStateDrivenCamera CinemachineStateDrivenCamera { get; private set; }
14 | public ControllerCinemachineCameraShake ControllerCinemachineCameraShake { get; private set; }
15 | #endregion
16 |
17 | protected void Awake()
18 | {
19 | ControllerCinemachineCameraShake = GetComponent();
20 | CinemachineStateDrivenCamera = GetComponentInChildren();
21 | _cinemachineAnimator = GetComponentInChildren();
22 | }
23 |
24 | ///
25 | /// In order to change the active virtual camera
26 | ///
27 | ///
28 | public void SetActiveVcamByUsingAnimator(string targetAnimationParameter)
29 | {
30 | _cinemachineAnimator.SetTrigger(targetAnimationParameter);
31 | }
32 |
33 | public CinemachineVirtualCamera GetActiveVCAM()
34 | {
35 | return (CinemachineVirtualCamera)CinemachineStateDrivenCamera.LiveChild;
36 | }
37 | }
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/CinemachineSystem/CinemachineSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: eef785a3ab3bc584bb71a3c434d8c7db
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/CinemachineSystem/ControllerCinemachineCameraShake.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Cinemachine;
4 | using UnityEngine;
5 |
6 | namespace Tolian.Runtime.Systems.CinemachineDomain
7 | {
8 | public class ControllerCinemachineCameraShake : MonoBehaviour
9 | {
10 | private float shakeTimer;
11 | private float shakeTimerTotal;
12 | private float startingIntensity;
13 |
14 | public IEnumerator ShakeCamera(CinemachineVirtualCamera targetVirtualCamera, float intensity, float time)
15 | {
16 | CinemachineBasicMultiChannelPerlin cinemachineBasicMultiChannelPerlin =
17 | targetVirtualCamera.GetCinemachineComponent();
18 |
19 | cinemachineBasicMultiChannelPerlin.m_AmplitudeGain = intensity;
20 |
21 | startingIntensity = intensity;
22 | shakeTimerTotal = time;
23 | shakeTimer = time;
24 |
25 | while (shakeTimer > 0)
26 | {
27 | shakeTimer -= Time.deltaTime;
28 | cinemachineBasicMultiChannelPerlin.m_AmplitudeGain =
29 | Mathf.Lerp(startingIntensity, 0f, 1 - shakeTimer / shakeTimerTotal);
30 |
31 | yield return null;
32 | }
33 | }
34 |
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/CinemachineSystem/ControllerCinemachineCameraShake.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4e8ad49fb5846bc48827d18de6235c22
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/CinemachineSystem/GhostObjectForCinemachineTarget.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using UnityEngine;
5 |
6 | namespace Tolian.Runtime.Systems.CinemachineDomain
7 | {
8 | public class GhostObjectForCinemachineTarget : MonoBehaviour
9 | {
10 | [SerializeField] private Transform _targetTransform;
11 | private void LateUpdate()
12 | {
13 | if (_targetTransform)
14 | {
15 | transform.position = _targetTransform.transform.position;
16 | }
17 | }
18 | }
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/CinemachineSystem/GhostObjectForCinemachineTarget.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b30650210cb52d844aebdcb1195398c7
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/EventSystem.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e6f421e67c285f343bd435ceed94a23a
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/EventSystem/EventSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d08273953f9fca64ca89da1bd70d524d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/EventSystem/Interfaces.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6db90997e29beae49bccc2cd6577cfc6
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/EventSystem/Interfaces/IEvent.cs:
--------------------------------------------------------------------------------
1 | namespace Tolian.Runtime.Systems.EventDomain
2 | {
3 | public interface IEvent
4 | {
5 | }
6 |
7 | }
8 |
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/EventSystem/Interfaces/IEvent.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4216a8a483292f3468362792162a790d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/EventSystem/TolianEvents.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b7b18155079462d4392307fac4c3f8db
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/EventSystem/TolianEvents/TolianEvents.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Core.Managers.GameSystem;
2 | using UnityEngine;
3 |
4 | namespace Tolian.Runtime.Systems.EventDomain
5 | {
6 | public class TolianEvents
7 | {
8 |
9 | }
10 |
11 | //BASE CLASSESS
12 |
13 | public class EventBool : TolianEvent
14 | {
15 |
16 | }
17 |
18 | public class EventFloat : TolianEvent
19 | {
20 |
21 | }
22 |
23 | public class EventGameObject : TolianEvent
24 | {
25 |
26 | }
27 |
28 | public class EventGameState : TolianEvent
29 | {
30 |
31 | }
32 |
33 | public class EventInt : TolianEvent
34 | {
35 |
36 | }
37 |
38 | public class EventVector3 : TolianEvent
39 | {
40 |
41 | }
42 |
43 | //IN ACTION CLASSES
44 | public class OnGameStateChange : EventGameState
45 | {
46 |
47 | }
48 |
49 |
50 | }
51 |
52 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/EventSystem/TolianEvents/TolianEvents.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b5337a9b2ee2de64fbf1f92d3ab7a119
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/InputSystem.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: af7c11e7cf9d1ac448f9e1fb34cbd531
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/InputSystem/Enums.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 20fd7c2e56569f9409c57fe41118ebca
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/InputSystem/Enums/InputType.cs:
--------------------------------------------------------------------------------
1 | namespace Tolian.Runtime.Systems.InputDomain
2 | {
3 | public enum InputType
4 | {
5 | None,
6 | Joystick,
7 | ContinuousDeltaFrame
8 | }
9 | }
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/InputSystem/Enums/InputType.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f7368b6775d75b74494ca2adb356ad09
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/InputSystem/Enums/JoystickType.cs:
--------------------------------------------------------------------------------
1 | namespace Tolian.Runtime.Systems.InputDomain
2 | {
3 | public enum JoystickType
4 | {
5 | Static,
6 | Floating,
7 | Dynamic
8 | }
9 | }
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/InputSystem/Enums/JoystickType.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 30997dc771b7986438980d5e23fbf6a7
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/InputSystem/InputSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 04a0ffafca046ce4bb3c6ad296a3de90
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/LevelSystem.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b6e141524c7177048bb5630847cb74be
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/LevelSystem/ControllerLevel.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Abstract.DesignPatterns.SingletonSystem;
2 |
3 | namespace Tolian.Runtime.Systems.LevelSystem
4 | {
5 | ///
6 | /// This class controls level-based objects. Also, this class contains references of level-based objects.
7 | ///
8 | public class ControllerLevel : Singleton
9 | {
10 |
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/LevelSystem/ControllerLevel.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3ccf59b647fe58f43a89e7c7d5b92a65
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/ObjectPoolSystem.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d1a074571d7177e42bb0863301ae6a5d
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/ObjectPoolSystem/Enum.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9d2bcc4c2172cd14096b07f5651ab829
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/ObjectPoolSystem/Enum/ObjectPoolType.cs:
--------------------------------------------------------------------------------
1 | namespace Tolian.Runtime.Systems.ObjectPoolDomain
2 | {
3 | ///
4 | /// This enum can be extended according to needs of object pools. Each enum value can be used to create a pool in ObjectPoolSystem which can be accessed via ManagerObjectPool
5 | ///
6 | public enum ObjectPoolType
7 | {
8 | DefaultObject = 0,
9 | UiCoin
10 | }
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/ObjectPoolSystem/Enum/ObjectPoolType.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e05172594c5c3214898192d209c05d75
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/ObjectPoolSystem/Interfaces.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1b938fb059a007d4cbc643ceb1684745
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/ObjectPoolSystem/Interfaces/BaseObjectForObjectPoolSystem.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Core.Managers;
2 | using Tolian.Runtime.Core.Managers.GameSystem;
3 | using Tolian.Runtime.Systems.EventDomain;
4 | using UnityEngine;
5 |
6 | namespace Tolian.Runtime.Systems.ObjectPoolDomain
7 | {
8 | public abstract class BaseObjectForObjectPoolSystem : MonoBehaviour
9 | {
10 | #region REFERENCES
11 | public ObjectPoolType ObjectPoolType { get; protected set; }
12 | protected ManagerEvent _managerEvent;
13 | protected ManagerObjectPool _managerObjectPool;
14 | #endregion
15 |
16 | protected virtual void OnEnable()
17 | {
18 | _managerEvent = ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService();
19 | _managerObjectPool = ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService();
20 |
21 | _managerEvent.EventSystem.GetEvent().AddListener(DespawnObject);
22 | }
23 |
24 |
25 | protected virtual void OnDisable()
26 | {
27 | _managerEvent.EventSystem.GetEvent().RemoveListener(DespawnObject);
28 | }
29 |
30 | private void DespawnObject(GameStateType gameStateType)
31 | {
32 | if (gameStateType == GameStateType.LevelOpened)
33 | {
34 | if (gameObject.activeInHierarchy)
35 | {
36 | _managerObjectPool.ObjectPoolSystem.Despawn(ObjectPoolType, this);
37 | }
38 | }
39 | }
40 | public abstract void ResetObject();
41 |
42 | public void SetObjectPoolType(ObjectPoolType objectPoolType)
43 | {
44 | ObjectPoolType = objectPoolType;
45 | }
46 | }
47 |
48 | }
49 |
50 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/ObjectPoolSystem/Interfaces/BaseObjectForObjectPoolSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 03f14170bac62ec4f8f163afe2c156f4
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/ObjectPoolSystem/ManagerObjectPool.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9cbfc5bf30accd34da2ec7c2e20a267f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/ObjectPoolSystem/ManagerObjectPool/ManagerObjectPool.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Systems.ObjectPoolDomain;
2 | using Tolian.Runtime.Systems.ServiceLocatorDomain;
3 | using UnityEngine;
4 |
5 | namespace Tolian.Runtime.Core.Managers
6 | {
7 | ///
8 | /// This class controls object pools via "ObjectPoolSystem"
9 | ///
10 | [RequireComponent(typeof(ObjectPoolSystem))]
11 | public class ManagerObjectPool : MonoBehaviourService
12 | {
13 | public ObjectPoolSystem ObjectPoolSystem { get; private set; }
14 |
15 | protected override void Awake()
16 | {
17 | base.Awake();
18 | ObjectPoolSystem = GetComponent();
19 | }
20 |
21 | }
22 | }
23 |
24 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/ObjectPoolSystem/ManagerObjectPool/ManagerObjectPool.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c142dac56594312468e9309ed0e5888b
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/ObjectPoolSystem/ObjectPoolSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4ed5bd4cb8526a1449e35310c6501f7d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/OnBoardingSystem.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 12f5b67c372474b4cadfd4ec69697552
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/OnBoardingSystem/ControllerOnBoarding.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using Tolian.Runtime.Core.Managers;
6 | using UnityEngine;
7 |
8 | namespace Tolian.Runtime.Systems.OnboardingSystem
9 | {
10 |
11 | ///
12 | /// This system is on progress. Please do not use it yet.
13 | ///
14 | public class ControllerOnBoarding : MonoBehaviour
15 | {
16 | public List OnboardingSteps = new List();
17 |
18 | private void Awake()
19 | {
20 | OnboardingSteps = GetComponentsInChildren(true).ToList();
21 | }
22 |
23 | private void Start()
24 | {
25 | for (int i = 0; i < OnboardingSteps.Count; i++)
26 | {
27 | OnboardingSteps[i].AddThisStepToSaveSystemIfNotExistInSaveSystem();
28 | }
29 | }
30 |
31 | public void StartNextUncompletedOnBoardingStep()
32 | {
33 | List ids = new List();
34 | for (int i = 0; i < OnboardingSteps.Count; i++)
35 | {
36 | ids.Add(OnboardingSteps[i].UniqueId);
37 | }
38 |
39 | var datasOfTheController = ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService().SaveSystem.SaveState.OnboardingStepsCompletionSituations
40 | .Where(x => ids.Contains(x.Id)).ToList();
41 |
42 | if (datasOfTheController.Any(x => !x.IsCompleted))
43 | {
44 | var firstUncompletedStep = datasOfTheController
45 | .First(x => !x.IsCompleted);
46 |
47 | if (OnboardingSteps.Any(x => x.UniqueId == firstUncompletedStep.Id))
48 | {
49 | var onboardingStep = OnboardingSteps.First(x => x.UniqueId == firstUncompletedStep.Id);
50 | onboardingStep.GetNextUncompletedOnBoardingTask().StartTask();
51 | }
52 | else
53 | {
54 | return;
55 | }
56 |
57 | }
58 | else
59 | {
60 | return;
61 | }
62 | }
63 | }
64 | }
65 |
66 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/OnBoardingSystem/ControllerOnBoarding.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 518a1bc0b3583ea4b825092f88a94c64
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/OnBoardingSystem/OnBoardingTask.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq;
3 | using Tolian.Runtime.Core.Managers;
4 | using UnityEngine;
5 |
6 | namespace Tolian.Runtime.Systems.OnboardingSystem
7 | {
8 | public abstract class OnBoardingTask : MonoBehaviour
9 | {
10 | public bool IsTaskCompleted = false;
11 | public OnboardingStep OnboardingStep { get; protected set; }
12 |
13 | private ManagerSave _managerSave;
14 |
15 | private void Awake()
16 | {
17 | OnboardingStep = GetComponentInParent(true);
18 | }
19 |
20 | private void Start()
21 | {
22 | _managerSave = ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService();
23 | }
24 |
25 | public abstract void StartTask();
26 |
27 | public void CompleteTask()
28 | {
29 | IsTaskCompleted = true;
30 | CompleteTaskInternal(() =>
31 | {
32 | int taskIndex = transform.GetSiblingIndex();
33 | if (taskIndex == OnboardingStep.OnBoardingTasks.Count - 1)
34 | {
35 | try
36 | {
37 | if (_managerSave.SaveSystem.SaveState.OnboardingStepsCompletionSituations
38 | .Any(x => x.Id == OnboardingStep.UniqueId))
39 | {
40 | var data = _managerSave.SaveSystem.SaveState.OnboardingStepsCompletionSituations
41 | .First(x => x.Id == OnboardingStep.UniqueId);
42 | data.IsCompleted = true;
43 | _managerSave.SaveSystem.Save();
44 | }
45 |
46 | }
47 | catch (Exception exception)
48 | {
49 | Console.WriteLine(exception.Message);
50 | throw;
51 | }
52 | }
53 | else
54 | {
55 | var nextTask = OnboardingStep.OnBoardingTasks[taskIndex + 1];
56 | nextTask.StartTask();
57 | }
58 | });
59 |
60 | }
61 |
62 | protected abstract void CompleteTaskInternal(Action nextTaskCallback);
63 | }
64 | }
65 |
66 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/OnBoardingSystem/OnBoardingTask.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 83689fc34b0f47747bb1d3ba579a18d0
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/OnBoardingSystem/OnBoardingTasks.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 69c7eb1dd8a7a5a47aab0ea7af5477e5
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/OnBoardingSystem/OnBoardingTasks/OnBoardingTaskMoveToPosition.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using UnityEngine;
5 |
6 | namespace Tolian.Runtime.Systems.OnboardingSystem
7 | {
8 | public class OnBoardingTaskMoveToPosition : OnBoardingTask
9 | {
10 | [SerializeField] private Transform _targetTransform;
11 | [SerializeField] private LineRenderer _lineRenderer;
12 |
13 | public override void StartTask()
14 | {
15 | _lineRenderer.gameObject.SetActive(true);
16 | }
17 |
18 | protected override void CompleteTaskInternal(Action nextTaskCallback)
19 | {
20 | _lineRenderer.gameObject.SetActive(false);
21 | nextTaskCallback();
22 | }
23 |
24 | private void Update()
25 | {
26 | if(!_lineRenderer.gameObject.activeInHierarchy) return;
27 |
28 | // _lineRenderer.SetPosition(0, PlayerTransform);
29 | _lineRenderer.SetPosition(1, _targetTransform.position);
30 | }
31 |
32 |
33 | }
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/OnBoardingSystem/OnBoardingTasks/OnBoardingTaskMoveToPosition.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b232ce5533243374da4c1615d221750b
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/OnBoardingSystem/OnboardingStep.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using Tolian.Runtime.Core.Managers;
6 | using Tolian.Runtime.Systems.SaveDomain;
7 |
8 | using UnityEngine;
9 |
10 | namespace Tolian.Runtime.Systems.OnboardingSystem
11 | {
12 | public class OnboardingStep : MonoBehaviour
13 | {
14 | public int UniqueId;
15 | public List OnBoardingTasks = new List();
16 |
17 | private ManagerSave _managerSave;
18 | private void Awake()
19 | {
20 | OnBoardingTasks = GetComponentsInChildren(true).ToList();
21 | }
22 |
23 | private void OnEnable()
24 | {
25 | _managerSave = ManagerServiceLocator.Instance.ServiceLocatorSystem.GetService();
26 | }
27 |
28 | public void AddThisStepToSaveSystemIfNotExistInSaveSystem()
29 | {
30 | OnboardingStepsCompletionSituation
31 | onboardingStepsCompletionSituation = new OnboardingStepsCompletionSituation();
32 |
33 | onboardingStepsCompletionSituation.Id = UniqueId;
34 | onboardingStepsCompletionSituation.IsCompleted = false;
35 |
36 | bool isSaveSystemContainsThisStep =
37 | _managerSave.SaveSystem.SaveState.OnboardingStepsCompletionSituations.Any(x => x.Id == UniqueId);
38 | if (!isSaveSystemContainsThisStep)
39 | {
40 | _managerSave.SaveSystem.SaveState.OnboardingStepsCompletionSituations.Add(onboardingStepsCompletionSituation);
41 | }
42 | }
43 |
44 | public OnBoardingTask GetNextUncompletedOnBoardingTask()
45 | {
46 | if (OnBoardingTasks.Any(x =>!x.IsTaskCompleted))
47 | {
48 | var onBoardingTask = OnBoardingTasks.First(x=> !x.IsTaskCompleted);
49 | return onBoardingTask;
50 | }
51 |
52 | return null;
53 | }
54 | }
55 |
56 | }
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/OnBoardingSystem/OnboardingStep.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dc3d02ae08031544abde8de4c1fd1848
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/SaveSystem.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8d10f6842bf827b4ab845b82b40a9a6d
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/SaveSystem/SaveClasses.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3e0e37b545182b04eb3b85f5d9322318
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/SaveSystem/SaveClasses/OnboardingStepsCompletionSitutation.cs:
--------------------------------------------------------------------------------
1 | namespace Tolian.Runtime.Systems.SaveDomain
2 | {
3 | //-------------For Save System-----------------
4 | [System.Serializable]
5 | public class OnboardingStepsCompletionSituation
6 | {
7 | public int Id;
8 | public bool IsCompleted;
9 | }
10 | }
11 |
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/SaveSystem/SaveClasses/OnboardingStepsCompletionSitutation.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d2c96869fda0a27499393c09fdb322c3
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/SaveSystem/SaveState.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | namespace Tolian.Runtime.Systems.SaveDomain
6 | {
7 | [System.Serializable]
8 | public class SaveState
9 | {
10 | #region OnBoarding
11 | public List OnboardingStepsCompletionSituations;
12 | #endregion
13 |
14 | #region LevelSettings
15 | public int LevelCounter;
16 | public int LastLevelIndex;
17 | #endregion
18 |
19 | #region PlayerSettings
20 | public int TotalMoneyAmount;
21 | public int CharacterIconListNo;
22 | public string PlayerName;
23 | #endregion
24 |
25 | #region Preferences
26 | public bool IsSoundOn;
27 | public bool IsVibrationOn;
28 | public bool IsNoAdsOn;
29 | #endregion
30 |
31 | public void SetInitialValues()
32 | {
33 | #region OnBoarding
34 | OnboardingStepsCompletionSituations = new List();
35 | #endregion
36 |
37 | #region LevelSettings
38 | LastLevelIndex = 1;
39 | LevelCounter = 1;
40 | #endregion
41 |
42 | #region CharacterSettings
43 | TotalMoneyAmount = 0;
44 | CharacterIconListNo = 0;
45 | PlayerName = "Player";
46 | #endregion
47 |
48 | #region Preferences
49 | IsSoundOn = true;
50 | IsVibrationOn = true;
51 | IsNoAdsOn = false;
52 | #endregion
53 | }
54 | }
55 |
56 | }
57 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/SaveSystem/SaveState.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 46110b019db703c46bde86f3176fc9c8
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/SaveSystem/SaveSystem.cs:
--------------------------------------------------------------------------------
1 |
2 | using Tolian.Runtime.Systems.DebuggerSystem;
3 | using UnityEngine;
4 |
5 | namespace Tolian.Runtime.Systems.SaveDomain
6 | {
7 | ///
8 | /// This class handles all save/load systems with one single class which is named as "SaveState".
9 | /// This class can be extended by adding more security.
10 | /// This class is using Easy Save System 3 as provider. It can be replaced by other systems.
11 | ///
12 | /// Tip: Please do not use constructor is "SaveSystem". It causes some errors.
13 | ///
14 | public class SaveSystem : MonoBehaviour
15 | {
16 | #region Fields
17 | public SaveState SaveState = new SaveState();
18 | private const string _firstSaveCompletedString = "FirstSaveCompleted";
19 | #endregion
20 |
21 | private void Start()
22 | {
23 | Load();
24 | }
25 |
26 | ///
27 | /// Save the current state of SAVESTATE
28 | ///
29 | public void Save()
30 | {
31 | ES3.Save(_firstSaveCompletedString, true); // Save the "first Save"
32 | ES3.Save("state", SaveState); // Save the "State"
33 |
34 | ManagerDebugger.Log("The game session saved successfully", gameObject);
35 | }
36 |
37 | ///
38 | /// Load and Update the SAVESTATE
39 | ///
40 | public void Load()
41 | {
42 | bool isExist = ES3.KeyExists(_firstSaveCompletedString);
43 | if (!isExist)
44 | {
45 | SaveState = new SaveState();
46 | SaveState.SetInitialValues();
47 | Save();
48 |
49 | ManagerDebugger.Log("The inital data created successfully", gameObject);
50 | }
51 | else if(isExist)
52 | {
53 | SaveState = ES3.Load("state", new SaveState());
54 |
55 | ManagerDebugger.Log("The saved data loaded successfully", gameObject);
56 | }
57 |
58 | }
59 | }
60 | }
61 |
62 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/SaveSystem/SaveSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 801dbec73b3eb964cb14ad40d15865a4
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/ServiceLocatorSystem.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 029b4a8e260eb06429ce93bc8286ba26
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/ServiceLocatorSystem/Interfaces.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9da2e7447cd68a944b39e83baaf6e035
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/ServiceLocatorSystem/Interfaces/IService.cs:
--------------------------------------------------------------------------------
1 | namespace Tolian.Runtime.Systems.ServiceLocatorDomain
2 | {
3 | public interface IService
4 | {
5 | void RegisterToManagerServiceLocator();
6 |
7 | void UnregisterFromManagerServiceLocator();
8 | }
9 | }
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/ServiceLocatorSystem/Interfaces/IService.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c5c830758ed07d840849db28941a5d76
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/ServiceLocatorSystem/MonoBehaviourService.cs:
--------------------------------------------------------------------------------
1 | using Tolian.Runtime.Core.Managers;
2 | using UnityEngine;
3 |
4 | namespace Tolian.Runtime.Systems.ServiceLocatorDomain
5 | {
6 | ///
7 | /// For SERVICE LOCATOR Design Pattern => Base and abstract class for MonobehaviourServices.
8 | ///
9 | public abstract class MonoBehaviourService : MonoBehaviour, IService
10 | {
11 | protected virtual void Awake()
12 | {
13 | RegisterToManagerServiceLocator();
14 | }
15 |
16 | protected virtual void OnDisable()
17 | {
18 | UnregisterFromManagerServiceLocator();
19 | }
20 |
21 |
22 | public void RegisterToManagerServiceLocator()
23 | {
24 | if(!ManagerServiceLocator.Instance) return;
25 |
26 | ManagerServiceLocator.Instance.ServiceLocatorSystem.Register(this);
27 | }
28 |
29 | public void UnregisterFromManagerServiceLocator()
30 | {
31 | if(!ManagerServiceLocator.Instance) return;
32 |
33 | ManagerServiceLocator.Instance.ServiceLocatorSystem.Unregister(this);
34 | }
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/ServiceLocatorSystem/MonoBehaviourService.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0ea9096fa8c52f541a7797115a0af51c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/ServiceLocatorSystem/ServiceLocatorSystem.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using UnityEngine;
6 |
7 | namespace Tolian.Runtime.Systems.ServiceLocatorDomain
8 | {
9 | public class ServiceLocatorSystem : MonoBehaviour
10 | {
11 | private List _monoBehaviourServices = new();
12 |
13 | public void Register(MonoBehaviourService targetMonoBehaviourService)
14 | {
15 | bool isServiceExist = _monoBehaviourServices.Any(x => x == targetMonoBehaviourService);
16 |
17 | if (!isServiceExist)
18 | {
19 | _monoBehaviourServices.Add(targetMonoBehaviourService);
20 | }
21 | }
22 | public void Unregister(MonoBehaviourService targetMonoBehaviourService)
23 | {
24 | bool isServiceExist = _monoBehaviourServices.Any(x => x == targetMonoBehaviourService);
25 |
26 | if (isServiceExist)
27 | {
28 | _monoBehaviourServices.Remove(targetMonoBehaviourService);
29 | }
30 | }
31 |
32 | public T GetService() where T: MonoBehaviourService, new()
33 | {
34 | Type type = typeof(T);
35 |
36 | bool isServiceExist = _monoBehaviourServices.Any(x => x.GetType() == typeof(T));
37 |
38 | if (isServiceExist)
39 | {
40 | return (T)_monoBehaviourServices.First(x => x.GetType() == typeof(T));;
41 | }
42 |
43 | throw new ArgumentOutOfRangeException();
44 | }
45 | }
46 | }
47 |
48 |
49 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/ServiceLocatorSystem/ServiceLocatorSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e3d6464ef5d7da64baba5d1e1bb49771
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/SingletonSystem.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 593d3645448b577438a252f23011883e
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/SingletonSystem/Singleton.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | namespace Tolian.Runtime.Abstract.DesignPatterns.SingletonSystem
6 | {
7 | ///
8 | /// / For SINGLETON Design Pattern => Base and abstract class for Singletons.
9 | ///
10 | ///
11 | public class Singleton : MonoBehaviour where T : MonoBehaviour
12 | {
13 | ///
14 | /// This bool determines that this singleton is "DontDestroyOnLoad" or not
15 | ///
16 | [SerializeField] private bool dontDestroy = false;
17 |
18 | static T m_Instance;
19 | public static T Instance {
20 | get {
21 | if (m_Instance == null)
22 | {
23 | m_Instance = FindObjectOfType();
24 | }
25 | return m_Instance;
26 | }
27 | }
28 |
29 | protected virtual void Awake() {
30 | if (m_Instance == null)
31 | {
32 | m_Instance = this as T;
33 | if (dontDestroy)
34 | {
35 | transform.parent = null;
36 | DontDestroyOnLoad(this.gameObject);
37 | }
38 | }
39 | else {
40 | if (m_Instance != this as T)
41 | {
42 | Destroy(gameObject);
43 | }
44 | }
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/SingletonSystem/Singleton.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 97b07707483ac0344a2d20b38e47daab
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/SoundSystem.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bce26fdf6826860408e038a8cad309e2
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/SoundSystem/SoundSystem.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | namespace Tolian.Runtime.Systems.SoundDomain
6 | {
7 | public class SoundSystem : MonoBehaviour
8 | {
9 | #region REF
10 | public bool PreventSound { get; private set; } = false;
11 | #endregion
12 |
13 | ///
14 | /// Play sound for gameobject already has AudioSource component
15 | ///
16 | ///
17 | ///
18 | ///
19 | public void PlaySound(AudioSource targetAudioSource, AudioClip clipToBePlayed, float volume)
20 | {
21 | if(PreventSound) return;
22 | targetAudioSource.PlayOneShot(clipToBePlayed, volume);
23 | }
24 |
25 | ///
26 | /// Play sound for gameobject does not have AudioSource component
27 | ///
28 | ///
29 | ///
30 | ///
31 | public void PlaySoundAtPoint(Vector3 position, AudioClip clipToBePlayed, float volume)
32 | {
33 | if(PreventSound) return;
34 | AudioSource.PlayClipAtPoint(clipToBePlayed,position,volume);
35 | }
36 |
37 | public void SetPreventSound(bool value)
38 | {
39 | PreventSound = value;
40 | }
41 | }
42 | }
43 |
44 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/SoundSystem/SoundSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 69b1313add6fec549bbd9f52e57e3ff6
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/TolianDebuggerSystem.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c9077d0d23bad6c49b2b31d7d57f74dd
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/TolianDebuggerSystem/ManagerTolianDebugger.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5b8fa3ee41d4d0546898136b66094780
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/TolianDebuggerSystem/ManagerTolianDebugger/ManagerDebugger.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | namespace Tolian.Runtime.Systems.DebuggerSystem
6 | {
7 | public static class ManagerDebugger
8 | {
9 | ///
10 | /// This bool controls availability of LOG function
11 | ///
12 | public static bool PreventDebugging = false;
13 |
14 | ///
15 | /// This is a controllable DEBUG-LOG function
16 | ///
17 | ///
18 | ///
19 | public static void Log(string logMessage, GameObject senderGameObject)
20 | {
21 | if(PreventDebugging) return;
22 |
23 | #if (DEVELOPMENT_BUILD || UNITY_EDITOR)
24 | Debug.Log(logMessage, senderGameObject);
25 | #endif
26 |
27 | }
28 | }
29 | }
30 |
31 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/TolianDebuggerSystem/ManagerTolianDebugger/ManagerDebugger.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5ff2175547242cd4792c496cf1c15bf5
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c884d1441b62a924dbfd584001193cb1
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem/CanvasUi.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using UnityEngine;
6 |
7 | namespace Tolian.Runtime.Systems.UiDomain
8 | {
9 | ///
10 | /// Each Canvas objects, except for World Canvases, represented by this class.
11 | /// New canvases can be added by adding a new enum to CanvasType.
12 | ///
13 | public class CanvasUi : MonoBehaviour
14 | {
15 | public CanvasType CanvasType;
16 | public IOpenCloseUiCanvas OpenCloseUiCanvas { get; private set; }
17 | public List CanvasUiParts { get; private set; }
18 |
19 |
20 | private void Awake()
21 | {
22 | CanvasUiParts = GetComponentsInChildren(true).ToList();
23 | OpenCloseUiCanvas = GetComponent();
24 | }
25 |
26 | public void SetCanvasActiveness(bool activenessValue)
27 | {
28 | if (activenessValue)
29 | {
30 | OpenCloseUiCanvas.OpenUiCanvas(CanvasUiParts);
31 | }
32 | else if (!activenessValue)
33 | {
34 | OpenCloseUiCanvas.CloseUiCanvas(CanvasUiParts);
35 | }
36 | }
37 |
38 | }
39 | }
40 |
41 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem/CanvasUi.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3eb084fd44c7e5948ac9753c99afc18f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem/CanvasUiPart.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using DG.Tweening;
5 | using UnityEngine;
6 |
7 | namespace Tolian.Runtime.Systems.UiDomain
8 | {
9 | public class CanvasUiPart : MonoBehaviour
10 | {
11 | private Vector3 _initScale;
12 | public Vector3 InitScale => _initScale;
13 |
14 | private Tween _scaleTween;
15 |
16 | private void Awake()
17 | {
18 | _initScale = transform.localScale;
19 | }
20 |
21 | public void SetScale(Vector3 targetScale)
22 | {
23 | _scaleTween?.Kill();
24 | transform.localScale = targetScale;
25 | }
26 |
27 | public void SetScale(Vector3 targetScale, float duration)
28 | {
29 | _scaleTween?.Kill();
30 | _scaleTween = transform.DOScale(targetScale, duration);
31 | }
32 |
33 | public void SetScale(Vector3 targetScale, float duration, Action callback)
34 | {
35 | _scaleTween?.Kill();
36 | _scaleTween = transform.DOScale(targetScale, duration)
37 | .OnComplete(()=>callback());
38 | }
39 |
40 | }
41 | }
42 |
43 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem/CanvasUiPart.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 88d977291e4a8644f9753cd5f20e5a48
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem/Enum.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d658a819b4729444fb98fd49e0b426ed
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem/Enum/CanvasOpeningType.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace Tolian.Runtime.Systems.UiDomain
3 | {
4 | public enum CanvasOpeningType
5 | {
6 | Normal = 0,
7 | Popup = 1
8 | }
9 | }
10 |
11 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem/Enum/CanvasOpeningType.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c985dd941f0680f46a3bc945dba62da2
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem/Enum/CanvasType.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace Tolian.Runtime.Systems.UiDomain
3 | {
4 | public enum CanvasType
5 | {
6 | CanvasLevel,
7 | CanvasTutorial,
8 | CanvasLevelFail,
9 | CanvasLevelSuccess,
10 | CanvasMoney,
11 | CanvasJoystick,
12 | CanvasUiPointer,
13 | CanvasGetDamage,
14 | CanvasShop,
15 | CanvasSettings,
16 | CanvasInGameButton,
17 | CanvasLoading,
18 | CanvasRank
19 | }
20 | }
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem/Enum/CanvasType.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3684e18c952325842a801ef478b20fbd
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem/Enum/UiTutorialType.cs:
--------------------------------------------------------------------------------
1 | namespace Tolian.Runtime.Systems.UiDomain
2 | {
3 | public enum UiTutorialType
4 | {
5 | None = 0,
6 | Infinite = 1,
7 | DragToMove = 2
8 | }
9 | }
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem/Enum/UiTutorialType.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3bb2ad93196459943aecd9e7b792190a
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem/Interface.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4e97f4b29564c184a8839ff27022337d
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem/Interface/IOpenCloseUiCanvas.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Tolian.Runtime.Systems.UiDomain
4 | {
5 | public interface IOpenCloseUiCanvas
6 | {
7 | void OpenUiCanvas(List canvasUiParts);
8 | void CloseUiCanvas(List canvasUiParts);
9 |
10 | }
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem/Interface/IOpenCloseUiCanvas.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 953913398615e7a4bbae52060740f87b
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem/Systems.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 310bd4c2af7576f4da10d44b6a5fea42
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem/Systems/UiCanvasSystem.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using UnityEngine;
6 |
7 | namespace Tolian.Runtime.Systems.UiDomain
8 | {
9 | public class UiCanvasSystem : MonoBehaviour
10 | {
11 | private List _canvasUis = new();
12 |
13 | private void Awake()
14 | {
15 | _canvasUis = GetComponentsInChildren(true).ToList();
16 | }
17 |
18 | public void SetActivenessOfAllCanvases(bool value)
19 | {
20 | for (int i = 0; i < _canvasUis.Count; i++)
21 | {
22 | _canvasUis[i].gameObject.SetActive(value);
23 | }
24 | }
25 |
26 | ///
27 | /// This function sets activeness of canvases.
28 | /// In order to improve memory-control, this function can be extended by "ManagerAddressables"
29 | ///
30 | ///
31 | ///
32 | public void SetActivenessOfSpecificCanvas(CanvasType canvasType, bool activenessValue)
33 | {
34 | bool isCanvasExist = _canvasUis.Any(x => x.CanvasType == canvasType);
35 | if (!isCanvasExist) return;
36 |
37 | var canvasUi = _canvasUis.Find(x => x.CanvasType == canvasType);
38 | if (activenessValue)
39 | {
40 | canvasUi.gameObject.SetActive(true);
41 | }
42 | canvasUi.SetCanvasActiveness(activenessValue);
43 | }
44 | }
45 | }
46 |
47 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem/Systems/UiCanvasSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8b0f1d77461d6a24b909c4540e6cdfa4
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem/Systems/UiJoystickSystem.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | namespace Tolian.Runtime.Systems.UiDomain
6 | {
7 | public class UiJoystickSystem : MonoBehaviour
8 | {
9 | public Vector2 GetAnchoredPositionFromScreenPoint(Vector2 screenPosition, RectTransform panelRectTransform, RectTransform joystickImageBackground )
10 | {
11 | Vector2 localPoint = Vector2.zero;
12 |
13 | if (RectTransformUtility.ScreenPointToLocalPointInRectangle(panelRectTransform, screenPosition,
14 | null, out localPoint))
15 | {
16 | Vector2 pivotOffset = panelRectTransform.pivot * panelRectTransform.sizeDelta;
17 | return localPoint - (joystickImageBackground.anchorMax * panelRectTransform.sizeDelta) + pivotOffset;
18 | }
19 | return Vector2.zero;
20 | }
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/UiSystem/Systems/UiJoystickSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e733718909fd91744ac2c7ae3d58be93
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/VibrateSystem.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a53585b824a3c364bba10b8b99034444
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/VibrateSystem/VibrateSystem.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using MoreMountains.NiceVibrations;
4 | using UnityEngine;
5 |
6 | namespace Tolian.Runtime.Systems.VibrateDomain
7 | {
8 | public class VibrateSystem : MonoBehaviour
9 | {
10 | public bool PreventVibration { get; private set; } = false;
11 |
12 | public void Vibrate(HapticTypes targetHapticType)
13 | {
14 | if (PreventVibration) return;
15 | MMVibrationManager.Haptic(targetHapticType);
16 | }
17 |
18 | public void SetPreventVibration(bool value)
19 | {
20 | PreventVibration = value;
21 | }
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/Scripts/Runtime/Systems/VibrateSystem/VibrateSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a92d074706927294fab6eb39d91665f8
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Test.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9a7b4ce17cc78794e9eb0a7a17270cbd
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Test/EditModeTests.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d49020cc66c997243843ae3e5c657883
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Test/EditModeTests/Test1.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | public class Test1 : MonoBehaviour
6 | {
7 | // Start is called before the first frame update
8 | void Start()
9 | {
10 |
11 | }
12 |
13 | // Update is called once per frame
14 | void Update()
15 | {
16 |
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Scripts/Test/EditModeTests/Test1.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5a3f3087660bac8478f5e64c57c6a81f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Test/PlayModeTests.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 99cfb023d66618f4cbc6945203efcd35
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Test/PlayModeTests/Test2.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | public class Test2 : MonoBehaviour
6 | {
7 | // Start is called before the first frame update
8 | void Start()
9 | {
10 |
11 | }
12 |
13 | // Update is called once per frame
14 | void Update()
15 | {
16 |
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Scripts/Test/PlayModeTests/Test2.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3ab12d5050b71104e9b6b56fc12eee25
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/__Doxygen.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 436bef9f72bc69f4e8db566023b1bc47
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/__Doxygen/README.md:
--------------------------------------------------------------------------------
1 | My Main Page {#mainpage}
2 | ============
3 |
4 | Documentation that will appear on the main page
--------------------------------------------------------------------------------
/Scripts/__Doxygen/README.md.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b818cb96d7a18104784ada6de623f8ec
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------