Skip to content

Instantly share code, notes, and snippets.

View atori708's full-sized avatar

Atori708 atori708

  • JPN
View GitHub Profile
@atori708
atori708 / GizmoUtilitySample.cs
Last active April 14, 2024 13:25
Gizmoの表示状態をスクリプトから制御する
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEngine.SceneManagement;
public class GizmoUtilitySample : MonoBehaviour
{
GameObject[] gameObjects;
List<GizmoInfo> gizmoInfos = new List<GizmoInfo>();
@atori708
atori708 / 1_ProjectView.cs
Last active January 9, 2023 14:24
【Unity】アセットのmetaファイルの中身を見れるボタンを用意する
using System.IO;
using UnityEditor;
using UnityEngine;
/// <summary>
/// ProjectView拡張
/// ボタンを追加する
/// </summary>
public class ProjectView
{
@atori708
atori708 / GizmoVisibleSwitcher.cs
Last active December 20, 2022 12:35
Gizmo表示をスクリプトから制御する(2022.1以前のリフレクションを使った手法)
/// <summary>
/// Gizmo表示をスクリプトから変更するためのクラス
/// </summary>
public class GizmoVisibleSwitcher
{
Type annotation;
Type annotationUtility;
MethodInfo getAnnotations;
MethodInfo setGizmoEnabled;
@atori708
atori708 / FooterSample.cs
Last active December 4, 2022 13:59
【UIToolkit】スマホっぽいフッターUI
using UnityEditor;
using UnityEngine;
using UnityEngine.UIElements;
using System.Collections.Generic;
public class FooterSample : EditorWindow
{
VisualElement indicator;
List<VisualElement> icons;
int selectIndex;
@atori708
atori708 / LabelTypeNameAttribute.cs
Created November 26, 2022 09:10
【Unity】ラベルを型名で表示するためのPropertyAttribute
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
/// <summary>
/// ラベルで型名を表示するための<see cref="PropertyAttribute"/>
/// </summary>
public class LabelTypeNameAttribute : PropertyAttribute
{
@atori708
atori708 / DiscardChangeSceneAsset.cs
Created November 19, 2022 06:51
【Unity】シーンの変更を破棄する
using UnityEditor;
using UnityEngine.SceneManagement;
using System.Reflection;
public class DiscardChangeSceneAsset
{
/// <summary>
/// シーンの変更を破棄する
/// </summary>
/// <param name="scene"></param>
@atori708
atori708 / LabelAttribute.cs
Last active November 19, 2022 06:31
【Unity】インスペクタ上のラベルを日本語で表示するAttribute
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
public class LabelAttribute : PropertyAttribute
{
@atori708
atori708 / SaveSceneAssetBlocker.cs
Created November 19, 2022 06:06
【Unity】特定のシーンアセットを保存させない実装
using System.Collections.Generic;
using System.IO;
using UnityEditor;
public class SaveSceneAssetBlocker : AssetModificationProcessor
{
/// <summary>
/// 保存したくないシーン名
/// </summary>
static string _dontSaveSceneName;
@atori708
atori708 / TimelinePlayHeadTest.cs
Last active January 1, 2022 10:06
【Unity】Timeline側に仕込んだイベントをフックする
using System;
using System.Reflection;
using UnityEngine;
using UnityEditor.Timeline;
public class TimelinePlayHeadTest : MonoBehaviour
{
System.Object timelineWindowObj;
EventInfo onChangedPlayHead;
Delegate changedPlayHeadHandlerDelegate;
@atori708
atori708 / RingArray.cs
Last active March 31, 2018 12:35
環状配列(要素数は2のべき乗)。通常の配列の使い方が出来るが、先頭と末尾が環状になってるので要素数がオーバーフローしない。作ったけど用途がないので供養(チーン)
/// <summary>
/// 環状配列
/// 2のべき乗でしか作れない
/// スレッドセーフではない
/// </summary>
public class RingArray<T> : System.Collections.ICollection
{
T[] buffer;
int top, bottom;
int mask;