Добавлен обработчик сигналов
This commit is contained in:
parent
31b1bef928
commit
04aa5770ec
30
Assets/Data/Settings/Тестовый/Setting 5.asset
Normal file
30
Assets/Data/Settings/Тестовый/Setting 5.asset
Normal file
@ -0,0 +1,30 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: c97246c0e3a7eff46acd53fd591fb800, type: 3}
|
||||
m_Name: Setting 5
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Setting
|
||||
Type: 4
|
||||
Id: dfgh
|
||||
Alias: "\u0412\u044B\u0445\u043E\u0434 \u0432 \u043C\u0435\u043D\u044E"
|
||||
Description: "\u0411\u0443\u043B\u044C\u043A\u0430 \u0442\u0435\u0441\u0442\u043E\u0430\u044F"
|
||||
BoolValue: 0
|
||||
IntValue: 0
|
||||
IntMin: 0
|
||||
IntMax: 0
|
||||
IntStep: 0
|
||||
FloatValue: 0
|
||||
FloatMin: 0
|
||||
FloatMax: 0
|
||||
FloatStep: 0
|
||||
StringValue:
|
||||
AllowedValues: []
|
||||
SignalValue: ExitSettings
|
||||
8
Assets/Data/Settings/Тестовый/Setting 5.asset.meta
Normal file
8
Assets/Data/Settings/Тестовый/Setting 5.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7d29c63ea59e76749bf62849ae0d8c3d
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -20,3 +20,4 @@ MonoBehaviour:
|
||||
- {fileID: 11400000, guid: d2188b0ef32202a4d9ad3df57c2c1eed, type: 2}
|
||||
- {fileID: 11400000, guid: 446cdce1ef64d65468663efb78cd7e80, type: 2}
|
||||
- {fileID: 11400000, guid: d8bec6b85774d61438fec8bbbe8e2c11, type: 2}
|
||||
- {fileID: 11400000, guid: 7d29c63ea59e76749bf62849ae0d8c3d, type: 2}
|
||||
|
||||
@ -64,7 +64,7 @@ MonoBehaviour:
|
||||
IconImage: {fileID: 5877127147719493293}
|
||||
SettingsContainer: {fileID: 5456184644745422048}
|
||||
TitleHeight: 70
|
||||
SettingHeight: 50
|
||||
SettingHeight: 70
|
||||
Spacing: 20
|
||||
SettingViewPrefab: {fileID: 8523326230162255979, guid: 9749b35ba531fcf4592327590f80b37a, type: 3}
|
||||
--- !u!1 &2135281558882328426
|
||||
|
||||
@ -170,7 +170,7 @@ AudioSource:
|
||||
serializedVersion: 4
|
||||
OutputAudioMixerGroup: {fileID: 3267350881032310169, guid: 9e60f4c98f741874887713174defa070, type: 2}
|
||||
m_audioClip: {fileID: 0}
|
||||
m_Resource: {fileID: 8300000, guid: 548caa46227f86a4f929dd8e94008645, type: 3}
|
||||
m_Resource: {fileID: 8300000, guid: ec3eab0f94b667640bdc0c95a0668cb9, type: 3}
|
||||
m_PlayOnAwake: 1
|
||||
m_Volume: 1
|
||||
m_Pitch: 1
|
||||
|
||||
@ -170,6 +170,67 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &733623714
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 733623716}
|
||||
- component: {fileID: 733623715}
|
||||
m_Layer: 0
|
||||
m_Name: SignalCatcher
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &733623715
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 733623714}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 76dd186285f4f5c4a8f2c3e1b9a3cd19, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::SettingSignalCatcher
|
||||
signalToCallbackList:
|
||||
- Signal: ExitSettings
|
||||
Callback:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 1983379440}
|
||||
m_TargetAssemblyTypeName: TestExit, Assembly-CSharp
|
||||
m_MethodName: ExitToMenu
|
||||
m_Mode: 1
|
||||
m_Arguments:
|
||||
m_ObjectArgument: {fileID: 0}
|
||||
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||
m_IntArgument: 0
|
||||
m_FloatArgument: 0
|
||||
m_StringArgument:
|
||||
m_BoolArgument: 0
|
||||
m_CallState: 2
|
||||
--- !u!4 &733623716
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 733623714}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 706.9815, y: 322.84796, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &853638362
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -257,8 +318,7 @@ GameObject:
|
||||
m_Component:
|
||||
- component: {fileID: 993253815}
|
||||
- component: {fileID: 993253818}
|
||||
- component: {fileID: 993253817}
|
||||
- component: {fileID: 993253816}
|
||||
- component: {fileID: 993253819}
|
||||
m_Layer: 5
|
||||
m_Name: Viewport
|
||||
m_TagString: Untagged
|
||||
@ -286,49 +346,6 @@ RectTransform:
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: -17}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!114 &993253816
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 993253814}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Mask
|
||||
m_ShowMaskGraphic: 0
|
||||
--- !u!114 &993253817
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 993253814}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!222 &993253818
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -337,6 +354,20 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 993253814}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &993253819
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 993253814}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.RectMask2D
|
||||
m_Padding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Softness: {x: 0, y: 100}
|
||||
--- !u!1 &1182781884
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -703,10 +734,10 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: c0343bffc1f51dc4ea7c7d3dc9fc25bf, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::SettingsScreen
|
||||
NextSetting: 2
|
||||
NextSetting: 1
|
||||
PreviousSetting: 0
|
||||
ChangeSettingPositive: 1
|
||||
ChangeSettingNegative: 3
|
||||
ChangeSettingPositive: 3
|
||||
ChangeSettingNegative: 2
|
||||
GroupViewPrefab: {fileID: 5195463367869704542, guid: d0e462ba641f9114da23886885450b5f, type: 3}
|
||||
pointer: {fileID: 1647539554}
|
||||
scrollRect: {fileID: 1514098326}
|
||||
@ -719,3 +750,4 @@ SceneRoots:
|
||||
- {fileID: 371035890}
|
||||
- {fileID: 2124351232}
|
||||
- {fileID: 1983379441}
|
||||
- {fileID: 733623716}
|
||||
|
||||
32
Assets/Scripts/Settings/SettingSignalCatcher.cs
Normal file
32
Assets/Scripts/Settings/SettingSignalCatcher.cs
Normal file
@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
|
||||
public class SettingSignalCatcher : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private List<SignalToCallback> signalToCallbackList;
|
||||
|
||||
private void OnEnable() => SignalView.SignalEmmited += HandleSignal;
|
||||
private void OnDisable() => SignalView.SignalEmmited -= HandleSignal;
|
||||
|
||||
public void HandleSignal(string entrySignal)
|
||||
{
|
||||
foreach (var signalToCallback in signalToCallbackList)
|
||||
{
|
||||
if (signalToCallback.Signal == entrySignal)
|
||||
{
|
||||
signalToCallback.Callback?.Invoke();
|
||||
return;
|
||||
}
|
||||
}
|
||||
Debug.LogWarning($"Callback для сигнала {entrySignal} не задан", this);
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
class SignalToCallback
|
||||
{
|
||||
public string Signal;
|
||||
public UnityEvent Callback;
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Settings/SettingSignalCatcher.cs.meta
Normal file
2
Assets/Scripts/Settings/SettingSignalCatcher.cs.meta
Normal file
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 76dd186285f4f5c4a8f2c3e1b9a3cd19
|
||||
@ -4,6 +4,12 @@ public class TestExit : MonoBehaviour
|
||||
{
|
||||
void Update()
|
||||
{
|
||||
if (In.GetButtonDown(InSignal.Service)) SceneLoader.LoadScene("Menu");
|
||||
if (In.GetButtonDown(InSignal.Service))
|
||||
ExitToMenu();
|
||||
}
|
||||
|
||||
public void ExitToMenu()
|
||||
{
|
||||
SceneLoader.LoadScene("Menu");
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user