コガネブログ

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

2017-09-25から1日間の記事一覧

【Go】MessagePack を使ってみる

概要 下記のコマンドでインストール可能 go get -u github.com/vmihailenco/msgpack 次のようなプログラムで MessagePack が使用できることが確認可能 package main import ( "github.com/vmihailenco/msgpack" "fmt" ) func main() { type Item struct { Fo…

【C#】XmlNodeList で LINQ の「Select」「Where」「First」「FirstOrDefault」を使用できるようにする拡張メソッド

ソースコード using System; using System.Collections.Generic; using System.Xml; public static class XmlExt { public static IEnumerable<T> Select<T> ( this XmlNodeList self, Func<XmlNode, T> selector ) { foreach ( XmlNode n in self ) { yield return selector( </xmlnode,></t></t>…

【C#】DateTime が特定の曜日の場合に true を返す拡張メソッド

ソースコード public static class DateTimeExt { public static bool IsMonday( this DateTime self ) { return date.DayOfWeek == DayOfWeek.Monday; } public static bool IsTuesday( this DateTime self ) { return date.DayOfWeek == DayOfWeek.Tuesday…

【C#】明日の DateTime を返す拡張メソッド

ソースコード public static class DateTimeExt { public static DateTime Tomorrow( this DateTime self ) { return value.AddDays( 1 ); } }

【C#】前日の DateTime を返す拡張メソッド

ソースコード public static class DateTimeExt { public static DateTime Yesterday( this DateTime self ) { return value.AddDays( -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」がリリースされました 例えばスマホゲームで、プレゼントボックスやランキング一覧などの画面で 数百から数千件のデータをスクロールビューで表示する場合、 ベタに実装しようとするとオブジ…