コガネブログ

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

2017-09-01から1ヶ月間の記事一覧

【C#】DateTime が指定された期間内の場合に true を返す拡張メソッド

ソースコード public static class DateTimeExt { public static bool IsBetween( this DateTime self, DateTime from, DateTime to ) { return from <= value && to >= value; } }

【C#】XmlAttribute が null ではない場合にのみ Value を返す拡張メソッド

ソースコード using System.Xml; public static class XmlExt { public static string GetValueOrDefault ( this XmlAttribute self, string defaultValue = "" ) { return self != null ? self.Value : defaultValue; } } 使い方 var attr = node.Attribute…

【C#】シーケンスから null の要素を除外する拡張メソッド

ソースコード using System.Collections.Generic; using System.Linq; public static class IEnumerableExt { public static IEnumerable<T> NotNull<T>( this IEnumerable<T> self ) { return self.Where( c => c != null ); } } 使い方 var list = new [] { "フシギ</t></t></t>…

【C#】配列やリストで要素が末尾かどうかを判定できるループ構文の拡張メソッド

ソースコード using System; using System.Collections.Generic; public static class ListExt { public struct ForEachData<T> { private readonly int m_index ; private readonly T m_value ; private readonly bool m_isLast ; public int Index { get { re</t>…

【Unity】【C#】日本語の文字列をソートする時に使用させていただいているプログラム

はじめに ゲーム開発においてアイテムや商品ラインナップを五十音順で並べたい時などに 上記サイト様のプログラムを使用させていただいています 使い方 var list = new [] { "フシギダネ", "ヒトカゲ" , "ゼニガメ" , }; var sortedList = list .OrderBy( c …

【Unity】Game Center からレスポンスが返ってこない不具合と対処方法

概要 Unity で Game Center と連携するアプリを開発した タイトル画面で ILocalUser.Authenticate を呼び出して Game Center を認証するようにした Social.localUser.Authenticate( isSucceeded => {} ); 引数のコールバック関数が呼び出されたら次の処理に…

【Unity】ゲーム再生中に Trello にバグを報告できる「Easy Feedback Form」紹介($21.60)

概要 2017/5/18 に、Trello 連携用のアセット 「Easy Feedback Form」がリリースされました 「Easy Feedback Form」を導入すると、 ゲーム再生中に Trello にバグを報告できるようになります 検証環境 Unity 2017.1.1 f1 Easy Feedback Form 1.0.3 公式ドキ…

【Unity】WWW.LoadFromCacheOrDownload ではベーシック認証ができない?

WWW.LoadFromCacheOrDownload では 引数にヘッダー情報を渡すことができないので ベーシック認証ができない? ベーシック認証を URL に直接書く方法も試してみたがうまくいかず

【Unity】WWW クラスでベーシック認証を行う方法

ソースコード using System; using System.Collections; using System.Text; using UnityEngine; public class Example : MonoBehaviour { private IEnumerator Start() { var url = "【URL】"; var form = new WWWForm(); var headers = form.headers; var …

【Unity】高速かつメモリを節約してスクロールビューを実装できる「EnhancedScroller」紹介($21.60)

概要 2015/5/28 に、uGUI 拡張用のアセット 「EnhancedScroller」がリリースされました 例えばスマホゲームで、プレゼントボックスやランキング一覧などの画面で 数百から数千件のデータをスクロールビューで表示する場合、 ベタに実装しようとするとオブジ…

【Unity】ゲーム再生中に Trello にバグを報告できる「Trello Bug Tracker [PRO]」紹介($17.27)

概要 2017/2/4 に、Trello 連携用のアセット 「Trello Bug Tracker [PRO]」がリリースされました 「Trello Bug Tracker [PRO]」を導入すると、 ゲーム再生中に Trello にバグを報告できるようになります 検証環境 Unity 2017.1.1 f1 Trello Bug Tracker [PRO…

【Unity】社内プレゼンで使用したスライド「Unity で実装するエイジングテストのお話」を SlideShare に公開しました

概要 Unity プロジェクトでエイジングテストを実装した時の話を社内でプレゼンしたので その時に使用したスライドを SlideShare に公開しました ※プロジェクトの固有名詞を出せないためいくつかスライドを編集してあります

【Visual Studio】よく使うショートカットキー(ホットキー)まとめ

はじめに Unity で Visual Studio を使用してコーディングしている時に よく使っているショートカットキーをまとめておきます コーディング 機能 ショートカットキー ジャンプ Ctrl + G 移動 Ctrl + , クイックアクション Ctrl + . ドキュメントのフォーマッ…

【Unity】Unity を起動しようとしたら「正しくないイメージ」と表示されたときの対応方法

はじめに XXXX は Windows 上では実行できないか、エラーを含んでいます。 元のインストールメディアを使用して再インストールするか、 システム管理者またはソフトウェアの製造元に問い合わせてください。 エラー状態 YYYY インストールした Unity 2017.1.1…

【C#】Manatee.Trello を使用して Trello にリストやカードを追加してみる

前回の記事 はじめに 今回は「Manatee.Trello」を使用して、 Trello にリストやカードを追加してみます 検証環境 .NET Framework 4.5.2 Manatee.Trello 1.18.3 Manatee.Trello.ManateeJson 1.8.1 Manatee.Trello.WebApi 1.1.0.1 ソースコード using Manatee.…

【C#】Manatee.Trello を使用して Trello から情報を取得してみる

はじめに 「Manatee.Trello」を使用すると C# で Trello の情報を取得したり Trello にリストやカードを作成したりできるようになります 検証環境 .NET Framework 4.5.2 Manatee.Trello 1.18.3 Manatee.Trello.ManateeJson 1.8.1 Manatee.Trello.WebApi 1.1.…

【C#】「Trello メンバー追加くん」を Github に公開しました

はじめに 「Trello メンバー追加くん」を Github に公開しました Trello では複数のカードにメンバーを一括で追加できないため C# で専用のツールとして作成しました 概要 Trello 内の指定されたメンバーを複数のカードに一括で追加・削除するツールです。 …

【C#】MyTrelloNet(Trello.NET) を使用して Trello にボードやリスト、カードを追加してみる

前回の記事 はじめに 今回は「MyTrelloNet」を使用して、 Trello にボードやリスト、カードを追加してみます 検証環境 .NET Framework 4.6 MyTrelloNet 1.0.8 ソースコード using System.Linq; using TrelloNet; ... // Trello を操作するインスタンスを生成…

【C#】MyTrelloNet(Trello.NET) を使用して Trello から情報を取得してみる

はじめに 「Trello.NET」を使用すると C# で Trello の情報を取得したり Trello にボードやリスト、カードを作成したりできるようになります 上記の「Trello.NET」は 3 年ほど更新されていないようだったので 今回は下記の「MyTrelloNet」を使用していきます…

【Unity】【uGUI】RectTransform の幅と高さの取得/設定を楽にする拡張メソッド

はじめに var t = self.GetComponent<RectTransform>(); // 取得 var width = t.sizeDelta.x; var height = t.sizeDelta.y; // 設定 var sizeDelta = t.sizeDelta; sizeDelta = new Vector2( 128, 64 ); t.sizeDelta = sizeDelta; RectTransform の幅と高さと取得、設定する</recttransform>…

【Unity】【uGUI】SpriteAtlas に含まれているすべての Sprite を返す拡張メソッド

はじめに var sprites = new Sprite[ spriteAtlas.spriteCount ]; spriteAtlas.GetSprites( sprites ); SpriteAtlas に含まれているすべての Sprite を取得する場合、 上記のような処理を記述すれば実現できますが 毎回配列を定義するのが大変だったので す…

【Unity】【C#】簡易モンキーテストツールを作りました

はじめに Unity 製のスマホゲームの開発中に使用していた 自作のモンキーテストツールを GitHub に公開しました このツールを使うと指定された範囲内を高速かつランダムにクリックし続けるため ボタンが連打できたり意図しないタイミングで押せてしまったり…

【Unity】【Arduino】スイッチが押されたら Unity を再生・停止する

参考サイト様 上記のサイト様のプログラムがとても良かったため、 Windows フォームアプリケーションだけではなく コンソールアプリケーションでも動作するようにしました スクリプト Arduino const int BUTTON = 7; void setup() { Serial.begin( 9600 ); p…

【Unity】【Arduino】ビルド中に LED を光らせる

スクリプト Arduino void setup() { Serial.begin( 9600 ); pinMode( 13, OUTPUT ); } void loop() { if ( Serial.available() <= 0 ) return; char data = Serial.read(); int num = data == '1' ? HIGH : LOW; digitalWrite( 13, num ); Serial.flush(); }…

【Unity】【Arduino】Unity エディタ再生中や一時停止中に LED を光らせる

スクリプト Arduino void setup() { Serial.begin( 9600 ); pinMode( 13, OUTPUT ); pinMode( 12, OUTPUT ); } void loop() { if ( Serial.available() <= 0 ) return; int data = Serial.read(); digitalWrite( 13, ( data & 1 ) != 0 ? HIGH : LOW ); digi…

【Unity】【Arduino】Unity エディタ再生中に LED を光らせる

スクリプト Arduino void setup() { Serial.begin( 9600 ); pinMode( 13, OUTPUT ); } void loop() { if ( Serial.available() <= 0 ) return; char data = Serial.read(); int num = data == '1' ? HIGH : LOW; digitalWrite( 13, num ); Serial.flush(); }…

【Unity】【Arduino】Z キーが押されている時に LED を光らせる

スクリプト Arduino void setup() { Serial.begin( 9600 ); pinMode( 13, OUTPUT ); } void loop() { if ( Serial.available() <= 0 ) return; char data = Serial.read(); int num = data == '1' ? HIGH : LOW; digitalWrite( 13, num ); Serial.flush(); }…

【C#】char 型の数値を int 型に変換する拡張メソッド

ソースコード public static class CharExt { public static int ToInt( this char self ) { return self - '0'; } } 使い方 char ch = '1' int num = ch.ToInt();

【Unity】Game ビューのインスタンスを取得するエディタ拡張

ソースコード using UnityEditor; public static class Example { public static EditorWindow GetGameView() { var assembly = typeof( EditorWindow ).Assembly; var type = assembly.GetType( "UnityEditor.GameView" ); var gameview = EditorWindow.Get…

【Unity】uGUI でオブジェクトをドラッグで移動させる方法

ソースコード using UnityEngine; using UnityEngine.EventSystems; public class DragObject : MonoBehaviour, IDragHandler { public RectTransform m_rectTransform = null; private void Reset() { m_rectTransform = GetComponent<RectTransform>(); } public void OnD</recttransform>…