浏览代码

Merge branch 'playerinput-rebind-ui'

/main
andytouch 5 年前
当前提交
5e4537c4
共有 16 个文件被更改,包括 192 次插入282 次删除
  1. 7
      InputSystem_LocalMultiplayer_Project/Assets/Prefabs/UI/UI_Panel_Menu_PlayerDeviceDisplay.prefab
  2. 68
      InputSystem_LocalMultiplayer_Project/Assets/Scenes/Scene_Example_Warriors.unity
  3. 8
      InputSystem_LocalMultiplayer_Project/Assets/Scripts/GameManager.cs
  4. 74
      InputSystem_LocalMultiplayer_Project/Assets/Scripts/PlayerDeviceRebindBehaviour.cs
  5. 5
      InputSystem_LocalMultiplayer_Project/Assets/Scripts/PlayerVisualDisplayBehaviour.cs
  6. 69
      InputSystem_LocalMultiplayer_Project/Assets/Scripts/UIMenuManager.cs
  7. 30
      InputSystem_LocalMultiplayer_Project/Assets/Scripts/UIMenuPlayerDeviceDisplayBehaviour.cs
  8. 11
      InputSystem_LocalMultiplayer_Project/Assets/Scripts/UIMenuPlayerDeviceDisplayBehaviour.cs.meta
  9. 158
      InputSystem_LocalMultiplayer_Project/Assets/Prefabs/UI/TextLabel_Base.prefab
  10. 7
      InputSystem_LocalMultiplayer_Project/Assets/Prefabs/UI/TextLabel_Base.prefab.meta
  11. 11
      InputSystem_LocalMultiplayer_Project/Assets/Scripts/UIPlayerRebindDisplayBehaviour.cs.meta
  12. 26
      InputSystem_LocalMultiplayer_Project/Assets/Scripts/UIPlayerRebindDisplayBehaviour.cs
  13. 0
      /InputSystem_LocalMultiplayer_Project/Assets/Prefabs/UI/UI_Panel_Menu_PlayerDeviceDisplay.prefab.meta
  14. 0
      /InputSystem_LocalMultiplayer_Project/Assets/Prefabs/UI/UI_Panel_Menu_PlayerDeviceDisplay.prefab
  15. 0
      /InputSystem_LocalMultiplayer_Project/Assets/Prefabs/UI/UI_Canvas_World_PlayerDisplay.prefab.meta
  16. 0
      /InputSystem_LocalMultiplayer_Project/Assets/Prefabs/UI/UI_Canvas_World_PlayerDisplay.prefab

7
InputSystem_LocalMultiplayer_Project/Assets/Prefabs/UI/UI_Panel_Menu_PlayerDeviceDisplay.prefab


- component: {fileID: -3121183537027587683}
- component: {fileID: 1063851081}
m_Layer: 8
m_Name: Panel_PlayerRebindPanel
m_Name: UI_Panel_Menu_PlayerDeviceDisplay
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0

m_GameObject: {fileID: 4771699827640259325}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3f18ceab1bac8124c8f055b165452183, type: 3}
m_Script: {fileID: 11500000, guid: fb9fa96d7e2cd5d429bb276c06a46c72, type: 3}
m_Name:
m_EditorClassIdentifier:
deviceDisplayConfigurator: {fileID: 11400000, guid: 1ae90af367a37dc47b0ecc2b81a75099,

m_EditorClassIdentifier:
m_Action: {fileID: -3670508557925037996, guid: aa45cad44afd790488f6540bc766db91,
type: 3}
m_BindingId: 3e6d6425-a990-4434-b58d-57464db363d4
m_BindingId:
m_PlayerIndex: -1
m_DisplayStringOptions: 0
m_ActionLabel: {fileID: 21393434}
m_BindingText: {fileID: 8401327930207755889}

68
InputSystem_LocalMultiplayer_Project/Assets/Scenes/Scene_Example_Warriors.unity


propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5548200518918450370, guid: 7040c04d00ad25e4cad0ba1b7d40c3c0,
type: 3}
propertyPath: m_Name
value: UI_Canvas_World_PlayerDisplay
objectReference: {fileID: 0}
- target: {fileID: 8145840457835498163, guid: 7040c04d00ad25e4cad0ba1b7d40c3c0,
type: 3}
propertyPath: m_LocalPosition.x

m_Component:
- component: {fileID: 144661832}
m_Layer: 8
m_Name: Panel_Rebind
m_Name: Panel_PlayerSettings
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0

m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_BoundingSphereOverride: {x: 0.00000020990123, y: 2.1887701e+23, z: 1.3592422e+22,
w: 0.000000002622607}
m_BoundingSphereOverride: {x: 7.74e-43, y: -0.0010197749, z: 7.72e-43, w: 2.2987735e+9}
m_UseBoundingSphereOverride: 0
m_ShadowRadius: 0
m_ShadowAngle: 0

- component: {fileID: 782418257}
- component: {fileID: 782418258}
m_Layer: 8
m_Name: List_RebindOptions
m_Name: List_PlayerDeviceDisplays
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0

m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -32.013176}
m_AnchoredPosition: {x: 0, y: -32.013214}
m_SizeDelta: {x: -1, y: -64}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &782418258

m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!114 &1038025468
MonoBehaviour:
m_ObjectHideFlags: 0

m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1038025467}
m_Enabled: 0
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}

m_Name:
m_EditorClassIdentifier:
UICamera: {fileID: 246201657}
inScenePlayerRebindPanel: {fileID: 1063851080}
playerRebindPanelPrefab: {fileID: 4771699827640259325, guid: 1ff0ff9fe1f589244aee9d67ce1c6e58,
placeholderGameObjects:
- {fileID: 1063851080}
UIPlayerDeviceDisplayPrefab: {fileID: 4771699827640259325, guid: 1ff0ff9fe1f589244aee9d67ce1c6e58,
playerRebindListRoot: {fileID: 782418257}
UIPlayerDeviceDisplayRoot: {fileID: 782418257}
--- !u!1 &1854560536
GameObject:
m_ObjectHideFlags: 0

- component: {fileID: 1854560537}
- component: {fileID: 1854560540}
- component: {fileID: 1854560539}
- component: {fileID: 1854560538}
m_Layer: 10
m_Name: Button_Attack
m_TagString: Untagged

m_AnchoredPosition: {x: -200, y: 200}
m_SizeDelta: {x: 200, y: 200}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1854560538
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1854560536}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6d54531977ecb194c95e2d3aa7a5d72a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ControlPath: <Gamepad>/buttonSouth
--- !u!114 &1854560539
MonoBehaviour:
m_ObjectHideFlags: 0

- component: {fileID: 1874093066}
- component: {fileID: 1874093068}
- component: {fileID: 1874093067}
- component: {fileID: 1874093069}
m_Layer: 10
m_Name: Joystick_Movement
m_TagString: Untagged

m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1874093065}
m_CullTransparentMesh: 0
--- !u!114 &1874093069
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1874093065}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e9d677f1681015749b15c436eec6d880, type: 3}
m_Name:
m_EditorClassIdentifier:
m_MovementRange: 50
m_ControlPath: <Gamepad>/leftStick
--- !u!1 &1912423613
GameObject:
m_ObjectHideFlags: 0

- component: {fileID: 2137092838}
- component: {fileID: 2137092837}
m_Layer: 8
m_Name: Title_ControllerSettings
m_Name: Title_PlayerSettings
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0

m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Controller Settings
m_text: Player Settings
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 77a54eba8bd72b04babb01fc6f9d031b, type: 2}
m_sharedMaterial: {fileID: 6952953652584977494, guid: 77a54eba8bd72b04babb01fc6f9d031b,

m_margin: {x: 0, y: 0, z: 0, w: 0}
m_textInfo:
textComponent: {fileID: 2137092837}
characterCount: 19
characterCount: 15
spriteCount: 0
spaceCount: 1
wordCount: 2

m_Modification:
m_TransformParent: {fileID: 782418257}
m_Modifications:
- target: {fileID: 1063851081, guid: 1ff0ff9fe1f589244aee9d67ce1c6e58, type: 3}
propertyPath: m_BindingId
value:
objectReference: {fileID: 0}
- target: {fileID: 1864481344318969274, guid: 1ff0ff9fe1f589244aee9d67ce1c6e58,
type: 3}
propertyPath: m_LocalPosition.x

- target: {fileID: 4771699827640259325, guid: 1ff0ff9fe1f589244aee9d67ce1c6e58,
type: 3}
propertyPath: m_Name
value: Panel_RebindPlayerInput
value: UI_Panel_Menu_PlayerDeviceDisplay
m_SourcePrefab: {fileID: 100100000, guid: 1ff0ff9fe1f589244aee9d67ce1c6e58, type: 3}
m_SourcePrefab: {fileID: 100100000, guid: 1ff0ff9fe1f589244aee9d67ce1c6e58, type: 3}

8
InputSystem_LocalMultiplayer_Project/Assets/Scripts/GameManager.cs


PlayerController inScenePlayerController = inScenePlayer.GetComponent<PlayerController>();
activePlayerControllers.Add(inScenePlayerController);
UpdateUIMenuPlayerList();
SetupUIMenuPlayerList();
}
}

}
UpdateUIMenuPlayerList();
SetupUIMenuPlayerList();
void UpdateUIMenuPlayerList()
void SetupUIMenuPlayerList()
UIMenuManager.Instance.UpdateRebindPlayerPanelList();
UIMenuManager.Instance.SetupUIMenuPlayerPanelList();
}

74
InputSystem_LocalMultiplayer_Project/Assets/Scripts/PlayerDeviceRebindBehaviour.cs


}
}
/// <summary>
/// Index of of the <see cref="PlayerInput"/> (see <see cref="PlayerInput.playerIndex"/>) on which to rebind
/// the action referenced by <see cref="actionReference"/>.
/// </summary>
/// <remarks>
/// This is -1 by default which deactivated the feature. If this is set to a number >= 0, the <see cref="PlayerInput"/>
/// with a matching <see cref="PlayerInput.playerIndex"/> will be looked up and the ID of the action referenced by
/// <see cref="actionReference"/> will be looked up in the <see cref="PlayerInput.actions"/> of the player. This
/// allows targeting rebinds to a specific player.
/// </remarks>
/// <seealso cref="PlayerInput.playerIndex"/>
/// <seealso cref="PlayerInput.all"/>
public int playerIndex
{
get => m_PlayerIndex;
set
{
m_PlayerIndex = value;
UpdateBindingDisplay();
}
}
public InputBinding.DisplayStringOptions displayStringOptions
{
get => m_DisplayStringOptions;

/// Return the action and binding index for the binding that is targeted by the component
/// according to
/// </summary>
/// <param name="action"></param>
/// <param name="bindingIndex"></param>
/// <returns></returns>
/// <param name="action">Receives the action that is to be rebound.</param>
/// <param name="bindingIndex">Receives the index of the binding to rebind.</param>
/// <returns>True if a valid action and binding index has been selected.</returns>
public bool ResolveActionAndBinding(out InputAction action, out int bindingIndex)
{
bindingIndex = -1;

return false;
if (m_PlayerIndex >= 0)
{
var player = PlayerInput.GetPlayerByIndex(m_PlayerIndex);
if (player == null || player.actions == null)
return false; // Fail the lookup if the specified player does not exist or it has no actions.
action = player.actions.FindAction(action.id);
if (action == null)
return false;
}
{
var controls = action.controls;
if (controls.Count > 0)
{
var index = action.GetBindingIndexForControl(controls[0]);
if (index != -1)
{
while (action.bindings[index].isPartOfComposite)
{
--index;
if (index < 0)
return false;
}
bindingIndex = index;
return true;
}
}
}
// Look up binding index.
var bindingId = new Guid(m_BindingId);

var controlPath = default(string);
// Get display string from action.
var action = m_Action?.action;
if (action != null)
{
var bindingIndex = action.bindings.IndexOf(x => x.id.ToString() == m_BindingId);
if (bindingIndex != -1)
displayString = action.GetBindingDisplayString(bindingIndex, out deviceLayoutName, out controlPath, displayStringOptions);
}
if (ResolveActionAndBinding(out var action, out var bindingIndex))
displayString = action.GetBindingDisplayString(bindingIndex, out deviceLayoutName, out controlPath, displayStringOptions);
m_BindingText.SetText(displayString);
m_BindingText.text = displayString;
// Give listeners a chance to configure UI in response.
m_UpdateBindingUIEvent?.Invoke(this, displayString, deviceLayoutName, controlPath);

[SerializeField]
private string m_BindingId;
[Tooltip("Optional index of the player (see PlayerInput.playerIndex) to rebind the action on. If this is set, the action referenced by the rebind UI component "
+ "will be looked up dynamically on the set of actions found on the player.")]
[SerializeField]
private int m_PlayerIndex = -1;
[SerializeField]
private InputBinding.DisplayStringOptions m_DisplayStringOptions;

5
InputSystem_LocalMultiplayer_Project/Assets/Scripts/PlayerVisualDisplayBehaviour.cs


playerDisplay.SetActive(newState);
}
void OnControlsChanged()
{
SetPlayerVisualDisplay();
}
}

69
InputSystem_LocalMultiplayer_Project/Assets/Scripts/UIMenuManager.cs


using System.Collections;
using System.Collections.Generic;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine.InputSystem.Utilities;
private List<PlayerController> activePlayerControllers;
private List<UIMenuPlayerDeviceDisplayBehaviour> spawnedUIPlayerDeviceDisplayBehaviours;
[Header("In-Scene Player Panel")]
public GameObject inScenePlayerRebindPanel;
[Header("Placeholder GameObjects")]
public GameObject[] placeholderGameObjects;
public GameObject playerRebindPanelPrefab;
public Transform playerRebindListRoot;
public GameObject UIPlayerDeviceDisplayPrefab;
public Transform UIPlayerDeviceDisplayRoot;
public void SetupUIMenuPlayerPanelList()
{
DestroyPlaceholderObjects();
GetCurrentPlayerDatas();
SetupCurrentPlayerUIMenuPanels();
}
void DestroyPlaceholderObjects()
{
for(int i = 0; i < placeholderGameObjects.Length; i++)
{
Destroy(placeholderGameObjects[i]);
}
}
public void UpdateRebindPlayerPanelList()
void GetCurrentPlayerDatas()
activePlayerControllers = GameManager.Instance.GetActivePlayerControllers();
}
Destroy(inScenePlayerRebindPanel);
void SetupCurrentPlayerUIMenuPanels()
{
List<PlayerController> activePlayerControllers = GameManager.Instance.GetActivePlayerControllers();
spawnedUIPlayerDeviceDisplayBehaviours = new List<UIMenuPlayerDeviceDisplayBehaviour>();
GameObject spawnedPlayerRebindPanel = Instantiate(playerRebindPanelPrefab, playerRebindListRoot.position, playerRebindListRoot.rotation) as GameObject;
spawnedPlayerRebindPanel.transform.SetParent(playerRebindListRoot, false);
GameObject spawnedUIPlayerDeviceDisplayPanel = Instantiate(UIPlayerDeviceDisplayPrefab, UIPlayerDeviceDisplayRoot.position, UIPlayerDeviceDisplayRoot.rotation) as GameObject;
spawnedUIPlayerDeviceDisplayPanel.transform.SetParent(UIPlayerDeviceDisplayRoot, false);
spawnedPlayerRebindPanel.GetComponent<UIPlayerRebindDisplayBehaviour>().SetupPanelDisplays(spawnedPlayerIndex, spawnedPlayerDevicePath);
spawnedUIPlayerDeviceDisplayPanel.GetComponent<PlayerDeviceRebindBehaviour>().playerIndex = spawnedPlayerIndex;
spawnedUIPlayerDeviceDisplayBehaviours.Add(spawnedUIPlayerDeviceDisplayPanel.GetComponent<UIMenuPlayerDeviceDisplayBehaviour>());
spawnedUIPlayerDeviceDisplayBehaviours[i].SetPlayerDeviceDisplay(spawnedPlayerIndex, spawnedPlayerDevicePath);
}
void UpdateCurrentPlayerUIMenuPanels()
{
for(int i = 0; i < spawnedUIPlayerDeviceDisplayBehaviours.Count; i++)
{
PlayerInput spawnedPlayerInput = activePlayerControllers[i].GetPlayerInput();
string spawnedPlayerDevicePath = spawnedPlayerInput.devices[0].ToString();
spawnedUIPlayerDeviceDisplayBehaviours[i].UpdatePlayerDeviceDisplay(spawnedPlayerDevicePath);
}
if(newState == true)
{
UpdateCurrentPlayerUIMenuPanels();
}
UICamera.enabled = newState;
}
}

30
InputSystem_LocalMultiplayer_Project/Assets/Scripts/UIMenuPlayerDeviceDisplayBehaviour.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.UI;
public class UIMenuPlayerDeviceDisplayBehaviour : MonoBehaviour
{
[Header("Device Display")]
public DeviceDisplayConfigurator deviceDisplayConfigurator;
[Header("Display References")]
public TextMeshProUGUI playerIDDisplay;
public TextMeshProUGUI playerDeviceDisplay;
public Image playerDeviceDisplayIcon;
public void SetPlayerDeviceDisplay(int playerID, string playerDevicePath)
{
playerIDDisplay.SetText((playerID + 1).ToString());
UpdatePlayerDeviceDisplay(playerDevicePath);
}
public void UpdatePlayerDeviceDisplay(string playerDevicePath)
{
playerDeviceDisplay.SetText(deviceDisplayConfigurator.GetDeviceDisplayName(playerDevicePath));
playerDeviceDisplayIcon.color = deviceDisplayConfigurator.GetDeviceDisplayColor(playerDevicePath);
}
}

11
InputSystem_LocalMultiplayer_Project/Assets/Scripts/UIMenuPlayerDeviceDisplayBehaviour.cs.meta


fileFormatVersion: 2
guid: fb9fa96d7e2cd5d429bb276c06a46c72
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

158
InputSystem_LocalMultiplayer_Project/Assets/Prefabs/UI/TextLabel_Base.prefab


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2031717859516456160
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4835499840715024156}
- component: {fileID: 4727975904017980743}
- component: {fileID: 8337277598320530080}
m_Layer: 8
m_Name: TextLabel_Base
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4835499840715024156
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2031717859516456160}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 757.585, y: 133.07605}
m_SizeDelta: {x: 128.51001, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4727975904017980743
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2031717859516456160}
m_CullTransparentMesh: 0
--- !u!114 &8337277598320530080
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2031717859516456160}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Player 1
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8c535505f9e0c054090c3399111a6650, type: 2}
m_sharedMaterial: {fileID: 3543077677976015755, guid: 8c535505f9e0c054090c3399111a6650,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 25
m_fontSizeBase: 25
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_textAlignment: 514
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_firstOverflowCharacterIndex: -1
m_linkedTextComponent: {fileID: 0}
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_VertexBufferAutoSizeReduction: 1
m_firstVisibleCharacter: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_textInfo:
textComponent: {fileID: 8337277598320530080}
characterCount: 8
spriteCount: 0
spaceCount: 1
wordCount: 2
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_spriteAnimator: {fileID: 0}
m_hasFontAssetChanged: 0
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}

7
InputSystem_LocalMultiplayer_Project/Assets/Prefabs/UI/TextLabel_Base.prefab.meta


fileFormatVersion: 2
guid: a8b6246dc9270854d864aaf76de81463
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

11
InputSystem_LocalMultiplayer_Project/Assets/Scripts/UIPlayerRebindDisplayBehaviour.cs.meta


fileFormatVersion: 2
guid: 3f18ceab1bac8124c8f055b165452183
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

26
InputSystem_LocalMultiplayer_Project/Assets/Scripts/UIPlayerRebindDisplayBehaviour.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.UI;
public class UIPlayerRebindDisplayBehaviour : MonoBehaviour
{
[Header("Device Display")]
public DeviceDisplayConfigurator deviceDisplayConfigurator;
[Header("Display References")]
public TextMeshProUGUI playerIDDisplay;
public TextMeshProUGUI playerDeviceDisplay;
public Image playerDeviceDisplayIcon;
public void SetupPanelDisplays(int playerID, string playerDevicePath)
{
playerIDDisplay.SetText((playerID + 1).ToString());
playerDeviceDisplay.SetText(deviceDisplayConfigurator.GetDeviceDisplayName(playerDevicePath));
playerDeviceDisplayIcon.color = deviceDisplayConfigurator.GetDeviceDisplayColor(playerDevicePath);
}
}

/InputSystem_LocalMultiplayer_Project/Assets/Prefabs/UI/Panel_PlayerRebindPanel.prefab.meta → /InputSystem_LocalMultiplayer_Project/Assets/Prefabs/UI/UI_Panel_Menu_PlayerDeviceDisplay.prefab.meta

/InputSystem_LocalMultiplayer_Project/Assets/Prefabs/UI/Panel_PlayerRebindPanel.prefab → /InputSystem_LocalMultiplayer_Project/Assets/Prefabs/UI/UI_Panel_Menu_PlayerDeviceDisplay.prefab

/InputSystem_LocalMultiplayer_Project/Assets/Prefabs/UI/Canvas_PlayerDisplay.prefab.meta → /InputSystem_LocalMultiplayer_Project/Assets/Prefabs/UI/UI_Canvas_World_PlayerDisplay.prefab.meta

/InputSystem_LocalMultiplayer_Project/Assets/Prefabs/UI/Canvas_PlayerDisplay.prefab → /InputSystem_LocalMultiplayer_Project/Assets/Prefabs/UI/UI_Canvas_World_PlayerDisplay.prefab

正在加载...
取消
保存