Drag & Drop Input Reassignment

Implemented Drag and Drop operations for reassigning inputs in input screen
This commit is contained in:
Reinier Vens 2021-05-07 19:51:23 +01:00
commit da1caec7d6
17 changed files with 880 additions and 1400 deletions

View file

@ -1,5 +1,6 @@
using System.Collections;
using System.Collections.Generic;
using UniRx.Triggers;
using UnityEngine;
using UnityEngine.UI;
@ -7,4 +8,9 @@ public class InputDisplayButton : MonoBehaviour
{
public Image Fill;
public Image Outline;
public ObservableBeginDragTrigger BeginDragTrigger;
public ObservableEndDragTrigger EndDragTrigger;
public ObservablePointerClickTrigger ClickTrigger;
public ObservablePointerEnterTrigger EnterTrigger;
public ObservablePointerExitTrigger ExitTrigger;
}

View file

@ -0,0 +1,13 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UniRx.Triggers;
using UnityEngine;
using UnityEngine.UI;
public class InputDisplayLabel : MonoBehaviour
{
public TextMeshProUGUI Label;
public ObservableBeginDragTrigger BeginDragTrigger;
public ObservableEndDragTrigger EndDragTrigger;
}

View file

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

View file

@ -7,16 +7,19 @@ using MessagePack;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using TMPro;
using UniRx;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.UI;
using UnityEngine.UI.Extensions;
using Unity.Mathematics;
using UnityEngine.EventSystems;
using static Unity.Mathematics.math;
public class InputDisplayLayout : MonoBehaviour
{
public RectTransform UnassignedBindingsGroup;
public RectTransform AssignedBindingsGroup;
public InputDisplayButton MouseLeft;
public InputDisplayButton MouseRight;
public InputDisplayButton MouseMiddle;
@ -45,24 +48,30 @@ public class InputDisplayLayout : MonoBehaviour
private Canvas _canvas;
private InputLayout _inputLayout;
private ActionMapping _dragAction;
private ButtonMapping _originalButton;
private ButtonMapping _previewButton;
private ActionMapping _previewOriginalAction;
private bool _previewOriginallyActionBar;
private class ButtonMapping
{
public InputAction TestAction;
public IBindableButton Button;
public InputDisplayButton DisplayButton;
public ActionMapping ActionMapping;
public Rect ButtonRect;
public UILineRenderer LabelLine;
public bool IsActionBarButton;
public Rect ButtonRect => DisplayButton.GetComponent<RectTransform>().ScreenSpaceRect();
}
private class ActionMapping
{
public InputAction Action;
public TextMeshProUGUI Label;
public Rect LabelRect;
public InputDisplayLabel Label;
public float Hue;
public List<ButtonMapping> ButtonMappings = new List<ButtonMapping>();
public Rect LabelRect => Label.GetComponent<RectTransform>().ScreenSpaceRect();
}
private Dictionary<string, ButtonMapping> _bindButtons = new Dictionary<string, ButtonMapping>();
@ -84,8 +93,134 @@ public class InputDisplayLayout : MonoBehaviour
_buttonMappings.Add(MapMouseButton(MouseMiddle, "<Mouse>/middleButton"));
_buttonMappings.Add(MapMouseButton(MouseForward, "<Mouse>/forwardButton"));
_buttonMappings.Add(MapMouseButton(MouseBack, "<Mouse>/backButton"));
Canvas.ForceUpdateCanvases();
void EndDrag(PointerEventData _)
{
if (_previewButton == null)
{
if(_originalButton!=null)
{
_originalButton.ActionMapping = _dragAction;
_dragAction.ButtonMappings.Add(_originalButton);
AssignColor(_originalButton);
}
PlaceLabel(_dragAction);
}
else
{
// TODO: Assign New Binding
}
foreach (var buttonMapping in _buttonMappings) _bindButtons[buttonMapping.Button.InputSystemPath] = buttonMapping;
foreach(var action in _actionMappings)
action.Label.Label.raycastTarget = true;
_dragAction = null;
_originalButton = null;
_previewButton = null;
_previewOriginalAction = null;
}
foreach (var buttonMapping in _buttonMappings)
{
_bindButtons[buttonMapping.Button.InputSystemPath] = buttonMapping;
buttonMapping.TestAction = new InputAction(binding: buttonMapping.Button.InputSystemPath);
buttonMapping.TestAction.started += context =>
{
buttonMapping.DisplayButton.Outline.color = HighlightColor;
buttonMapping.DisplayButton.Outline.gameObject.SetActive(true);
var fillColor = HighlightColor;
fillColor *= FillBrightness;
fillColor.a = FillAlpha;
buttonMapping.DisplayButton.Fill.color = fillColor;
};
buttonMapping.TestAction.canceled += context => AssignColor(buttonMapping);
buttonMapping.TestAction.Enable();
// On click: when a specific action is not assigned, toggle its availability on the action bar
buttonMapping.DisplayButton.ClickTrigger.OnPointerClickAsObservable()
.Where(_=>buttonMapping.ActionMapping==null)
.Subscribe(data =>
{
buttonMapping.IsActionBarButton = !buttonMapping.IsActionBarButton;
if (buttonMapping.IsActionBarButton)
{
ActionGameManager.PlayerSettings.InputSettings.ActionBarInputs.Add(buttonMapping.Button.InputSystemPath);
foreach(var overlap in OverlappingLabels(buttonMapping.ButtonRect))
PlaceLabel(overlap);
}
else
{
ActionGameManager.PlayerSettings.InputSettings.ActionBarInputs.Remove(buttonMapping.Button.InputSystemPath);
}
AssignColor(buttonMapping);
});
buttonMapping.DisplayButton.BeginDragTrigger.OnBeginDragAsObservable()
.Where(_ => buttonMapping.ActionMapping != null)
.Subscribe(_ =>
{
_originalButton = buttonMapping;
buttonMapping.LabelLine.Points = new Vector2[0];
_dragAction = buttonMapping.ActionMapping;
foreach(var action in _actionMappings)
action.Label.Label.raycastTarget = false;
});
buttonMapping.DisplayButton.EnterTrigger.OnPointerEnterAsObservable()
.Where(_ => _dragAction != null)
.Subscribe(_ =>
{
_previewButton = buttonMapping;
_previewOriginalAction = buttonMapping.ActionMapping;
_previewOriginallyActionBar = buttonMapping.IsActionBarButton;
buttonMapping.IsActionBarButton = false;
buttonMapping.ActionMapping?.ButtonMappings.Remove(buttonMapping);
buttonMapping.ActionMapping = _dragAction;
_dragAction.ButtonMappings.Add(buttonMapping);
if(_previewOriginalAction!=null)
PlaceLabel(_previewOriginalAction);
PlaceLabel(_dragAction);
AssignColor(buttonMapping);
foreach(var overlap in OverlappingLabels(buttonMapping.ButtonRect))
PlaceLabel(overlap);
});
buttonMapping.DisplayButton.ExitTrigger.OnPointerExitAsObservable()
.Where(_ => _dragAction != null)
.Subscribe(_ =>
{
_dragAction.ButtonMappings.Remove(buttonMapping);
if (buttonMapping == _originalButton)
{
buttonMapping.ActionMapping = null;
}
else if(buttonMapping == _previewButton)
{
buttonMapping.IsActionBarButton = _previewOriginallyActionBar;
buttonMapping.ActionMapping = _previewOriginalAction;
if (!_previewOriginallyActionBar)
{
if(_previewOriginalAction != null)
{
_previewOriginalAction.ButtonMappings.Add(buttonMapping);
PlaceLabel(_previewOriginalAction);
}
}
}
ConnectButtonToLabel(buttonMapping);
AssignColor(buttonMapping);
_previewButton = null;
_previewOriginalAction = null;
});
buttonMapping.DisplayButton.EndDragTrigger.OnEndDragAsObservable()
.Where(_ => _dragAction != null)
.Subscribe(EndDrag);
}
foreach(var actionBarInput in ActionGameManager.PlayerSettings.InputSettings.ActionBarInputs)
{
@ -96,35 +231,6 @@ public class InputDisplayLayout : MonoBehaviour
AssignColor(_bindButtons[actionBarInput]);
}
}
// foreach (var key in _inputLayout.GetBindableKeys())
// {
// var keyPress = new InputAction(binding: fullInputPath);
// keyPress.started += context =>
// {
// var displayKey = _displayKeys[key];
// displayKey.Outline.color = HighlightColor;
// var fillColor = HighlightColor;
// fillColor *= FillMultiplier;
// fillColor.a = FillAlpha;
// displayKey.Fill.color = fillColor;
// };
// keyPress.canceled += context =>
// {
// var displayKey = _displayKeys[key];
// displayKey.Outline.color = DefaultColor;
// var fillColor = DefaultColor;
// fillColor *= FillMultiplier;
// fillColor.a = FillAlpha;
// displayKey.Fill.color = fillColor;
// };
// keyPress.Enable();
// }
Canvas.ForceUpdateCanvases();
foreach (var buttonMapping in _buttonMappings)
buttonMapping.ButtonRect = buttonMapping.DisplayButton.GetComponent<RectTransform>().ScreenSpaceRect();
var input = new AetheriaInput();
ProcessActions(input.asset);
@ -132,8 +238,25 @@ public class InputDisplayLayout : MonoBehaviour
foreach (var actionMapping in _actionMappings)
{
actionMapping.Label = CreateLabel(actionMapping);
actionMapping.Label.BeginDragTrigger.OnBeginDragAsObservable().Subscribe(_ =>
{
_dragAction = actionMapping;
actionMapping.Label.transform.parent = AssignedBindingsGroup;
foreach(var action in _actionMappings)
action.Label.Label.raycastTarget = false;
if (actionMapping.ButtonMappings.Count == 1)
{
var buttonMapping = actionMapping.ButtonMappings[0];
_originalButton = buttonMapping;
buttonMapping.LabelLine.Points = new Vector2[0];
buttonMapping.ActionMapping = null;
actionMapping.ButtonMappings.Clear();
ConnectButtonToLabel(buttonMapping);
AssignColor(buttonMapping);
}
});
actionMapping.Label.EndDragTrigger.OnEndDragAsObservable().Subscribe(EndDrag);
PlaceLabel(actionMapping);
foreach(var buttonMapping in actionMapping.ButtonMappings) ConnectButtonToLabel(buttonMapping);
}
//StartCoroutine(AssociateInputKeys(_inputLayout));
@ -216,12 +339,12 @@ public class InputDisplayLayout : MonoBehaviour
if (button is InputDisplayKey key) key.MainLabel.color = key.AltLabel.color = Color.Lerp(outlineColor, fillColor, .5f);
}
private TextMeshProUGUI CreateLabel(ActionMapping actionMapping)
private InputDisplayLabel CreateLabel(ActionMapping actionMapping)
{
var label = LabelPrototype.Instantiate<TextMeshProUGUI>();
label.color = Color.HSVToRGB(actionMapping.Hue, Saturation, 1);
var label = LabelPrototype.Instantiate<InputDisplayLabel>();
label.Label.color = Color.HSVToRGB(actionMapping.Hue, Saturation, 1);
actionMapping.Label = label;
label.text = actionMapping.Action.name.Replace(' ', '\n');
label.Label.text = actionMapping.Action.name.Replace(' ', '\n');
return label;
}
@ -229,16 +352,18 @@ public class InputDisplayLayout : MonoBehaviour
{
if(actionMapping.ButtonMappings.Any())
{
var labelRect = actionMapping.Label.rectTransform;
var labelRect = actionMapping.Label.Label.rectTransform;
LayoutRebuilder.ForceRebuildLayoutImmediate(labelRect);
var rect = FindLabelPosition(actionMapping.ButtonMappings.First().DisplayButton.GetComponent<RectTransform>(), labelRect);
actionMapping.LabelRect = rect;
//actionMapping.LabelRect = rect;
actionMapping.Label.transform.parent = AssignedBindingsGroup;
actionMapping.Label.transform.position = rect.center;
}
else
{
actionMapping.Label.rectTransform.parent = UnassignedBindingsGroup;
actionMapping.Label.transform.parent = UnassignedBindingsGroup;
}
foreach(var buttonMapping in actionMapping.ButtonMappings) ConnectButtonToLabel(buttonMapping);
}
private void ConnectButtonToLabel(ButtonMapping buttonMapping)
@ -246,13 +371,13 @@ public class InputDisplayLayout : MonoBehaviour
if (buttonMapping.ActionMapping != null)
{
var keyBounds = buttonMapping.DisplayButton.Outline.rectTransform.GetBounds(BoxLineExpand);
var labelPoint = (Vector2) buttonMapping.ActionMapping.Label.rectTransform.GetBounds().ClosestPoint(keyBounds.center);
var labelPoint = (Vector2) buttonMapping.ActionMapping.Label.Label.rectTransform.GetBounds().ClosestPoint(keyBounds.center);
var keyPoint = (Vector2) keyBounds.ClosestPoint(labelPoint);
labelPoint /= _canvas.scaleFactor;
keyPoint /= _canvas.scaleFactor;
buttonMapping.LabelLine ??= LinePrototype.Instantiate<UILineRenderer>();
buttonMapping.LabelLine.color = buttonMapping.ActionMapping.Label.color;
buttonMapping.LabelLine.color = buttonMapping.ActionMapping.Label.Label.color;
buttonMapping.LabelLine.Points = new[] {keyPoint, labelPoint};
}
else
@ -287,12 +412,15 @@ public class InputDisplayLayout : MonoBehaviour
}
return default;
}
private ActionMapping[] OverlappingLabels(Rect rect) => _actionMappings
.Where(a => a.LabelRect.Overlaps(rect)).ToArray();
private Rect[] Overlap(Rect rect) => _buttonMappings
.Where(b=>b.IsActionBarButton || b.ActionMapping!=null)
.Select(b=>b.ButtonRect)
.Concat(_actionMappings
.Where(a=>a.LabelRect.width > .1f)
.Where(a=>a.Label && a.LabelRect.width > .1f)
.Select(a=>a.LabelRect))
.Where(r => r.Overlaps(rect)).ToArray();
@ -474,6 +602,9 @@ public class InputDisplayLayout : MonoBehaviour
void Update()
{
if (_dragAction != null && _previewButton == null)
{
_dragAction.Label.transform.position = Mouse.current.position.ReadValue();
}
}
}

View file

@ -86,7 +86,7 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Scale: 5.4798894
- _Scale: 6.772527
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1

View file

@ -13,8 +13,8 @@ TextureImporter:
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
mipMapFadeDistanceStart: 0
mipMapFadeDistanceEnd: 2
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0

File diff suppressed because it is too large Load diff

View file

@ -135,7 +135,7 @@ GameObject:
- component: {fileID: 19350732}
- component: {fileID: 19350731}
m_Layer: 5
m_Name: Label
m_Name: Title
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -270,6 +270,12 @@ GameObject:
- component: {fileID: 144074277}
- component: {fileID: 144074276}
- component: {fileID: 144074278}
- component: {fileID: 144074284}
- component: {fileID: 144074282}
- component: {fileID: 144074281}
- component: {fileID: 144074280}
- component: {fileID: 144074279}
- component: {fileID: 144074283}
m_Layer: 5
m_Name: Middle
m_TagString: Untagged
@ -349,6 +355,83 @@ MonoBehaviour:
m_EditorClassIdentifier:
Fill: {fileID: 144074276}
Outline: {fileID: 146016649}
BeginDragTrigger: {fileID: 144074284}
EndDragTrigger: {fileID: 144074282}
ClickTrigger: {fileID: 144074281}
EnterTrigger: {fileID: 144074280}
ExitTrigger: {fileID: 144074279}
--- !u!114 &144074279
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 144074274}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9643e74593988274bbed9adf40384e48, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &144074280
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 144074274}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3468b3db8d419c745b12124f6432696b, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &144074281
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 144074274}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: aa69c313aba23f945b760e79c45083ad, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &144074282
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 144074274}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b8ce8424f238d6842bd8b09c0cca1ac4, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &144074283
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 144074274}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 79db090dc9e4db245821e8b89b0e208e, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &144074284
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 144074274}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3a81a9b6bec6b4f4fba7e0047cd989f6, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &146016647
GameObject:
m_ObjectHideFlags: 0
@ -436,6 +519,12 @@ GameObject:
- component: {fileID: 187012183}
- component: {fileID: 187012182}
- component: {fileID: 187012184}
- component: {fileID: 187012190}
- component: {fileID: 187012189}
- component: {fileID: 187012188}
- component: {fileID: 187012187}
- component: {fileID: 187012186}
- component: {fileID: 187012185}
m_Layer: 5
m_Name: Key
m_TagString: Untagged
@ -512,9 +601,86 @@ MonoBehaviour:
m_EditorClassIdentifier:
Fill: {fileID: 2001795661}
Outline: {fileID: 838176421}
BeginDragTrigger: {fileID: 187012190}
EndDragTrigger: {fileID: 187012188}
ClickTrigger: {fileID: 187012187}
EnterTrigger: {fileID: 187012186}
ExitTrigger: {fileID: 187012185}
MainLabel: {fileID: 818051546}
AltLabel: {fileID: 405516092}
LayoutElement: {fileID: 187012182}
--- !u!114 &187012185
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 187012180}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9643e74593988274bbed9adf40384e48, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &187012186
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 187012180}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3468b3db8d419c745b12124f6432696b, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &187012187
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 187012180}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: aa69c313aba23f945b760e79c45083ad, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &187012188
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 187012180}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b8ce8424f238d6842bd8b09c0cca1ac4, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &187012189
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 187012180}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 79db090dc9e4db245821e8b89b0e208e, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &187012190
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 187012180}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3a81a9b6bec6b4f4fba7e0047cd989f6, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &341206683
GameObject:
m_ObjectHideFlags: 0
@ -596,6 +762,12 @@ GameObject:
- component: {fileID: 401362626}
- component: {fileID: 401362625}
- component: {fileID: 401362627}
- component: {fileID: 401362633}
- component: {fileID: 401362631}
- component: {fileID: 401362630}
- component: {fileID: 401362629}
- component: {fileID: 401362628}
- component: {fileID: 401362632}
m_Layer: 5
m_Name: Forward
m_TagString: Untagged
@ -675,6 +847,83 @@ MonoBehaviour:
m_EditorClassIdentifier:
Fill: {fileID: 401362625}
Outline: {fileID: 1490586891}
BeginDragTrigger: {fileID: 401362633}
EndDragTrigger: {fileID: 401362631}
ClickTrigger: {fileID: 401362630}
EnterTrigger: {fileID: 401362629}
ExitTrigger: {fileID: 401362628}
--- !u!114 &401362628
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 401362623}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9643e74593988274bbed9adf40384e48, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &401362629
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 401362623}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3468b3db8d419c745b12124f6432696b, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &401362630
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 401362623}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: aa69c313aba23f945b760e79c45083ad, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &401362631
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 401362623}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b8ce8424f238d6842bd8b09c0cca1ac4, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &401362632
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 401362623}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 79db090dc9e4db245821e8b89b0e208e, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &401362633
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 401362623}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3a81a9b6bec6b4f4fba7e0047cd989f6, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &405516090
GameObject:
m_ObjectHideFlags: 0
@ -822,6 +1071,12 @@ GameObject:
- component: {fileID: 485176886}
- component: {fileID: 485176885}
- component: {fileID: 485176887}
- component: {fileID: 485176893}
- component: {fileID: 485176891}
- component: {fileID: 485176890}
- component: {fileID: 485176889}
- component: {fileID: 485176888}
- component: {fileID: 485176892}
m_Layer: 5
m_Name: Back
m_TagString: Untagged
@ -901,6 +1156,83 @@ MonoBehaviour:
m_EditorClassIdentifier:
Fill: {fileID: 485176885}
Outline: {fileID: 507840205}
BeginDragTrigger: {fileID: 485176893}
EndDragTrigger: {fileID: 485176891}
ClickTrigger: {fileID: 485176890}
EnterTrigger: {fileID: 485176889}
ExitTrigger: {fileID: 485176888}
--- !u!114 &485176888
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 485176883}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9643e74593988274bbed9adf40384e48, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &485176889
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 485176883}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3468b3db8d419c745b12124f6432696b, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &485176890
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 485176883}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: aa69c313aba23f945b760e79c45083ad, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &485176891
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 485176883}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b8ce8424f238d6842bd8b09c0cca1ac4, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &485176892
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 485176883}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 79db090dc9e4db245821e8b89b0e208e, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &485176893
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 485176883}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3a81a9b6bec6b4f4fba7e0047cd989f6, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &507840203
GameObject:
m_ObjectHideFlags: 0
@ -988,6 +1320,12 @@ GameObject:
- component: {fileID: 526198902}
- component: {fileID: 526198901}
- component: {fileID: 526198903}
- component: {fileID: 526198909}
- component: {fileID: 526198907}
- component: {fileID: 526198906}
- component: {fileID: 526198905}
- component: {fileID: 526198904}
- component: {fileID: 526198908}
m_Layer: 5
m_Name: Right
m_TagString: Untagged
@ -1067,6 +1405,83 @@ MonoBehaviour:
m_EditorClassIdentifier:
Fill: {fileID: 526198901}
Outline: {fileID: 854007639}
BeginDragTrigger: {fileID: 526198909}
EndDragTrigger: {fileID: 526198907}
ClickTrigger: {fileID: 526198906}
EnterTrigger: {fileID: 526198905}
ExitTrigger: {fileID: 526198904}
--- !u!114 &526198904
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 526198899}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9643e74593988274bbed9adf40384e48, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &526198905
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 526198899}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3468b3db8d419c745b12124f6432696b, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &526198906
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 526198899}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: aa69c313aba23f945b760e79c45083ad, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &526198907
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 526198899}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b8ce8424f238d6842bd8b09c0cca1ac4, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &526198908
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 526198899}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 79db090dc9e4db245821e8b89b0e208e, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &526198909
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 526198899}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3a81a9b6bec6b4f4fba7e0047cd989f6, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &543472257
GameObject:
m_ObjectHideFlags: 0
@ -1157,9 +1572,13 @@ GameObject:
m_Component:
- component: {fileID: 613373515}
- component: {fileID: 613373519}
- component: {fileID: 613373518}
- component: {fileID: 613373517}
- component: {fileID: 613373516}
- component: {fileID: 613373518}
- component: {fileID: 613373523}
- component: {fileID: 613373522}
- component: {fileID: 613373520}
- component: {fileID: 613373521}
m_Layer: 5
m_Name: Label
m_TagString: Untagged
@ -1312,6 +1731,57 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 613373514}
m_CullTransparentMesh: 1
--- !u!114 &613373520
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 613373514}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b8ce8424f238d6842bd8b09c0cca1ac4, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &613373521
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 613373514}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 79db090dc9e4db245821e8b89b0e208e, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &613373522
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 613373514}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3a81a9b6bec6b4f4fba7e0047cd989f6, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &613373523
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 613373514}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 700fd1a95c544a24cbb9991c8b4c2d3f, type: 3}
m_Name:
m_EditorClassIdentifier:
Label: {fileID: 613373518}
BeginDragTrigger: {fileID: 613373522}
EndDragTrigger: {fileID: 613373520}
--- !u!1 &762724326
GameObject:
m_ObjectHideFlags: 0
@ -1404,10 +1874,10 @@ RectTransform:
m_LocalScale: {x: 0, y: 0, z: 0}
m_Children:
- {fileID: 1225606406}
- {fileID: 1498000168}
- {fileID: 1104528364}
- {fileID: 977013929}
- {fileID: 816403306}
- {fileID: 1498000168}
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -1508,7 +1978,7 @@ RectTransform:
m_Children:
- {fileID: 613373515}
m_Father: {fileID: 762724330}
m_RootOrder: 3
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
@ -1925,7 +2395,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 762724330}
m_RootOrder: 2
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
@ -1989,6 +2459,12 @@ GameObject:
- component: {fileID: 981239703}
- component: {fileID: 981239702}
- component: {fileID: 981239704}
- component: {fileID: 981239710}
- component: {fileID: 981239708}
- component: {fileID: 981239707}
- component: {fileID: 981239706}
- component: {fileID: 981239705}
- component: {fileID: 981239709}
m_Layer: 5
m_Name: Left
m_TagString: Untagged
@ -2068,6 +2544,83 @@ MonoBehaviour:
m_EditorClassIdentifier:
Fill: {fileID: 981239702}
Outline: {fileID: 1292803172}
BeginDragTrigger: {fileID: 981239710}
EndDragTrigger: {fileID: 981239708}
ClickTrigger: {fileID: 981239707}
EnterTrigger: {fileID: 981239706}
ExitTrigger: {fileID: 981239705}
--- !u!114 &981239705
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 981239700}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9643e74593988274bbed9adf40384e48, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &981239706
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 981239700}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3468b3db8d419c745b12124f6432696b, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &981239707
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 981239700}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: aa69c313aba23f945b760e79c45083ad, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &981239708
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 981239700}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b8ce8424f238d6842bd8b09c0cca1ac4, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &981239709
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 981239700}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 79db090dc9e4db245821e8b89b0e208e, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &981239710
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 981239700}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3a81a9b6bec6b4f4fba7e0047cd989f6, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1017974192
GameObject:
m_ObjectHideFlags: 0
@ -2104,7 +2657,7 @@ Camera:
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 2
m_BackGroundColor: {r: 0.084905684, g: 0.084905684, b: 0.084905684, a: 0}
m_BackGroundColor: {r: 0.15, g: 0.15, b: 0.15, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
@ -2181,7 +2734,7 @@ RectTransform:
m_Children:
- {fileID: 543472258}
m_Father: {fileID: 762724330}
m_RootOrder: 1
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 0.5}
@ -2201,6 +2754,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
UnassignedBindingsGroup: {fileID: 794363308}
AssignedBindingsGroup: {fileID: 816403306}
MouseLeft: {fileID: 981239704}
MouseRight: {fileID: 526198903}
MouseMiddle: {fileID: 144074278}
@ -2213,7 +2767,7 @@ MonoBehaviour:
RowPrototype: {fileID: 1437310508}
RowSpacerPrototype: {fileID: 341206685}
KeySize: 64
DefaultColor: {r: 0.75, g: 0.9210527, b: 1, a: 1}
DefaultColor: {r: 0.050000012, g: 1, b: 1, a: 1}
HighlightColor: {r: 1, g: 0.4464876, b: 0.050000012, a: 1}
FillBrightness: 0.25
FillAlpha: 0.75
@ -2624,7 +3178,7 @@ RectTransform:
- {fileID: 401362624}
- {fileID: 485176884}
m_Father: {fileID: 762724330}
m_RootOrder: 4
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 0}
@ -2644,7 +3198,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.14901961}
m_Color: {r: 0, g: 0, b: 0, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1

View file

@ -802,8 +802,8 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 741153267}
m_LocalRotation: {x: 0.015506903, y: 0.9502416, z: -0.30741313, w: 0.04793323}
m_LocalPosition: {x: -117.51999, y: -77.08743, z: 149.09026}
m_LocalRotation: {x: 0.015506913, y: 0.9502416, z: -0.30741316, w: 0.047933254}
m_LocalPosition: {x: -117.52001, y: -77.08742, z: 149.09026}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 412917866}
@ -1304,8 +1304,8 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 965376321}
m_LocalRotation: {x: 0.015506903, y: 0.9502416, z: -0.30741313, w: 0.04793323}
m_LocalPosition: {x: -117.51999, y: -77.08743, z: 149.09026}
m_LocalRotation: {x: 0.015506913, y: 0.9502416, z: -0.30741316, w: 0.047933254}
m_LocalPosition: {x: -117.52001, y: -77.08742, z: 149.09026}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
@ -1453,8 +1453,8 @@ MonoBehaviour:
m_EditorClassIdentifier:
pattern: 12
patternScale: 1
activeSample: {x: -0.3125, y: -0.35185185, z: 0.3125, w: 0.2037037}
activeIndex: 11
activeSample: {x: 0.125, y: 0.2777778, z: -0.375, w: -0.055555552}
activeIndex: 4
--- !u!114 &965376331
MonoBehaviour:
m_ObjectHideFlags: 0

View file

@ -94,10 +94,15 @@ public class ActionGameManager : MonoBehaviour
private static PlayerSettings _playerSettings;
public static PlayerSettings PlayerSettings
{
get => _playerSettings ??= File.Exists(_playerSettingsFilePath)
? MessagePackSerializer.Deserialize<PlayerSettings>(File.ReadAllBytes(_playerSettingsFilePath))
: GetDefaultPlayerSettings();
get
{
RegisterResolver.Register();
return _playerSettings ??= File.Exists(_playerSettingsFilePath)
? MessagePackSerializer.Deserialize<PlayerSettings>(File.ReadAllBytes(_playerSettingsFilePath))
: GetDefaultPlayerSettings();
}
}
private static string _playerSettingsFilePath => Path.Combine(GameDataDirectory.FullName, "PlayerSettings.msgpack");
public static void SavePlayerSettings()
{

View file

@ -49,12 +49,14 @@ public class PlayerSettings
}
}
[MessagePackObject]
public class PlayerGameplaySettings
{
[Key(0)] public TemperatureUnit TemperatureUnit = TemperatureUnit.Celsius;
[Key(1)] public int SignificantDigits = 3;
}
[MessagePackObject]
public class PlayerInputSettings
{
[Key(0)] public Dictionary<string, string> InputActionMap = new Dictionary<string, string>();

View file

@ -196,19 +196,23 @@ public class SchematicDisplay : MonoBehaviour
TurnRPMFill.anchorMax = new Vector2(_aetherDrive.Rpm.z / _aetherDrive.MaximumRpm, 1);
}
}
else
// else
// {
// DistanceLabel.text = $"{(int)length(_entity.Position - _player.Position)}";
// }
if(VisibilityLabel)
VisibilityLabel.text = ((int)_entity.Visibility).ToString();
if(HullDurabilityFill)
{
DistanceLabel.text = $"{(int)length(_entity.Position - _player.Position)}";
_hull = _entity.Hull;
var hullData = _entity.ItemManager.GetData(_hull);
var dur = _hull.Durability / hullData.Durability;
HullDurabilityFill.anchorMax = new Vector2(dur, 1);
HullDurabilityLabel.text = $"{ActionGameManager.PlayerSettings.Format(dur * 100)}%";
}
VisibilityLabel.text = ((int)_entity.Visibility).ToString();
_hull = _entity.Hull;
var hullData = _entity.ItemManager.GetData(_hull);
var dur = _hull.Durability / hullData.Durability;
HullDurabilityFill.anchorMax = new Vector2(dur, 1);
HullDurabilityLabel.text = $"{ActionGameManager.PlayerSettings.Format(dur*100)}%";
foreach (var x in _schematicItems)
{
if (!_enemy)
@ -229,7 +233,8 @@ public class SchematicDisplay : MonoBehaviour
if (x.Weapon.WeaponData != null)
{
x.ListElement.RangeLabel.text = ((int) x.Weapon.Range).ToString();
if(x.ListElement.RangeLabel)
x.ListElement.RangeLabel.text = ((int) x.Weapon.Range).ToString();
}
}
}

File diff suppressed because one or more lines are too long

BIN
GameData/PlayerSettings.msgpack (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -11,6 +11,7 @@
"com.unity.localization": "0.11.1-preview",
"com.unity.mathematics": "1.2.1",
"com.unity.postprocessing": "2.3.0",
"com.unity.recorder": "2.5.5",
"com.unity.test-framework": "1.1.24",
"com.unity.textmeshpro": "3.0.1",
"com.unity.timeline": "1.4.6",

View file

@ -104,6 +104,15 @@
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.recorder": {
"version": "2.5.5",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.timeline": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.scriptablebuildpipeline": {
"version": "1.17.0",
"depth": 2,

BIN
UserSettings/EditorUserSettings.asset (Stored with Git LFS)

Binary file not shown.