Skip to content

Instantly share code, notes, and snippets.

View xrdnk's full-sized avatar
🏠
Working from home

Denik xrdnk

🏠
Working from home
View GitHub Profile
@xrdnk
xrdnk / LocalizeComponent_TMProExtension.cs
Last active February 22, 2022 15:28
TextMeshProUGUI コンポーネントに「LocalizeStringEvent」と「LocalizedTmpFontEvent」を Update Asset イベントに必要なプロパティを設定した上でアタッチしてくれるエディタ拡張
using System;
using TMPro;
using UnityEditor;
using UnityEditor.Events;
using UnityEngine.Events;
using UnityEngine.Localization.Components;
namespace xrdnk.Editor
{
/// <summary>
@xrdnk
xrdnk / LocalizedTmpFontEvent.cs
Created January 26, 2022 14:50
TMP_FontAsset 用の LocalizedAssetEvent
using System;
using TMPro;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.Localization;
using UnityEngine.Localization.Components;
namespace xrdnk
{
/// <summary>
@xrdnk
xrdnk / CustomOvrAvatarHandTrackingInputManager.cs
Created January 13, 2022 00:43
OvrAvatarInputManager(OvrAvatarBodyTrackingBehavior) の実装クラス(ハンドトラッキングを前提)
using Oculus.Avatar2;
using Node = UnityEngine.XR.XRNode;
namespace xrdnk
{
/// <summary>
/// OvrAvatarInputManager の実装クラス
/// <para>ハンドトラッキングを前提としている</para>
/// <remarks>Meta Avatar のボディトラッキングに必要</remarks>
/// </summary>
@xrdnk
xrdnk / CustomOvrAvatarControllerInputManager.cs
Last active January 13, 2022 00:55
OvrAvatarInputManager(OvrAvatarBodyTrackingBehavior) の実装クラス(コントローラによるトラッキングを前提)
using Oculus.Avatar2;
using Node = UnityEngine.XR.XRNode;
using Button = OVRInput.Button;
using Touch = OVRInput.Touch;
namespace xrdnk
{
/// <summary>
/// OvrAvatarInputManager の実装クラス
/// <para>コントローラによるトラッキングを前提としている</para>
using Deniverse.UnityLocalizationSample.Domain.Service;
using Deniverse.UnityLocalizationSample.Presentation.Presentation.UIView;
using Deniverse.UnityLocalizationSample.Presentation.UIView;
using UnityEngine;
namespace Deniverse.UnityLocalizationSample.Presentation.Presenter
{
public sealed class LocalizationPresenter : MonoBehaviour
{
[SerializeField] LocalizationService _localizationService;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Localization;
using UnityEngine.UI;
namespace Deniverse.UnityLocalizationSample.Presentation.UIView
{
public sealed class LanguageSelectToggleUIView : MonoBehaviour
{
[SerializeField] Transform _container;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Localization;
using UnityEngine.UI;
namespace Deniverse.UnityLocalizationSample.Presentation.Presentation.UIView
{
public sealed class LanguageSelectDropdownUIView : MonoBehaviour
{
[SerializeField] Dropdown _dropdown;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace Deniverse.UnityLocalizationSample.Presentation.UIView
{
public sealed class LocalizationUIView : MonoBehaviour
{
[SerializeField] Image _image_Flag;
[SerializeField] TextMeshProUGUI _text_HelloWorld;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Localization;
using UnityEngine.Localization.Settings;
using UnityEngine.Localization.Tables;
using UnityEngine.ResourceManagement.AsyncOperations;
namespace Deniverse.UnityLocalizationSample.Domain.Service
{
public sealed class LocalizationService : MonoBehaviour
@xrdnk
xrdnk / HyperLinkExample.cs
Last active November 1, 2021 09:39
TextMeshPro のテキストに URL 文字列が存在する時,ハイパーリンク化する
using System;
using System.Text.RegularExpressions;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
namespace Denicode
{
public sealed class HyperLinkExample : MonoBehaviour, IPointerDownHandler
{