Skip to content

Instantly share code, notes, and snippets.

@uzzu
uzzu / DefaultArguments.cs
Last active December 19, 2015 04:39
namespace有りのMonoBehaviourを継承したクラスで、デフォルト引数を用いたメソッドを用意するとEditor上からアタッチできなくなる
using UnityEngine;
using System.Collections;
namespace Hogehoge.Fugafuga
{
public class DefaultArguments : MonoBehaviour
{
int hoge = 100;
public void SetHoge (int value = 0)
@uzzu
uzzu / Tuple.cs
Last active December 20, 2015 14:49
Tuple implementation for unity3d (before .NET 4.0 environment)
using System;
using System.Collections;
using System.Text;
namespace System
{
/// <summary>
/// Tuple.
/// </summary>
public static class Tuple
@uzzu
uzzu / ReadWriteLock.cs
Last active December 20, 2015 15:19
The read-write lock object which operates in the "Micro mscorlib" environment of Unity3D, and uses it for execution of a critical section.
using System;
using System.Threading;
public sealed class ReadWriteLock
{
#region Properties
public string Name { get; private set; }
#endregion
@uzzu
uzzu / Ease.cs
Last active December 4, 2019 06:43
ease-in and ease-out funcions for unity3d
using UnityEngine;
/// <summary>
/// Ease functions.
/// </summary>/
public static class Ease
{
#region basic easing
public static float Linear(float variation, float elapsed, float delay, float offset)
{
@uzzu
uzzu / Presenter.cs
Created August 13, 2013 11:39
MVP Framework ;)
using System.Collections.Generic;
/// <summary>
/// The base class of the Presenter class which does not operate View.
/// </summary>
public abstract class Presenter
{
protected Presenter()
{
}
@uzzu
uzzu / DictionaryWithNullValueTest.cs
Created August 16, 2013 03:43
nullを許容しない型はnull許容型で取得しようね <http://msdn.microsoft.com/ja-jp/library/vstudio/2cf62fcy.aspx>
using NUnit.Framework;
using System.Collections.Generic;
[TestFixture]
public class DictionaryWithNullValueTest
{
[Test]
public void DictionaryCanGetNullableInteger()
{
Dictionary<string, object> dict = (Dictionary<string, object>) MiniJSON.Json.Deserialize("{ \"hoge\": null }");
@uzzu
uzzu / 00_DataBindingObject.cs.md
Last active December 22, 2015 23:59
Data-binding object

Data binding object implementation for unity3D

@uzzu
uzzu / 00_InnerClassExample.cs.md
Last active December 25, 2015 13:59
inner classの雑な例。 元となるpartial classにはフィールドないしプロパティのみ定義 inner classで生成や操作等行うとか

inner classの雑な例。 元となるpartial classにはフィールドないしプロパティのみ定義 inner classで生成や操作等行うとか

単純なJIT領域の例
肝となるのはFoo<T>#Log()内の、t.ToString();なところ 例えばこれをtにしたとしても、UnityEngine::Debug::Log()の実装が

using System;
public static void Log(object message)
{
  Debug.Internal_Log(0, (message == null) ? "Null" : message.ToString(), null);
}
@uzzu
uzzu / ShaderInspectorExample.cs
Created January 7, 2014 08:01
MonoBehaviourを継承したクラスをAssets/Standard Assetsディレクトリ以下においた場合のみ有効。 使用するShader scriptをInspectorから設定できる。Shader scriptのみ。
using UnityEngine;
namespace Hoge
{
public class ShaderInspectorExample : MonoBehaviour
{
public Shader publicShader;
[SerializeField]
Shader privateShader;
}