-
Notifications
You must be signed in to change notification settings - Fork 0
テンプレのコードから学んだこと
Elise edited this page Jul 26, 2024
·
3 revisions
ここにテンプレのコードから学んだことを書く
- Common/Dataフォルダには初期デッキ枚数・初期手札の枚数・毎ターンのドロー回数など、ゲーム全体の設定に関わるような変数が設定されている。 →今回のゲームだと、ボスに突入するまでの制限時間・(もし実装するのであれば)ゲーム全体の設定レベルなどをここに記録すると思われる。
サンプルはカードゲームです
カードのデータ(カードの名前、コスト、Hp、レアタイプ、スプライト)などが入っている
それ以外のバトルの設定(初めて何枚のデッキで始めるかなど)とかコストタイプ、レアタイプなどを enum
で管理している
でもなんかクラス内にメソッドはなかった
全部他のクラスでデータいじるらしい(Datastoreかな)
ここはカードゲームでバトルシーン関連のスクリプトをまとめたフォルダー
ここには、バトルにだけ使うデータが入っているはず
このゲームにはバトルエリア(Battle Area)というカードを置くフィールドがある。下はそこに関連するスクリプト
BattleAreaCookieCard.cs
using App.Common.Data.MasterData;
namespace App.Battle.Data
{
[System.Serializable]
public sealed class BattleAreaCookieCard
{
// ここで新しく定義された Id
public string Id { get; }
// App/Scripts/Common/Data/MasterData/CardMasterData.cs に入っている
public CardMasterData CardMasterData { get; }
// App/Scripts/Battle/Data/CardState.cs に入っている
public CardState CardState { get; private set; }
// コンストラクタ
public BattleAreaCookieCard(string id, CardMasterData cardMasterData, CardState cardState)
{
Id = id;
CardMasterData = cardMasterData;
CardState = cardState;
}
// ステートを設定する関数
public void SetState(CardState cardState)
{
CardState = cardState;
}
// たぶんデバッグ用
public override string ToString()
{
return $"({Id})[{CardMasterData.CardNumber}]<{CardMasterData.Name}>";
}
}
}
CardState.cs
namespace App.Battle.Data
{
public enum CardState
{
Active,
Rest,
FaceDown,
}
}
確かにカードの状態はバトルしか使わないからここにある