コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

2015-07-01から1ヶ月間の記事一覧

【Unity】「Assert.IsNull」「Assert.IsNotNull」に複数の引数を渡せる関数を定義する

ソースコード 使い方 AssertUtils.IsNull( obj1, obj2 ); AssertUtils.IsNull( obj1, obj2, obj3 ); AssertUtils.IsNull( obj1, obj2, obj3, obj4 ); AssertUtils.IsNull( obj1, obj2, "null ではないオブジェクトが存在します" ); AssertUtils.IsNull( obj1…

【C#】全要素が指定した条件を満たさない場合にtrueを返す拡張メソッド

ソースコード using System; using System.Collections.Generic; public static class IEnumerableExtensions { public static bool None<TSource>( this IEnumerable<TSource> source, Func<TSource, bool> predicate ) { foreach ( var n in source ) { if ( predicate( n ) ) { return fals</tsource,></tsource></tsource>…

【C#】パスワードのようなランダムな文字列を生成して返す関数

C#

ソースコード public static class StringUtils { private const string PASSWORD_CHARS = "0123456789abcdefghijklmnopqrstuvwxyz"; public static string GeneratePassword( int length ) { var sb = new System.Text.StringBuilder( length ); var r = ne…

【Unity】RandomRangeInt can only be called from the main thread.

using UnityEngine; public class Player : MonoBehaviour { private int mValue = Random.Range( 0, 10 ); } このように変数初期化子でRandom.Range関数を使用すると 下記のようなエラーが発生します RandomRangeInt can only be called from the main thre…

【Unity】Tuple を実装する

概要 Tupleクラスは .NET Framework 4.0 から追加されたため .NET Framework 3.5 までの機能しか使えないUnityでは使用できません そのため、Unity でTupleを使用したい場合は 自前で実装する必要がありますが 個人的には Gist で公開されている下記のソース…

【Unity】コンポーネントを破棄する拡張メソッド

ソースコード 使い方 var character = gameObject.GetComponent<Character>(); // 従来の方法 GameObject.Destroy( character ); // 拡張メソッドの方法 character.Destroy(); 関連記事</character>

【Unity】【アセット】街作りゲームのスターターキット「Starter City-Building Game Kit」紹介

Asset Store 概要 クラッシュ・オブ・クランのような街作りゲームのスターターキット クラッシュ・オブ・クラン (Clash of Clans)Supercellゲーム無料 公式サイト http://www.citybuildingkit.com/ パッケージ種別 サンプルアプリ シティービルダー https://…

【C#】デリゲートに登録した処理が期待通りに呼び出されない場合の対処方法

C#

期待した処理が呼び出されない Action onLog = null; Action onClick = null; onClick += onLog; onLog += () => Debug.Log( "ピカチュウ" ); onClick(); Debug.Log( "ピカチュウ" )は呼び出されない onClickにonLogを登録したタイミングでonLogはnullのため…

【Unity】GameObject (named 'XXXX') references runtime script in scene file. Fixing!

using UnityEngine; public class Player : MonoBehaviour { public Enemy mEnemy; } using UnityEngine; public class Enemy : MonoBehaviour { } 例えば上記のようなスクリプトが存在して それぞれをゲームオブジェクトにアタッチして参照を設定していたと…