(1)先週覚えたけどブログにする程ボリューム無いから全部まとめてメモ
Const.pmとconfig.pl
- 環境によって変更する値はconfig.plで
- そうじゃないのはConst.pmで管理した方がいい
- config.plが膨らんじゃうのも見づらい
トランザクションについて
- メソッドの中で多くのDB操作をするならば、メソッドの中でトランザクション宣言した方が良い
my $txn = $teng->txn_scope; $token = $self->_fugu($args); $txn->commit;
では無くて、_fuguメソッドの中で$txn = $teng->txn_scope;したほうがが良い。
AssetBundle触ってみる
- https://github.com/unity3d-jp/unity-doc/blob/master/ja/keepingtrackofloadedassetbundles.txt
- いちいちUnloadしないとエラー出る。
svnで管理されてるプロジェクトをcheckoutしてを開くとUnity落ちる
- ProjectRootにあるLibrary消したら大丈夫だった
- LibraryにはAssetのCache情報が入ってるらしい?
- これやればその問題は解消される?
拡張メソッドの返り値を自分自身にするとメンバも更新されると思ったら、普通の挙動だった。thisで渡してるから参照渡しだろ!となった
using UnityEngine; using UnityEditor; using System.Collections; public interface IFugu { int life {get; set;} int attack {get; set;} } public class Fugu : IFugu { private int mLife; private int mAttack; public int life { get {return mLife;} set {mLife = value;} } public int attack { get {return mAttack;} set {mAttack = value;} } [MenuItem("Fugu/Create new instance fugu")] static void CreateFugu() { Fugu fugu = new Fugu (); } public Fugu() { FuguManager.InitStatus(this); Debug.Log ("life : " + mLife + "\nattack : " + mAttack); } ~Fugu(){ Debug.Log ("die fugu"); } } public static class FuguManager { public static IFugu InitStatus (this IFugu fugu) { fugu.life = 100; fugu.attack = 20; //return fugu; これしなくてもfuguに反映されてる } }