Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using Code.Csharp.Systems.CharacterSystems.Ext.SaveData;
- using Code.Csharp.Systems.SaverSystem;
- using Code.Csharp.Systems.SaverSystem.ProviderData;
- using Code.Csharp.Systems.Scenes.App;
- using Code.Csharp.Systems.UI.SettingScreen;
- using Plugins.MaoUtility.Systems.DILocator.Atr;
- using Plugins.MaoUtility.Systems.IoUi.Btns;
- using Plugins.MaoUtility.Systems.IoUi.Core;
- using UnityEngine;
- namespace Code.Csharp.Systems.CharacterSystems.Ext.IO
- {
- public class CharacterControlSettingKeyboardIoGroupHandler : IoGroupHandler, IUIPanelSetting
- {
- public IoBtnKey Forward;
- public IoBtnKey Back;
- public IoBtnKey Right;
- public IoBtnKey Left;
- public IoBtnKey Jump;
- public IoBtnKey DashAndRun;
- public IoBtnKey Crouch;
- public IoBtnKey Interact;
- public void SetActivated(bool isActivated)
- {
- if(isActivated) Register<CharacterControlSettingKeyboardIoGroupHandler>();
- else Unregister<CharacterControlSettingKeyboardIoGroupHandler>();
- }
- }
- [DiMark]
- public class CharacterControlSettingKeyboardIoIniter : IoIniter<CharacterControlSettingKeyboardIoGroupHandler>
- {
- [DiInject] private AppEntity _appEntity;
- private CharacterControlMoveSettingKeyboard _data;
- [DiInject]
- private void Init()
- => _data = _appEntity.Get<SaveEntity>().Get<ProviderSaveData>().GetData<CharacterControlMoveSettingKeyboard>();
- public override void Register(CharacterControlSettingKeyboardIoGroupHandler panel)
- {
- base.Register(panel);
- panel.Back.Init(()=>_data.KeyBack.Value, x=>_data.KeyBack.Value = x);
- panel.Forward.Init(()=>_data.KeyForward.Value, x=>_data.KeyForward.Value = x);
- panel.Right.Init(()=>_data.KeyRight.Value, x=>_data.KeyRight.Value = x);
- panel.Left.Init(()=>_data.KeyLeft.Value, x=>_data.KeyLeft.Value = x);
- panel.Jump.Init(()=>_data.KeyJump.Value, x=>_data.KeyJump.Value = x);
- panel.Crouch.Init(()=>_data.KeyCrouch.Value, x=>_data.KeyCrouch.Value = x);
- panel.DashAndRun.Init(()=>_data.KeyRunAndDash.Value, x=>_data.KeyRunAndDash.Value = x);
- panel.Interact.Init(()=>_data.KeyInteract.Value, x=>_data.KeyInteract.Value = x);
- }
- public override void Unregister(CharacterControlSettingKeyboardIoGroupHandler panel)
- {
- base.Unregister(panel);
- panel.Back.Init(()=>default, x=>{});
- panel.Forward.Init(()=>default, x=>{});
- panel.Right.Init(()=>default, x=>{});
- panel.Left.Init(()=>default, x=>{});
- panel.Jump.Init(()=>default, x=>{});
- panel.Crouch.Init(()=>default, x=>{});
- panel.DashAndRun.Init(()=>default, x=>{});
- panel.Interact.Init(()=>default, x=>{});
- }
- }
- public class ConnectorCharacterControlSettingKeyboardIoGroupHandlerHandlerAndIniter : ConnectorTypeForIoManager
- {
- public override Type TargetTypeHandler => typeof(CharacterControlSettingKeyboardIoGroupHandler);
- public override Type GetTypeIniter() => typeof(CharacterControlSettingKeyboardIoIniter);
- }
- [DiMark]
- public class CharacterControllSettingKeyboardSettingPanel : SettingPanel<CharacterControlMoveSettingKeyboard>
- {
- [DiInject] private AppEntity _appEntity;
- private CharacterControlMoveSettingKeyboard _data;
- [DiInject]
- private void Init()
- => _data = _appEntity.Get<SaveEntity>().Get<ProviderSaveData>().GetData<CharacterControlMoveSettingKeyboard>();
- protected override CharacterControlMoveSettingKeyboard GetData() => _data;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement