簡易的なカレンダーを作ることが出来るアセットは、UIのレイアウトやカスタマイズをしたい人にとってはいい教材じゃないかなと思います。
Simple Calender
シンプルなカレンダーを作る、カスタマイズOK!
Simple Calenderではゲーム内に簡易的なカレンダーを実装することができます。内蔵されているサンプルシーンでは、ワールド座標のUIとOverlayの2パターンのカレンダーが用意されています。
表示などをカスタマイズしたい場合は、SimpleCalender/prefabs/DayButtonプレファブを変更することで色味などを調整できます。

ゲームで利用する時に注意すること
ゲームで実際に使う場合は以下の点に気をつける必要があります
- 当日設定
- 現在はDateTime.Now.Dateが設定されています
- ゲーム内の当日などを設定する場合、カスタマイズする必要あり!
- ボタンからのレスポンスなし
- DayButtonはインタラクション(押された感触)はありますが、そこから何日のボタンが押されたかまではわかりません
- 以下のようなスクリプトで押された日が何日なのかを受け取ったりする機能が必要(下記スクリプトはサンプルです)
public static UnityEvent<DateTime> OnAnyDaySelected = new UnityEvent<DateTime>();
private void Start()
{
// 同インスペクター内のボタンコンポーネントを取得し、クリックイベントにリスナーを追加
GetComponent<UnityEngine.UI.Button>().onClick.AddListener(() =>
{
// イベントを発火
OnAnyDaySelected.Invoke(myDate);
});
}

ちゃんと表示させたい場合はTextMeshProのインポートと日本語フォントも必要になります
Simple Inventory System
https://assetstore.unity.com/packages/tools/game-toolkits/simple-inventory-system-314055
インベントリーっぽいシステムだった
こちらのアセット、インベントリーシステムかと思って使ってみたところ、モックアップだけのアセットでした。実際にインベントリーとしてのデータ保持する処理はなく、ドラッグアンドドロップでアイテムスロットの入れ替えが出来るようなものです。
実際のインベントリプログラムを作った後に、UI作成などをこちらで組み込むことで楽に実装が出来るというものです。
ドラッグアンドドロップ自体の実装が気になる方向け
UIのドラッグアンドドロップなどが気になる場合、こちらの動画など参考にしていただければと思います。
Modular Footstep System
https://assetstore.unity.com/packages/tools/utilities/modular-footstep-system-303673
地面が何を踏んだか調べる
このアセット自体は地面を踏んだ場所で足音を切り替えることが出来るアセットになっています。
自分的にはどうやって地面の判定をしているのか少し気になってコード解析してました。実装内容的にはTerrainのペイントしている色がなにか?というものを調べていました。これ自体はフットステップ以外にも、アイテムを設置する場所として判定を使ったり、地形判定なんかでも様々な場面で使える技術だと感じます。
ということで、この地面の判定方法はまたどこかで調べてから共有したいと思います
コメント