Input Screen Refactoring
Cleaned up the code for the input screen and refactored to prepare for mouse binding Consolidated wormhole and dock keys into one "Interact" key
This commit is contained in:
parent
c2a23b5f5e
commit
296a7f2958
47 changed files with 2676 additions and 393 deletions
BIN
Asset Sources/Mouse.png
(Stored with Git LFS)
Normal file
BIN
Asset Sources/Mouse.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Asset Sources/Mouse.psd
(Stored with Git LFS)
Normal file
BIN
Asset Sources/Mouse.psd
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Asset Sources/Mouse_0000_Forward-copy.png
(Stored with Git LFS)
Normal file
BIN
Asset Sources/Mouse_0000_Forward-copy.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Asset Sources/Mouse_0000_Layer-5.png
(Stored with Git LFS)
Normal file
BIN
Asset Sources/Mouse_0000_Layer-5.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Asset Sources/Mouse_0001_Forward.png
(Stored with Git LFS)
Normal file
BIN
Asset Sources/Mouse_0001_Forward.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Asset Sources/Mouse_0001_Layer-4.png
(Stored with Git LFS)
Normal file
BIN
Asset Sources/Mouse_0001_Layer-4.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Asset Sources/Mouse_0002_Layer-3.png
(Stored with Git LFS)
Normal file
BIN
Asset Sources/Mouse_0002_Layer-3.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Asset Sources/Mouse_0002_Middle-copy.png
(Stored with Git LFS)
Normal file
BIN
Asset Sources/Mouse_0002_Middle-copy.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Asset Sources/Mouse_0003_Layer-8.png
(Stored with Git LFS)
Normal file
BIN
Asset Sources/Mouse_0003_Layer-8.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Asset Sources/Mouse_0003_Middle.png
(Stored with Git LFS)
Normal file
BIN
Asset Sources/Mouse_0003_Middle.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Asset Sources/Mouse_0004_Layer-9.png
(Stored with Git LFS)
Normal file
BIN
Asset Sources/Mouse_0004_Layer-9.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Asset Sources/Mouse_0004_Right-copy.png
(Stored with Git LFS)
Normal file
BIN
Asset Sources/Mouse_0004_Right-copy.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Asset Sources/Mouse_0005_Layer-10-copy.png
(Stored with Git LFS)
Normal file
BIN
Asset Sources/Mouse_0005_Layer-10-copy.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Asset Sources/Mouse_0005_Right.png
(Stored with Git LFS)
Normal file
BIN
Asset Sources/Mouse_0005_Right.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Asset Sources/Mouse_0006_Layer-10.png
(Stored with Git LFS)
Normal file
BIN
Asset Sources/Mouse_0006_Layer-10.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Asset Sources/Mouse_0006_Left-copy.png
(Stored with Git LFS)
Normal file
BIN
Asset Sources/Mouse_0006_Left-copy.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Asset Sources/Mouse_0007_Left.png
(Stored with Git LFS)
Normal file
BIN
Asset Sources/Mouse_0007_Left.png
(Stored with Git LFS)
Normal file
Binary file not shown.
10
Assets/InputDisplayButton.cs
Normal file
10
Assets/InputDisplayButton.cs
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class InputDisplayButton : MonoBehaviour
|
||||
{
|
||||
public Image Fill;
|
||||
public Image Outline;
|
||||
}
|
||||
11
Assets/InputDisplayButton.cs.meta
Normal file
11
Assets/InputDisplayButton.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9ed1d3c353acc9a489cb65f1c7726814
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -4,11 +4,9 @@ using TMPro;
|
|||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class InputDisplayKey : MonoBehaviour
|
||||
public class InputDisplayKey : InputDisplayButton
|
||||
{
|
||||
public TextMeshProUGUI MainLabel;
|
||||
public TextMeshProUGUI AltLabel;
|
||||
public Image Fill;
|
||||
public Image Outline;
|
||||
public LayoutElement LayoutElement;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,12 @@ using static Unity.Mathematics.math;
|
|||
|
||||
public class InputDisplayLayout : MonoBehaviour
|
||||
{
|
||||
public RectTransform UnassignedBindingsGroup;
|
||||
public InputDisplayButton MouseLeft;
|
||||
public InputDisplayButton MouseRight;
|
||||
public InputDisplayButton MouseMiddle;
|
||||
public InputDisplayButton MouseForward;
|
||||
public InputDisplayButton MouseBack;
|
||||
public VerticalLayoutGroup RowContainer;
|
||||
public TextAsset LayoutFile;
|
||||
public Prototype LabelPrototype;
|
||||
|
|
@ -30,41 +36,51 @@ public class InputDisplayLayout : MonoBehaviour
|
|||
public float FillAlpha;
|
||||
public float FillMultiplier = .25f;
|
||||
public float InactiveMultiplier = .333f;
|
||||
public int TestSteps = 5;
|
||||
public int PlacementSearchArea = 4;
|
||||
public float TestPadding = 4;
|
||||
public float BoxLineExpand = -1;
|
||||
public Color GlobalColor;
|
||||
public float GlobalHueBuffer = .1f;
|
||||
public float GlobalHue = .333f;
|
||||
public float Saturation;
|
||||
public float GlobalHueRange = .1f;
|
||||
|
||||
private Canvas _canvas;
|
||||
private Color _defaultInactiveColor;
|
||||
private InputLayout _inputLayout;
|
||||
private Dictionary<InputLayoutBindableKey, InputDisplayKey> _displayKeys = new Dictionary<InputLayoutBindableKey, InputDisplayKey>();
|
||||
private Dictionary<string, InputLayoutBindableKey> _bindKeys = new Dictionary<string, InputLayoutBindableKey>();
|
||||
private Dictionary<InputDisplayKey, InputAction> _actionMap = new Dictionary<InputDisplayKey, InputAction>();
|
||||
private Dictionary<InputAction, TextMeshProUGUI> _actionLabels = new Dictionary<InputAction, TextMeshProUGUI>();
|
||||
private Dictionary<InputAction, Color> _actionColors = new Dictionary<InputAction, Color>();
|
||||
private List<Rect> _reservedRects = new List<Rect>();
|
||||
private List<LayoutGroup> _layoutGroups = new List<LayoutGroup>();
|
||||
|
||||
private class ButtonMapping
|
||||
{
|
||||
public IBindableButton Button;
|
||||
public InputDisplayButton DisplayButton;
|
||||
public ActionMapping ActionMapping;
|
||||
public Rect ButtonRect;
|
||||
public UILineRenderer LabelLine;
|
||||
}
|
||||
|
||||
private class ActionMapping
|
||||
{
|
||||
public InputAction Action;
|
||||
public TextMeshProUGUI Label;
|
||||
public Rect LabelRect;
|
||||
public float Hue;
|
||||
public List<ButtonMapping> ButtonMappings = new List<ButtonMapping>();
|
||||
}
|
||||
|
||||
private string FullKeyPath(string shortPath) => $"<Keyboard>/{shortPath}";
|
||||
private string ShortKeyPath(string fullPath) => fullPath.Substring(fullPath.LastIndexOf('/') + 1);
|
||||
private Dictionary<string, ButtonMapping> _bindButtons = new Dictionary<string, ButtonMapping>();
|
||||
private List<ButtonMapping> _buttonMappings = new List<ButtonMapping>();
|
||||
private List<ActionMapping> _actionMappings = new List<ActionMapping>();
|
||||
|
||||
void Start()
|
||||
{
|
||||
_canvas = transform.root.GetComponent<Canvas>();
|
||||
_defaultInactiveColor = DefaultColor;
|
||||
_defaultInactiveColor.a *= InactiveMultiplier;
|
||||
var path = Path.Combine(ActionGameManager.GameDataDirectory.CreateSubdirectory("KeyboardLayouts").FullName, $"{LayoutFile.name}.msgpack");
|
||||
// _inputLayout = ParseJson(LayoutFile.text);
|
||||
RegisterResolver.Register();
|
||||
_inputLayout = MessagePackSerializer.Deserialize<InputLayout>(File.ReadAllBytes(path));
|
||||
DisplayLayout(_inputLayout);
|
||||
|
||||
foreach (var key in _inputLayout.GetBindableKeys())
|
||||
{
|
||||
var fullInputPath = FullKeyPath(key.InputSystemPath);
|
||||
_bindKeys[fullInputPath] = key;
|
||||
|
||||
foreach (var buttonMapping in _buttonMappings) _bindButtons[buttonMapping.Button.InputSystemPath] = buttonMapping;
|
||||
|
||||
// foreach (var key in _inputLayout.GetBindableKeys())
|
||||
// {
|
||||
// var keyPress = new InputAction(binding: fullInputPath);
|
||||
// keyPress.started += context =>
|
||||
// {
|
||||
|
|
@ -85,129 +101,161 @@ public class InputDisplayLayout : MonoBehaviour
|
|||
// displayKey.Fill.color = fillColor;
|
||||
// };
|
||||
// keyPress.Enable();
|
||||
}
|
||||
|
||||
var input = new AetheriaInput();
|
||||
// input.Global.Dock.performed += context => Debug.Log("Docking!");
|
||||
// input.Global.GalaxyMap.performed += context =>
|
||||
// {
|
||||
// input.Global.Dock.Disable();
|
||||
// var rebindOperation = input.Global.Dock.PerformInteractiveRebinding()
|
||||
// .WithControlsExcluding("Mouse")
|
||||
// .WithCancelingThrough("<Keyboard>/escape")
|
||||
// .OnMatchWaitForAnother(0.2f)
|
||||
// .Start();
|
||||
// Debug.Log("Rebinding Dock!");
|
||||
// rebindOperation.OnComplete(operation =>
|
||||
// {
|
||||
// Debug.Log("Rebinding Complete!");
|
||||
// input.Global.Dock.Enable();
|
||||
// });
|
||||
// };
|
||||
// input.Enable();
|
||||
|
||||
_layoutGroups.Add(RowContainer);
|
||||
// foreach (var group in _layoutGroups)
|
||||
// {
|
||||
// group.CalculateLayoutInputHorizontal();
|
||||
// group.CalculateLayoutInputVertical();
|
||||
// group.SetLayoutHorizontal();
|
||||
// group.SetLayoutVertical();
|
||||
// LayoutRebuilder.ForceRebuildLayoutImmediate(group.GetComponent<RectTransform>());
|
||||
// }
|
||||
// LayoutRebuilder.ForceRebuildLayoutImmediate(GetComponent<RectTransform>());
|
||||
|
||||
Canvas.ForceUpdateCanvases();
|
||||
|
||||
Color.RGBToHSV(GlobalColor, out var hue, out var saturation, out var value);
|
||||
var actionIndex = 0;
|
||||
var actionCount = (float) input.asset.Count(a=>a.actionMap.name!="UI");
|
||||
foreach (var action in input.asset)
|
||||
{
|
||||
if(action.actionMap.name=="UI") continue;
|
||||
var h = frac(hue + GlobalHueBuffer + actionIndex++ / actionCount * (1 - GlobalHueBuffer * 2));
|
||||
if (action.actionMap.name == "Global")
|
||||
{
|
||||
h = hue;
|
||||
_actionColors[action] = GlobalColor;
|
||||
}
|
||||
else
|
||||
_actionColors[action] = Color.HSVToRGB(h, saturation, value);
|
||||
foreach (var binding in action.bindings)
|
||||
{
|
||||
if (_bindKeys.ContainsKey(binding.path))
|
||||
{
|
||||
var displayKey = _displayKeys[_bindKeys[binding.path]];
|
||||
displayKey.Fill.color = Color.HSVToRGB(h, saturation, FillBrightness);
|
||||
displayKey.Outline.gameObject.SetActive(true);
|
||||
displayKey.Outline.color = displayKey.MainLabel.color = displayKey.AltLabel.color = _actionColors[action];
|
||||
_actionMap[displayKey] = action;
|
||||
_reservedRects.Add(displayKey.GetComponent<RectTransform>().ScreenSpaceRect());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var center = _actionMap.Keys.Aggregate(Vector2.zero, (v, displayKey) => v + (Vector2) displayKey.transform.position) / _actionMap.Keys.Count;
|
||||
|
||||
foreach (var x in _actionMap)
|
||||
{
|
||||
var key = x.Key;
|
||||
var action = x.Value;
|
||||
if(_actionLabels.ContainsKey(action)) continue;
|
||||
|
||||
var label = LabelPrototype.Instantiate<TextMeshProUGUI>();
|
||||
label.color = _actionColors[action];
|
||||
_actionLabels[action] = label;
|
||||
var labelRect = label.rectTransform;
|
||||
label.text = _actionMap[key].name.Replace(' ', '\n');
|
||||
LayoutRebuilder.ForceRebuildLayoutImmediate(labelRect);
|
||||
var pos = (Vector2) key.transform.position;
|
||||
var dir = (pos - center).normalized;
|
||||
label.transform.position = FindLabelPosition(key.GetComponent<RectTransform>(), labelRect, dir);
|
||||
}
|
||||
foreach (var buttonMapping in _buttonMappings)
|
||||
buttonMapping.ButtonRect = buttonMapping.DisplayButton.GetComponent<RectTransform>().ScreenSpaceRect();
|
||||
|
||||
foreach (var x in _actionMap)
|
||||
{
|
||||
var key = x.Key;
|
||||
var action = x.Value;
|
||||
|
||||
var keyBounds = key.Outline.rectTransform.GetBounds(BoxLineExpand);
|
||||
var labelPoint = (Vector2) _actionLabels[action].rectTransform.GetBounds().ClosestPoint(key.Outline.transform.position);
|
||||
var keyPoint = (Vector2) keyBounds.ClosestPoint(labelPoint);
|
||||
var input = new AetheriaInput();
|
||||
ProcessActions(input.asset);
|
||||
|
||||
var line = LinePrototype.Instantiate<UILineRenderer>();
|
||||
line.color = _actionColors[action];
|
||||
line.Points = new[] { keyPoint, labelPoint };
|
||||
foreach (var actionMapping in _actionMappings)
|
||||
{
|
||||
actionMapping.Label = CreateLabel(actionMapping);
|
||||
PlaceLabel(actionMapping);
|
||||
foreach(var buttonMapping in actionMapping.ButtonMappings) ConnectButtonToLabel(buttonMapping);
|
||||
}
|
||||
|
||||
//StartCoroutine(AssociateInputKeys(_inputLayout));
|
||||
}
|
||||
|
||||
private Vector2 FindLabelPosition(RectTransform key, RectTransform label, Vector2 dir)
|
||||
private void ProcessActions(InputActionAsset input)
|
||||
{
|
||||
var nonUIActions = input.Where(a => a.actionMap.name != "UI").ToArray();
|
||||
for (var i = 0; i < nonUIActions.Length; i++)
|
||||
{
|
||||
var action = nonUIActions[i];
|
||||
var actionMapping = new ActionMapping
|
||||
{
|
||||
Action = action,
|
||||
Hue = action.actionMap.name == "Global"
|
||||
? GlobalHue
|
||||
: frac(GlobalHue + GlobalHueRange + (float) i / (nonUIActions.Length - 1) * (1 - GlobalHueRange * 2))
|
||||
};
|
||||
_actionMappings.Add(actionMapping);
|
||||
foreach (var binding in action.bindings)
|
||||
{
|
||||
if (_bindButtons.ContainsKey(binding.path))
|
||||
{
|
||||
var buttonMapping = _bindButtons[binding.path];
|
||||
buttonMapping.ActionMapping = actionMapping;
|
||||
AssignColor(buttonMapping);
|
||||
actionMapping.ButtonMappings.Add(buttonMapping);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void AssignColor(ButtonMapping buttonMapping)
|
||||
{
|
||||
if(buttonMapping.ActionMapping!=null)
|
||||
{
|
||||
var outlineColor = Color.HSVToRGB(buttonMapping.ActionMapping.Hue, Saturation, 1);
|
||||
var fillColor = Color.HSVToRGB(buttonMapping.ActionMapping.Hue, 1, FillBrightness);
|
||||
fillColor.a = FillAlpha;
|
||||
buttonMapping.DisplayButton.Fill.color = fillColor;
|
||||
buttonMapping.DisplayButton.Outline.gameObject.SetActive(true);
|
||||
buttonMapping.DisplayButton.Outline.color = outlineColor;
|
||||
if (buttonMapping.DisplayButton is InputDisplayKey key) key.MainLabel.color = key.AltLabel.color = outlineColor;
|
||||
}
|
||||
else AssignUnboundColor(buttonMapping.DisplayButton);
|
||||
}
|
||||
|
||||
private void AssignUnboundColor(InputDisplayButton button, bool bindable = true)
|
||||
{
|
||||
button.Outline.gameObject.SetActive(false);
|
||||
var outlineColor = DefaultColor;
|
||||
outlineColor.a *= InactiveMultiplier;
|
||||
var fillColor = DefaultColor * FillBrightness;
|
||||
fillColor *= FillBrightness;
|
||||
if(!bindable)
|
||||
fillColor *= InactiveMultiplier;
|
||||
fillColor.a = FillAlpha;
|
||||
button.Fill.color = fillColor;
|
||||
if (button is InputDisplayKey key) key.MainLabel.color = key.AltLabel.color = Color.Lerp(outlineColor, fillColor, .5f);
|
||||
}
|
||||
|
||||
private TextMeshProUGUI CreateLabel(ActionMapping actionMapping)
|
||||
{
|
||||
var label = LabelPrototype.Instantiate<TextMeshProUGUI>();
|
||||
label.color = Color.HSVToRGB(actionMapping.Hue, Saturation, 1);
|
||||
actionMapping.Label = label;
|
||||
label.text = actionMapping.Action.name.Replace(' ', '\n');
|
||||
return label;
|
||||
}
|
||||
|
||||
private void PlaceLabel(ActionMapping actionMapping)
|
||||
{
|
||||
if(actionMapping.ButtonMappings.Any())
|
||||
{
|
||||
var labelRect = actionMapping.Label.rectTransform;
|
||||
LayoutRebuilder.ForceRebuildLayoutImmediate(labelRect);
|
||||
var rect = FindLabelPosition(actionMapping.ButtonMappings.First().DisplayButton.GetComponent<RectTransform>(), labelRect);
|
||||
actionMapping.LabelRect = rect;
|
||||
actionMapping.Label.transform.position = rect.center;
|
||||
}
|
||||
else
|
||||
{
|
||||
actionMapping.Label.rectTransform.parent = UnassignedBindingsGroup;
|
||||
}
|
||||
}
|
||||
|
||||
private void ConnectButtonToLabel(ButtonMapping buttonMapping)
|
||||
{
|
||||
if (buttonMapping.ActionMapping != null)
|
||||
{
|
||||
var keyBounds = buttonMapping.DisplayButton.Outline.rectTransform.GetBounds(BoxLineExpand);
|
||||
var labelPoint = (Vector2) buttonMapping.ActionMapping.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.Points = new[] {keyPoint, labelPoint};
|
||||
}
|
||||
else
|
||||
{
|
||||
buttonMapping.LabelLine?.GetComponent<Prototype>().ReturnToPool();
|
||||
buttonMapping.LabelLine = null;
|
||||
}
|
||||
}
|
||||
|
||||
private Rect FindLabelPosition(RectTransform key, RectTransform label)
|
||||
{
|
||||
var keyRect = key.ScreenSpaceRect();
|
||||
var labelRect = label.ScreenSpaceRect(TestPadding);
|
||||
var localRects = Overlap(key.ScreenSpaceRect(TestSteps * KeySize));
|
||||
var labelRect = label.ScreenSpaceRect(TestPadding*_canvas.scaleFactor);
|
||||
var localRects = Overlap(key.ScreenSpaceRect(PlacementSearchArea * KeySize * _canvas.scaleFactor));
|
||||
var centroid = localRects.Aggregate(Vector2.zero, (v, r) => v + r.center) / localRects.Length;
|
||||
var keyCenter = keyRect.center;
|
||||
for (int dist = KeySize; dist < TestSteps * KeySize; dist++)
|
||||
var dir = (keyCenter - centroid).normalized;
|
||||
for (int dist = KeySize; dist < PlacementSearchArea * KeySize; dist++)
|
||||
{
|
||||
for (float theta = 0; theta < PI * 2; theta += PI / 32)
|
||||
{
|
||||
for (int s = -1; s <= 1; s += 2)
|
||||
{
|
||||
var testPos = keyCenter + dir.Rotate(theta * s) * dist;
|
||||
var testPos = keyCenter + dir.Rotate(theta * s) * dist * _canvas.scaleFactor;
|
||||
var testRect = new Rect(testPos - labelRect.size / 2, labelRect.size);
|
||||
if(!localRects.Any(r => r.Overlaps(testRect)))
|
||||
{
|
||||
_reservedRects.Add(testRect);
|
||||
return testPos;
|
||||
return testRect;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return Vector2.zero;
|
||||
return default;
|
||||
}
|
||||
|
||||
private Rect[] Overlap(Rect rect) => _reservedRects.Where(r => r.Overlaps(rect)).ToArray();
|
||||
private Rect[] Overlap(Rect rect) => _buttonMappings
|
||||
.Where(b=>b.ActionMapping!=null)
|
||||
.Select(b=>b.ButtonRect)
|
||||
.Concat(_actionMappings
|
||||
.Where(a=>a.LabelRect.width > .1f)
|
||||
.Select(a=>a.LabelRect))
|
||||
.Where(r => r.Overlaps(rect)).ToArray();
|
||||
|
||||
public void DisplayLayout(InputLayout layout)
|
||||
{
|
||||
|
|
@ -216,7 +264,6 @@ public class InputDisplayLayout : MonoBehaviour
|
|||
if (row is InputLayoutKeyRow keyRow)
|
||||
{
|
||||
var displayRow = RowPrototype.Instantiate<InputDisplayRow>();
|
||||
_layoutGroups.Add(displayRow.LayoutGroup);
|
||||
foreach (var column in keyRow.Columns)
|
||||
{
|
||||
if (column is InputLayoutColumnSpacer)
|
||||
|
|
@ -230,14 +277,17 @@ public class InputDisplayLayout : MonoBehaviour
|
|||
displayKey.LayoutElement.preferredWidth = KeySize * column.Width;
|
||||
displayKey.Outline.gameObject.SetActive(false);
|
||||
displayKey.Outline.color = DefaultColor;
|
||||
var fillColor = DefaultColor;
|
||||
fillColor *= FillMultiplier;
|
||||
fillColor.a = FillAlpha;
|
||||
displayKey.MainLabel.color = displayKey.AltLabel.color = Color.Lerp(_defaultInactiveColor, fillColor, .5f);
|
||||
AssignUnboundColor(displayKey, column is InputLayoutBindableKey);
|
||||
|
||||
if (column is InputLayoutBindableKey key)
|
||||
{
|
||||
_displayKeys[key] = displayKey;
|
||||
var buttonMapping = new ButtonMapping
|
||||
{
|
||||
Button = key,
|
||||
DisplayButton = displayKey
|
||||
};
|
||||
_bindButtons[key.InputSystemPath] = buttonMapping;
|
||||
_buttonMappings.Add(buttonMapping);
|
||||
displayKey.MainLabel.text = key.MainLabel;
|
||||
displayKey.AltLabel.text = key.AltLabel;
|
||||
|
||||
|
|
@ -251,11 +301,9 @@ public class InputDisplayLayout : MonoBehaviour
|
|||
}
|
||||
else
|
||||
{
|
||||
fillColor.a *= InactiveMultiplier;
|
||||
displayKey.MainLabel.text = "";
|
||||
displayKey.AltLabel.text = "";
|
||||
}
|
||||
displayKey.Fill.color = fillColor;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -348,51 +396,41 @@ public class InputDisplayLayout : MonoBehaviour
|
|||
return new InputLayout {Rows = rows.ToArray()};
|
||||
}
|
||||
|
||||
private IEnumerator AssociateInputKeys(InputLayout layout)
|
||||
private IEnumerator AssociateInputKeys()
|
||||
{
|
||||
var path = "";
|
||||
var keyPress = new InputAction(binding: "/<Keyboard>/<button>");
|
||||
keyPress.performed += context =>
|
||||
{
|
||||
var keyName = ShortKeyPath(context.control.path);
|
||||
if (keyName == "anyKey") return;
|
||||
path = keyName;
|
||||
if (context.control.path.EndsWith("anyKey")) return;
|
||||
path = context.control.path;
|
||||
};
|
||||
keyPress.Enable();
|
||||
foreach (var row in layout.Rows)
|
||||
foreach (var button in _buttonMappings)
|
||||
{
|
||||
if (row is InputLayoutKeyRow keyRow)
|
||||
{
|
||||
foreach (var column in keyRow.Columns)
|
||||
{
|
||||
if(column is InputLayoutBindableKey bindableKey)
|
||||
{
|
||||
_displayKeys[bindableKey].Outline.color = HighlightColor;
|
||||
var fillColor = HighlightColor;
|
||||
fillColor *= FillMultiplier;
|
||||
fillColor.a = FillAlpha;
|
||||
_displayKeys[bindableKey].Fill.color = fillColor;
|
||||
button.DisplayButton.Outline.color = HighlightColor;
|
||||
var fillColor = HighlightColor;
|
||||
fillColor *= FillMultiplier;
|
||||
fillColor.a = FillAlpha;
|
||||
button.DisplayButton.Fill.color = fillColor;
|
||||
|
||||
path = "";
|
||||
while (string.IsNullOrEmpty(path)) yield return null;
|
||||
bindableKey.InputSystemPath = path;
|
||||
Debug.Log($"Bound \"{path}\" to \"{bindableKey.MainLabel}\"");
|
||||
path = "";
|
||||
while (string.IsNullOrEmpty(path)) yield return null;
|
||||
button.Button.InputSystemPath = path;
|
||||
//Debug.Log($"Bound \"{path}\" to \"{bindableKey.MainLabel}\"");
|
||||
|
||||
_displayKeys[bindableKey].Outline.color = DefaultColor;
|
||||
fillColor = DefaultColor;
|
||||
fillColor *= FillMultiplier;
|
||||
fillColor.a = FillAlpha;
|
||||
_displayKeys[bindableKey].Fill.color = fillColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
button.DisplayButton.Outline.color = DefaultColor;
|
||||
fillColor = DefaultColor;
|
||||
fillColor *= FillMultiplier;
|
||||
fillColor.a = FillAlpha;
|
||||
button.DisplayButton.Fill.color = fillColor;
|
||||
}
|
||||
keyPress.Disable();
|
||||
|
||||
RegisterResolver.Register();
|
||||
File.WriteAllBytes(
|
||||
Path.Combine(ActionGameManager.GameDataDirectory.CreateSubdirectory("KeyboardLayouts").FullName, $"{LayoutFile.name}.msgpack"),
|
||||
MessagePackSerializer.Serialize(layout));
|
||||
MessagePackSerializer.Serialize(_inputLayout));
|
||||
}
|
||||
|
||||
void Update()
|
||||
|
|
|
|||
|
|
@ -62,14 +62,42 @@ public class InputLayoutColumnSpacer : InputLayoutColumn { }
|
|||
public class InputLayoutKey : InputLayoutColumn { }
|
||||
|
||||
[MessagePackObject, JsonObject(MemberSerialization.OptIn)]
|
||||
public class InputLayoutBindableKey : InputLayoutKey
|
||||
public class InputLayoutBindableKey : InputLayoutKey, IBindableButton
|
||||
{
|
||||
[Key(1), JsonProperty("mainLabel")] public string MainLabel;
|
||||
[Key(2), JsonProperty("altLabel")] public string AltLabel;
|
||||
[Key(3), JsonProperty("path")] public string InputSystemPath;
|
||||
[Key(3), JsonProperty("path")] public string ShortPath;
|
||||
|
||||
[IgnoreMember]
|
||||
public string InputSystemPath
|
||||
{
|
||||
get
|
||||
{
|
||||
return $"<Keyboard>/{ShortPath}";
|
||||
}
|
||||
set
|
||||
{
|
||||
ShortPath = value.Substring(value.LastIndexOf('/') + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class InputLayoutMultiRowKey : InputLayoutBindableKey
|
||||
{
|
||||
[Key(4), JsonProperty("height")] public int Height;
|
||||
}
|
||||
|
||||
public class InputLayoutMouseButton : IBindableButton
|
||||
{
|
||||
public string Path;
|
||||
public string InputSystemPath
|
||||
{
|
||||
get => Path;
|
||||
set => Path = value;
|
||||
}
|
||||
}
|
||||
|
||||
public interface IBindableButton
|
||||
{
|
||||
public string InputSystemPath { get; set; }
|
||||
}
|
||||
|
|
@ -108,14 +108,6 @@
|
|||
"expectedControlType": "",
|
||||
"processors": "",
|
||||
"interactions": ""
|
||||
},
|
||||
{
|
||||
"name": "Enter Wormhole",
|
||||
"type": "Button",
|
||||
"id": "b907857f-d1d2-455d-912b-8de9a64f0f3a",
|
||||
"expectedControlType": "Button",
|
||||
"processors": "",
|
||||
"interactions": ""
|
||||
}
|
||||
],
|
||||
"bindings": [
|
||||
|
|
@ -342,24 +334,13 @@
|
|||
{
|
||||
"name": "",
|
||||
"id": "37683a7e-02b1-4daa-a990-a51a30e7f8e9",
|
||||
"path": "<Keyboard>/f",
|
||||
"path": "<Keyboard>/c",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "Keyboard&Mouse",
|
||||
"action": "Tractor Beam",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "85857c0e-82fa-4889-895a-1e55c6dbe206",
|
||||
"path": "<Keyboard>/v",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "Keyboard&Mouse",
|
||||
"action": "Enter Wormhole",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -846,17 +827,25 @@
|
|||
"interactions": ""
|
||||
},
|
||||
{
|
||||
"name": "Dock",
|
||||
"name": "Main Menu",
|
||||
"type": "Button",
|
||||
"id": "d6e65ce8-149c-4009-ac38-66144cca311a",
|
||||
"id": "0515c617-9dff-406f-ab3e-763971d532d3",
|
||||
"expectedControlType": "Button",
|
||||
"processors": "",
|
||||
"interactions": ""
|
||||
},
|
||||
{
|
||||
"name": "Main Menu",
|
||||
"name": "Input Screen",
|
||||
"type": "Button",
|
||||
"id": "0515c617-9dff-406f-ab3e-763971d532d3",
|
||||
"id": "e76aa7e9-e24d-47e1-865d-ffe72ba5c1c2",
|
||||
"expectedControlType": "Button",
|
||||
"processors": "",
|
||||
"interactions": ""
|
||||
},
|
||||
{
|
||||
"name": "Interact",
|
||||
"type": "Button",
|
||||
"id": "31f7b7e1-d15e-40e8-b74f-2d0dc4195d4d",
|
||||
"expectedControlType": "Button",
|
||||
"processors": "",
|
||||
"interactions": ""
|
||||
|
|
@ -885,17 +874,6 @@
|
|||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "3279cef8-8bd1-49f2-984a-637d1f8522f6",
|
||||
"path": "<Keyboard>/c",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "Keyboard&Mouse",
|
||||
"action": "Dock",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "f90929d5-d8d1-40dc-acc7-7ae294971d12",
|
||||
|
|
@ -917,6 +895,28 @@
|
|||
"action": "Main Menu",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "1a786bc6-2cb5-4951-86f8-ef4e9607eab8",
|
||||
"path": "<Keyboard>/f1",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "Keyboard&Mouse",
|
||||
"action": "Input Screen",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "a03cee94-69c9-4a26-be58-46b26351c659",
|
||||
"path": "<Keyboard>/f",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "Keyboard&Mouse",
|
||||
"action": "Interact",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
8
Assets/Resources/Sprites/Icons/Mouse.meta
Normal file
8
Assets/Resources/Sprites/Icons/Mouse.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e6382d47a34e26946a4921fed3b7c7de
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Resources/Sprites/Icons/Mouse/Mouse.png
(Stored with Git LFS)
Normal file
BIN
Assets/Resources/Sprites/Icons/Mouse/Mouse.png
(Stored with Git LFS)
Normal file
Binary file not shown.
108
Assets/Resources/Sprites/Icons/Mouse/Mouse.png.meta
Normal file
108
Assets/Resources/Sprites/Icons/Mouse/Mouse.png.meta
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 86b171bbce0ac89479204be3f4a2acb0
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: -1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Resources/Sprites/Icons/Mouse/Mouse_Left_fill.png
(Stored with Git LFS)
Normal file
BIN
Assets/Resources/Sprites/Icons/Mouse/Mouse_Left_fill.png
(Stored with Git LFS)
Normal file
Binary file not shown.
108
Assets/Resources/Sprites/Icons/Mouse/Mouse_Left_fill.png.meta
Normal file
108
Assets/Resources/Sprites/Icons/Mouse/Mouse_Left_fill.png.meta
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
fileFormatVersion: 2
|
||||
guid: bbb9e71b792064d4d93ba0001697f8b1
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: -1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Resources/Sprites/Icons/Mouse/Mouse_Left_outline.png
(Stored with Git LFS)
Normal file
BIN
Assets/Resources/Sprites/Icons/Mouse/Mouse_Left_outline.png
(Stored with Git LFS)
Normal file
Binary file not shown.
108
Assets/Resources/Sprites/Icons/Mouse/Mouse_Left_outline.png.meta
Normal file
108
Assets/Resources/Sprites/Icons/Mouse/Mouse_Left_outline.png.meta
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 067d6bbfe8941e441b489522ca53293d
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: -1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Resources/Sprites/Icons/Mouse/Mouse_Middle_fill.png
(Stored with Git LFS)
Normal file
BIN
Assets/Resources/Sprites/Icons/Mouse/Mouse_Middle_fill.png
(Stored with Git LFS)
Normal file
Binary file not shown.
108
Assets/Resources/Sprites/Icons/Mouse/Mouse_Middle_fill.png.meta
Normal file
108
Assets/Resources/Sprites/Icons/Mouse/Mouse_Middle_fill.png.meta
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1ca68652962a903469b748601a0ac3ce
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: -1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Resources/Sprites/Icons/Mouse/Mouse_Middle_outline.png
(Stored with Git LFS)
Normal file
BIN
Assets/Resources/Sprites/Icons/Mouse/Mouse_Middle_outline.png
(Stored with Git LFS)
Normal file
Binary file not shown.
|
|
@ -0,0 +1,108 @@
|
|||
fileFormatVersion: 2
|
||||
guid: fbb06fc1e174e3948bce31b9c030dc97
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: -1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Resources/Sprites/Icons/Mouse/Mouse_Right_fill.png
(Stored with Git LFS)
Normal file
BIN
Assets/Resources/Sprites/Icons/Mouse/Mouse_Right_fill.png
(Stored with Git LFS)
Normal file
Binary file not shown.
108
Assets/Resources/Sprites/Icons/Mouse/Mouse_Right_fill.png.meta
Normal file
108
Assets/Resources/Sprites/Icons/Mouse/Mouse_Right_fill.png.meta
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d6513b7600d2bab458449196333a455d
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: -1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Resources/Sprites/Icons/Mouse/Mouse_Right_outline.png
(Stored with Git LFS)
Normal file
BIN
Assets/Resources/Sprites/Icons/Mouse/Mouse_Right_outline.png
(Stored with Git LFS)
Normal file
Binary file not shown.
|
|
@ -0,0 +1,108 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 4f0f821eec274c14288ab37df3b10d48
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: -1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Resources/Sprites/Icons/Mouse/Mouse_Side_fill.png
(Stored with Git LFS)
Normal file
BIN
Assets/Resources/Sprites/Icons/Mouse/Mouse_Side_fill.png
(Stored with Git LFS)
Normal file
Binary file not shown.
108
Assets/Resources/Sprites/Icons/Mouse/Mouse_Side_fill.png.meta
Normal file
108
Assets/Resources/Sprites/Icons/Mouse/Mouse_Side_fill.png.meta
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e4d035889707a8648bdd98b16cc90bba
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: -1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Resources/Sprites/Icons/Mouse/Mouse_Side_outline.png
(Stored with Git LFS)
Normal file
BIN
Assets/Resources/Sprites/Icons/Mouse/Mouse_Side_outline.png
(Stored with Git LFS)
Normal file
Binary file not shown.
108
Assets/Resources/Sprites/Icons/Mouse/Mouse_Side_outline.png.meta
Normal file
108
Assets/Resources/Sprites/Icons/Mouse/Mouse_Side_outline.png.meta
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 690623d97be1e694a89a6dc088559bde
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: -1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -121,14 +121,6 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
""expectedControlType"": """",
|
||||
""processors"": """",
|
||||
""interactions"": """"
|
||||
},
|
||||
{
|
||||
""name"": ""Enter Wormhole"",
|
||||
""type"": ""Button"",
|
||||
""id"": ""b907857f-d1d2-455d-912b-8de9a64f0f3a"",
|
||||
""expectedControlType"": ""Button"",
|
||||
""processors"": """",
|
||||
""interactions"": """"
|
||||
}
|
||||
],
|
||||
""bindings"": [
|
||||
|
|
@ -355,24 +347,13 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
{
|
||||
""name"": """",
|
||||
""id"": ""37683a7e-02b1-4daa-a990-a51a30e7f8e9"",
|
||||
""path"": ""<Keyboard>/f"",
|
||||
""path"": ""<Keyboard>/c"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": ""Keyboard&Mouse"",
|
||||
""action"": ""Tractor Beam"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""85857c0e-82fa-4889-895a-1e55c6dbe206"",
|
||||
""path"": ""<Keyboard>/v"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": ""Keyboard&Mouse"",
|
||||
""action"": ""Enter Wormhole"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -859,17 +840,25 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
""interactions"": """"
|
||||
},
|
||||
{
|
||||
""name"": ""Dock"",
|
||||
""name"": ""Main Menu"",
|
||||
""type"": ""Button"",
|
||||
""id"": ""d6e65ce8-149c-4009-ac38-66144cca311a"",
|
||||
""id"": ""0515c617-9dff-406f-ab3e-763971d532d3"",
|
||||
""expectedControlType"": ""Button"",
|
||||
""processors"": """",
|
||||
""interactions"": """"
|
||||
},
|
||||
{
|
||||
""name"": ""Main Menu"",
|
||||
""name"": ""Input Screen"",
|
||||
""type"": ""Button"",
|
||||
""id"": ""0515c617-9dff-406f-ab3e-763971d532d3"",
|
||||
""id"": ""e76aa7e9-e24d-47e1-865d-ffe72ba5c1c2"",
|
||||
""expectedControlType"": ""Button"",
|
||||
""processors"": """",
|
||||
""interactions"": """"
|
||||
},
|
||||
{
|
||||
""name"": ""Interact"",
|
||||
""type"": ""Button"",
|
||||
""id"": ""31f7b7e1-d15e-40e8-b74f-2d0dc4195d4d"",
|
||||
""expectedControlType"": ""Button"",
|
||||
""processors"": """",
|
||||
""interactions"": """"
|
||||
|
|
@ -898,17 +887,6 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""3279cef8-8bd1-49f2-984a-637d1f8522f6"",
|
||||
""path"": ""<Keyboard>/c"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": ""Keyboard&Mouse"",
|
||||
""action"": ""Dock"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""f90929d5-d8d1-40dc-acc7-7ae294971d12"",
|
||||
|
|
@ -930,6 +908,28 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
""action"": ""Main Menu"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""1a786bc6-2cb5-4951-86f8-ef4e9607eab8"",
|
||||
""path"": ""<Keyboard>/f1"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": ""Keyboard&Mouse"",
|
||||
""action"": ""Input Screen"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""a03cee94-69c9-4a26-be58-46b26351c659"",
|
||||
""path"": ""<Keyboard>/f"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": ""Keyboard&Mouse"",
|
||||
""action"": ""Interact"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -990,7 +990,6 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
m_Player_Ping = m_Player.FindAction("Ping", throwIfNotFound: true);
|
||||
m_Player_HideUI = m_Player.FindAction("Hide UI", throwIfNotFound: true);
|
||||
m_Player_TractorBeam = m_Player.FindAction("Tractor Beam", throwIfNotFound: true);
|
||||
m_Player_EnterWormhole = m_Player.FindAction("Enter Wormhole", throwIfNotFound: true);
|
||||
// UI
|
||||
m_UI = asset.FindActionMap("UI", throwIfNotFound: true);
|
||||
m_UI_Navigate = m_UI.FindAction("Navigate", throwIfNotFound: true);
|
||||
|
|
@ -1007,8 +1006,9 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
m_Global_ZoneMap = m_Global.FindAction("Zone Map", throwIfNotFound: true);
|
||||
m_Global_GalaxyMap = m_Global.FindAction("Galaxy Map", throwIfNotFound: true);
|
||||
m_Global_Inventory = m_Global.FindAction("Inventory", throwIfNotFound: true);
|
||||
m_Global_Dock = m_Global.FindAction("Dock", throwIfNotFound: true);
|
||||
m_Global_MainMenu = m_Global.FindAction("Main Menu", throwIfNotFound: true);
|
||||
m_Global_InputScreen = m_Global.FindAction("Input Screen", throwIfNotFound: true);
|
||||
m_Global_Interact = m_Global.FindAction("Interact", throwIfNotFound: true);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
|
|
@ -1071,7 +1071,6 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
private readonly InputAction m_Player_Ping;
|
||||
private readonly InputAction m_Player_HideUI;
|
||||
private readonly InputAction m_Player_TractorBeam;
|
||||
private readonly InputAction m_Player_EnterWormhole;
|
||||
public struct PlayerActions
|
||||
{
|
||||
private @AetheriaInput m_Wrapper;
|
||||
|
|
@ -1089,7 +1088,6 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
public InputAction @Ping => m_Wrapper.m_Player_Ping;
|
||||
public InputAction @HideUI => m_Wrapper.m_Player_HideUI;
|
||||
public InputAction @TractorBeam => m_Wrapper.m_Player_TractorBeam;
|
||||
public InputAction @EnterWormhole => m_Wrapper.m_Player_EnterWormhole;
|
||||
public InputActionMap Get() { return m_Wrapper.m_Player; }
|
||||
public void Enable() { Get().Enable(); }
|
||||
public void Disable() { Get().Disable(); }
|
||||
|
|
@ -1138,9 +1136,6 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
@TractorBeam.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTractorBeam;
|
||||
@TractorBeam.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTractorBeam;
|
||||
@TractorBeam.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTractorBeam;
|
||||
@EnterWormhole.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnEnterWormhole;
|
||||
@EnterWormhole.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnEnterWormhole;
|
||||
@EnterWormhole.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnEnterWormhole;
|
||||
}
|
||||
m_Wrapper.m_PlayerActionsCallbackInterface = instance;
|
||||
if (instance != null)
|
||||
|
|
@ -1184,9 +1179,6 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
@TractorBeam.started += instance.OnTractorBeam;
|
||||
@TractorBeam.performed += instance.OnTractorBeam;
|
||||
@TractorBeam.canceled += instance.OnTractorBeam;
|
||||
@EnterWormhole.started += instance.OnEnterWormhole;
|
||||
@EnterWormhole.performed += instance.OnEnterWormhole;
|
||||
@EnterWormhole.canceled += instance.OnEnterWormhole;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1295,8 +1287,9 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
private readonly InputAction m_Global_ZoneMap;
|
||||
private readonly InputAction m_Global_GalaxyMap;
|
||||
private readonly InputAction m_Global_Inventory;
|
||||
private readonly InputAction m_Global_Dock;
|
||||
private readonly InputAction m_Global_MainMenu;
|
||||
private readonly InputAction m_Global_InputScreen;
|
||||
private readonly InputAction m_Global_Interact;
|
||||
public struct GlobalActions
|
||||
{
|
||||
private @AetheriaInput m_Wrapper;
|
||||
|
|
@ -1304,8 +1297,9 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
public InputAction @ZoneMap => m_Wrapper.m_Global_ZoneMap;
|
||||
public InputAction @GalaxyMap => m_Wrapper.m_Global_GalaxyMap;
|
||||
public InputAction @Inventory => m_Wrapper.m_Global_Inventory;
|
||||
public InputAction @Dock => m_Wrapper.m_Global_Dock;
|
||||
public InputAction @MainMenu => m_Wrapper.m_Global_MainMenu;
|
||||
public InputAction @InputScreen => m_Wrapper.m_Global_InputScreen;
|
||||
public InputAction @Interact => m_Wrapper.m_Global_Interact;
|
||||
public InputActionMap Get() { return m_Wrapper.m_Global; }
|
||||
public void Enable() { Get().Enable(); }
|
||||
public void Disable() { Get().Disable(); }
|
||||
|
|
@ -1324,12 +1318,15 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
@Inventory.started -= m_Wrapper.m_GlobalActionsCallbackInterface.OnInventory;
|
||||
@Inventory.performed -= m_Wrapper.m_GlobalActionsCallbackInterface.OnInventory;
|
||||
@Inventory.canceled -= m_Wrapper.m_GlobalActionsCallbackInterface.OnInventory;
|
||||
@Dock.started -= m_Wrapper.m_GlobalActionsCallbackInterface.OnDock;
|
||||
@Dock.performed -= m_Wrapper.m_GlobalActionsCallbackInterface.OnDock;
|
||||
@Dock.canceled -= m_Wrapper.m_GlobalActionsCallbackInterface.OnDock;
|
||||
@MainMenu.started -= m_Wrapper.m_GlobalActionsCallbackInterface.OnMainMenu;
|
||||
@MainMenu.performed -= m_Wrapper.m_GlobalActionsCallbackInterface.OnMainMenu;
|
||||
@MainMenu.canceled -= m_Wrapper.m_GlobalActionsCallbackInterface.OnMainMenu;
|
||||
@InputScreen.started -= m_Wrapper.m_GlobalActionsCallbackInterface.OnInputScreen;
|
||||
@InputScreen.performed -= m_Wrapper.m_GlobalActionsCallbackInterface.OnInputScreen;
|
||||
@InputScreen.canceled -= m_Wrapper.m_GlobalActionsCallbackInterface.OnInputScreen;
|
||||
@Interact.started -= m_Wrapper.m_GlobalActionsCallbackInterface.OnInteract;
|
||||
@Interact.performed -= m_Wrapper.m_GlobalActionsCallbackInterface.OnInteract;
|
||||
@Interact.canceled -= m_Wrapper.m_GlobalActionsCallbackInterface.OnInteract;
|
||||
}
|
||||
m_Wrapper.m_GlobalActionsCallbackInterface = instance;
|
||||
if (instance != null)
|
||||
|
|
@ -1343,12 +1340,15 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
@Inventory.started += instance.OnInventory;
|
||||
@Inventory.performed += instance.OnInventory;
|
||||
@Inventory.canceled += instance.OnInventory;
|
||||
@Dock.started += instance.OnDock;
|
||||
@Dock.performed += instance.OnDock;
|
||||
@Dock.canceled += instance.OnDock;
|
||||
@MainMenu.started += instance.OnMainMenu;
|
||||
@MainMenu.performed += instance.OnMainMenu;
|
||||
@MainMenu.canceled += instance.OnMainMenu;
|
||||
@InputScreen.started += instance.OnInputScreen;
|
||||
@InputScreen.performed += instance.OnInputScreen;
|
||||
@InputScreen.canceled += instance.OnInputScreen;
|
||||
@Interact.started += instance.OnInteract;
|
||||
@Interact.performed += instance.OnInteract;
|
||||
@Interact.canceled += instance.OnInteract;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1395,7 +1395,6 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
void OnPing(InputAction.CallbackContext context);
|
||||
void OnHideUI(InputAction.CallbackContext context);
|
||||
void OnTractorBeam(InputAction.CallbackContext context);
|
||||
void OnEnterWormhole(InputAction.CallbackContext context);
|
||||
}
|
||||
public interface IUIActions
|
||||
{
|
||||
|
|
@ -1414,7 +1413,8 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
void OnZoneMap(InputAction.CallbackContext context);
|
||||
void OnGalaxyMap(InputAction.CallbackContext context);
|
||||
void OnInventory(InputAction.CallbackContext context);
|
||||
void OnDock(InputAction.CallbackContext context);
|
||||
void OnMainMenu(InputAction.CallbackContext context);
|
||||
void OnInputScreen(InputAction.CallbackContext context);
|
||||
void OnInteract(InputAction.CallbackContext context);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -313,7 +313,7 @@ public class ActionGameManager : MonoBehaviour
|
|||
|
||||
Input.Global.GalaxyMap.performed += context => ToggleMenuTab(MenuTab.Galaxy);
|
||||
|
||||
Input.Global.Dock.performed += context =>
|
||||
Input.Global.Interact.performed += context =>
|
||||
{
|
||||
if (EventSystem.current.currentSelectedGameObject != null && EventSystem.current.currentSelectedGameObject.GetComponent<TMP_InputField>() != null) return;
|
||||
if (MainMenu.gameObject.activeSelf) return;
|
||||
|
|
@ -325,21 +325,20 @@ public class ActionGameManager : MonoBehaviour
|
|||
Dialog.Show();
|
||||
Dialog.MoveToCursor();
|
||||
}
|
||||
else if (CurrentEntity.Parent == null) Dock();
|
||||
else if (CurrentEntity.Parent == null)
|
||||
{
|
||||
foreach (var wormhole in ZoneRenderer.WormholeInstances.Keys)
|
||||
{
|
||||
if (!(length(wormhole.Position - CurrentEntity.Position.xz) < Settings.GameplaySettings.WormholeExitRadius)) continue;
|
||||
EnterWormhole(wormhole);
|
||||
}
|
||||
Dock();
|
||||
}
|
||||
else Undock();
|
||||
};
|
||||
|
||||
Input.Global.MainMenu.performed += context => ToggleMainMenu();
|
||||
|
||||
Input.Player.EnterWormhole.performed += context =>
|
||||
{
|
||||
foreach (var wormhole in ZoneRenderer.WormholeInstances.Keys)
|
||||
{
|
||||
if (!(length(wormhole.Position - CurrentEntity.Position.xz) < Settings.GameplaySettings.WormholeExitRadius)) continue;
|
||||
EnterWormhole(wormhole);
|
||||
}
|
||||
};
|
||||
|
||||
Input.Player.HideUI.performed += context =>
|
||||
{
|
||||
_uiHidden = !_uiHidden;
|
||||
|
|
@ -617,12 +616,14 @@ public class ActionGameManager : MonoBehaviour
|
|||
|
||||
public void EnablePlayerInput()
|
||||
{
|
||||
Cursor.lockState = CursorLockMode.Locked;
|
||||
Input.Player.Enable();
|
||||
foreach (var a in _actionBarActions) a.Enable();
|
||||
}
|
||||
|
||||
public void DisablePlayerInput()
|
||||
{
|
||||
Cursor.lockState = CursorLockMode.None;
|
||||
Input.Player.Disable();
|
||||
foreach (var a in _actionBarActions) a.Disable();
|
||||
}
|
||||
|
|
@ -704,9 +705,10 @@ public class ActionGameManager : MonoBehaviour
|
|||
}
|
||||
else
|
||||
{
|
||||
GameplayUI.gameObject.SetActive(true);
|
||||
EnablePlayerInput();
|
||||
Cursor.lockState = CursorLockMode.Locked;
|
||||
UpdatePlayerPanel();
|
||||
UpdateTargetPanel(CurrentEntity.Target.Value);
|
||||
GameplayUI.gameObject.SetActive(true);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -722,7 +724,6 @@ public class ActionGameManager : MonoBehaviour
|
|||
else
|
||||
{
|
||||
GameplayUI.gameObject.SetActive(false);
|
||||
Cursor.lockState = CursorLockMode.None;
|
||||
DisablePlayerInput();
|
||||
}
|
||||
}
|
||||
|
|
@ -734,20 +735,17 @@ public class ActionGameManager : MonoBehaviour
|
|||
if (MainMenu.gameObject.activeSelf) return;
|
||||
if (Menu.gameObject.activeSelf && Menu.CurrentTab == tab)
|
||||
{
|
||||
Cursor.lockState = CursorLockMode.Locked;
|
||||
Menu.gameObject.SetActive(false);
|
||||
if (CurrentEntity != null && CurrentEntity.Parent == null)
|
||||
{
|
||||
EnablePlayerInput();
|
||||
UpdatePlayerPanel();
|
||||
UpdateTargetPanel(CurrentEntity.Target.Value);
|
||||
GameplayUI.gameObject.SetActive(true);
|
||||
|
||||
SchematicDisplay.ShowShip(CurrentEntity);
|
||||
ShipPanel.Display(CurrentEntity, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Cursor.lockState = CursorLockMode.None;
|
||||
DisablePlayerInput();
|
||||
Menu.ShowTab(tab);
|
||||
GameplayUI.gameObject.SetActive(false);
|
||||
|
|
@ -852,7 +850,6 @@ public class ActionGameManager : MonoBehaviour
|
|||
}
|
||||
}
|
||||
}
|
||||
AkSoundEngine.PostEvent("Dock_Fail", gameObject);
|
||||
}
|
||||
|
||||
private void DoDock(Entity entity, EquippedDockingBay dockingBay)
|
||||
|
|
@ -994,8 +991,7 @@ public class ActionGameManager : MonoBehaviour
|
|||
subscription.Dispose();
|
||||
_targetSubscriptions.Clear();
|
||||
|
||||
TargetIndicator.gameObject.SetActive(CurrentEntity.Target.Value != null);
|
||||
TargetShipPanel.gameObject.SetActive(target != null);
|
||||
UpdateTargetPanel(target);
|
||||
if (target != null)
|
||||
{
|
||||
if (target.Shield != null)
|
||||
|
|
@ -1010,8 +1006,6 @@ public class ActionGameManager : MonoBehaviour
|
|||
TargetShieldsIcon.color = NoShieldColor;
|
||||
TargetShieldsIcon.sprite = NoShieldIcon;
|
||||
}
|
||||
TargetShipPanel.Display(target, true);
|
||||
TargetSchematicDisplay.ShowShip(target, CurrentEntity);
|
||||
|
||||
// Subscribe to incoming hits from the player ship to display the hit marker
|
||||
_targetSubscriptions.Add(target.IncomingHit.Where(e => e == CurrentEntity).Subscribe(_ =>
|
||||
|
|
@ -1050,6 +1044,23 @@ public class ActionGameManager : MonoBehaviour
|
|||
}).ToArray();
|
||||
}
|
||||
|
||||
private void UpdatePlayerPanel()
|
||||
{
|
||||
ShipPanel.Display(CurrentEntity, true);
|
||||
SchematicDisplay.ShowShip(CurrentEntity);
|
||||
}
|
||||
|
||||
private void UpdateTargetPanel(Entity target)
|
||||
{
|
||||
TargetIndicator.gameObject.SetActive(target != null);
|
||||
TargetShipPanel.gameObject.SetActive(target != null);
|
||||
if (target != null)
|
||||
{
|
||||
TargetShipPanel.Display(target, true);
|
||||
TargetSchematicDisplay.ShowShip(target, CurrentEntity);
|
||||
}
|
||||
}
|
||||
|
||||
private void Die(CauseOfDeath cause)
|
||||
{
|
||||
var deathTime = Time.time;
|
||||
|
|
|
|||
|
|
@ -3,19 +3,19 @@ using System.Collections.Generic;
|
|||
using System.Globalization;
|
||||
using MessagePack;
|
||||
|
||||
[MessagePackObject, Serializable]
|
||||
[MessagePackObject]
|
||||
public class PlayerSettings
|
||||
{
|
||||
[Key(0)] public string Name = "Anonymous";
|
||||
[Key(1)] public SavedGame SavedRun;
|
||||
[Key(2)] public TemperatureUnit TemperatureUnit = TemperatureUnit.Celsius;
|
||||
[Key(3)] public int SignificantDigits = 3;
|
||||
[Key(4)] public bool TutorialPassed;
|
||||
[Key(5)] public Dictionary<string, string> HashedStoryFiles = new Dictionary<string, string>();
|
||||
[Key(2)] public bool TutorialPassed;
|
||||
[Key(3)] public Dictionary<string, string> HashedStoryFiles = new Dictionary<string, string>();
|
||||
[Key(4)] public PlayerGameplaySettings GameplaySettings;
|
||||
[Key(5)] public PlayerInputSettings InputSettings;
|
||||
|
||||
public string FormatTemperature(float t)
|
||||
{
|
||||
return TemperatureUnit switch
|
||||
return GameplaySettings.TemperatureUnit switch
|
||||
{
|
||||
TemperatureUnit.Kelvin => $"{Format(t)}°K",
|
||||
TemperatureUnit.Celsius => $"{Format(t - 273.15f)}°C",
|
||||
|
|
@ -27,7 +27,7 @@ public class PlayerSettings
|
|||
public float ParseTemperature(string s)
|
||||
{
|
||||
var t = float.Parse(s);
|
||||
return TemperatureUnit switch
|
||||
return GameplaySettings.TemperatureUnit switch
|
||||
{
|
||||
TemperatureUnit.Kelvin => t,
|
||||
TemperatureUnit.Celsius => t + 273.15f,
|
||||
|
|
@ -39,7 +39,7 @@ public class PlayerSettings
|
|||
public string Format(float d)
|
||||
{
|
||||
var magnitude = d == 0.0f ? 0 : (int)Math.Floor(Math.Log10(Math.Abs(d))) + 1;
|
||||
var digits = SignificantDigits;
|
||||
var digits = GameplaySettings.SignificantDigits;
|
||||
digits -= magnitude;
|
||||
if (digits < 0)
|
||||
digits = 0;
|
||||
|
|
@ -47,4 +47,16 @@ public class PlayerSettings
|
|||
var dec = Convert.ToChar(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator);
|
||||
return strdec.Contains(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator) ? strdec.TrimEnd('0').TrimEnd(dec) : strdec;
|
||||
}
|
||||
}
|
||||
|
||||
public class PlayerGameplaySettings
|
||||
{
|
||||
[Key(0)] public TemperatureUnit TemperatureUnit = TemperatureUnit.Celsius;
|
||||
[Key(1)] public int SignificantDigits = 3;
|
||||
}
|
||||
|
||||
public class PlayerInputSettings
|
||||
{
|
||||
[Key(0)] public Dictionary<string, string> InputActionMap = new Dictionary<string, string>();
|
||||
[Key(1)] public bool FiveButtonMouse;
|
||||
}
|
||||
|
|
@ -221,12 +221,12 @@ public class MainMenu : MonoBehaviour
|
|||
() => ActionGameManager.PlayerSettings.Name,
|
||||
s => ActionGameManager.PlayerSettings.Name = s);
|
||||
_nextMenu.panel.AddField("Temperature Unit",
|
||||
() => (int) ActionGameManager.PlayerSettings.TemperatureUnit,
|
||||
i => ActionGameManager.PlayerSettings.TemperatureUnit = (TemperatureUnit) i,
|
||||
() => (int) ActionGameManager.PlayerSettings.GameplaySettings.TemperatureUnit,
|
||||
i => ActionGameManager.PlayerSettings.GameplaySettings.TemperatureUnit = (TemperatureUnit) i,
|
||||
Enum.GetNames(typeof(TemperatureUnit)));
|
||||
_nextMenu.panel.AddField("Significant Digits",
|
||||
() => ActionGameManager.PlayerSettings.SignificantDigits,
|
||||
i => ActionGameManager.PlayerSettings.SignificantDigits = i);
|
||||
() => ActionGameManager.PlayerSettings.GameplaySettings.SignificantDigits,
|
||||
i => ActionGameManager.PlayerSettings.GameplaySettings.SignificantDigits = i);
|
||||
_nextMenu.panel.AddButton("Back",
|
||||
() =>
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue