Skip to content

Instantly share code, notes, and snippets.

@tsubaki
tsubaki / DataStrage.cs
Last active December 19, 2015 14:09
同一オブジェクト上でデータを共有する為のクラス
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class DataStrage : MonoBehaviour {
Dictionary<string, object> dataList = new Dictionary<string, object>();
public void OnDestroy (){ Clear (); }
public void SetInt(string key, int value){ SetParam<int>(key, value); }
public int GetInt(string key, int def) { return GetParam<int>(key, def); }
@tsubaki
tsubaki / SampleInstance.cs
Created July 25, 2013 02:37
Unity用シングルトン
using UnityEngine;
public class SampleInstance : SingletonMonoBehaviour<SampleInstance>
{
}
@tsubaki
tsubaki / ImageLoader.cs
Last active December 20, 2015 15:49
テクスチャを保持したまま(変換せず)使うサンプル。エディタ上から確認も出来る。
using UnityEngine;
using System.Collections;
using System.IO;
[ExecuteInEditMode]
public class ImageLoader : MonoBehaviour
{
// テクスチャ(png/jpeg)の拡張子をbytesとしたもの
public TextAsset image;
@tsubaki
tsubaki / BundleIdentifierChange.cs
Created August 15, 2013 03:48
プラットフォーム切替時にbundleIdentifierを変更する
using UnityEditor;
using UnityEngine;
[InitializeOnLoad]
public class BundleIdentifierChange
{
static string androidBundleIdentifier = "android";
static string iOSBundleIdentifier = "iOS";
static string otherBundleIdentifier = "other";
@tsubaki
tsubaki / MemoryWarning.mm
Last active December 21, 2015 04:28
メモリワーニングになったらGameControllerオブジェクトのvoid MemoryWarning(string msg)へ通知してくれるプラグイン。
//
// MemoryWarning.mm
//
// Created by tsubaki on 2013/08/16.
//
//
#import "iPhone_target_Prefix.pch"
#import "UnityAppController.h"
@interface MemoryWarning : UnityAppController
@tsubaki
tsubaki / NoPixelperfectOnGUI.cs
Last active December 21, 2015 10:09
非ピクセルパーフェクトでOnGUIを表現するサンプル。どの解像度でも800x1280想定でGUIが作られる。
public class NoPixelperfectOnGUI : MonoBehaviour
{
[SerializeField]
Vector2 screenSize = new Vector2(800,1280); // GUI想定解像度
void OnGUI()
{
// GUI用の解像度を更新
GUIUtility.ScaleAroundPivot(new Vector2( Screen.width / screenSize.x, Screen.height / screenSize.y), Vector2.zero);
@tsubaki
tsubaki / NotPixelperfectGUITexture.cs
Created August 21, 2013 05:59
解像度によってGUITextureの大きさを変更するサンプル
using UnityEngine;
using System.Collections;
[ExecuteInEditMode]
[RequireComponent(typeof(GUITexture))]
public class NotPixelperfectGUITexture : MonoBehaviour
{
[SerializeField]
Vector2 screenSize = new Vector2 (800, 1280);
@tsubaki
tsubaki / MultiHitRay.cs
Last active October 9, 2023 13:39
複雑な形状のmeshcollider向けのraycast。posListに概ね全部の接触の接触が入ってる。
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
[ExecuteInEditMode]
public class MultiHitRay : MonoBehaviour
{
[Range(0.1f, 30f)]
public float Length = 20;
public LayerMask Mask;
@tsubaki
tsubaki / MultiHitRay.cs
Last active December 22, 2015 12:58
1個のオブジェクトでも複数回接触判定を返すRaycast
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class MultiHitRay
{
public static List<Vector3> CheckMultiHitRay(Vector3 position, Vector3 direction, float length, LayerMask mask)
{
List<Vector3> list = new List<Vector3>();
@tsubaki
tsubaki / Timer.cs
Last active December 22, 2015 15:18
ゲーム内時間の経過時間を求めるタイマー
using UnityEngine;
using System.Collections;
public class Timer : MonoBehaviour
{
private float startTime;
public float second = 0;
void OnGUI ()