Documentation
¶
Overview ¶
Package raw はゲームのローデータ定義とユーティリティを提供する。
Index ¶
- Variables
- func NewKeyNotFoundError(key, collection string) error
- func SelectByWeightFunc[T any, V any](items []T, getWeight func(T) float64, getValue func(T) V, rng *rand.Rand) (V, error)
- func SelectCommandByWeight(ct oapi.CommandTable, rng *rand.Rand) (string, error)
- func SelectDropByWeight(dt oapi.DropTable, rng *rand.Rand) (string, error)
- func SelectEnemyByWeight(et oapi.EnemyTable, rng *rand.Rand, depth int) (string, error)
- func SelectItemByWeight(it oapi.ItemTable, rng *rand.Rand, depth int) (string, error)
- type KeyNotFoundError
- type Master
- func (rw *Master) GetCommandTable(name string) (oapi.CommandTable, error)
- func (rw *Master) GetDropTable(name string) (oapi.DropTable, error)
- func (rw *Master) GetEnemyTable(name string) (oapi.EnemyTable, error)
- func (rw *Master) GetItemTable(name string) (oapi.ItemTable, error)
- func (rw *Master) GetProfession(id string) (oapi.Profession, error)
- func (rw *Master) GetProp(name string) (oapi.Prop, error)
- func (rw *Master) GetTile(name string) (oapi.Tile, error)
- func (rw *Master) NewEnemySpec(name string) (gc.EntitySpec, error)
- func (rw *Master) NewItemSpec(name string) (gc.EntitySpec, error)
- func (rw *Master) NewMemberSpec(name string) (gc.EntitySpec, error)
- func (rw *Master) NewPlayerSpec(name string) (gc.EntitySpec, error)
- func (rw *Master) NewPropSpec(name string) (gc.EntitySpec, error)
- func (rw *Master) NewRecipeSpec(name string) (gc.EntitySpec, error)
- func (rw *Master) NewTileSpec(name string, x, y consts.Tile, autoTileIndex *int) (gc.EntitySpec, error)
- func (rw *Master) NewWeaponSpec(name string) (gc.EntitySpec, error)
- type Raws
- type ValueType
Constants ¶
This section is empty.
Variables ¶
var ErrInvalidEnumType = errors.New("enumに無効な値が指定された")
ErrInvalidEnumType はenumに無効な値が指定された場合のエラー
Functions ¶
func NewKeyNotFoundError ¶
NewKeyNotFoundError creates a new KeyNotFoundError
func SelectByWeightFunc ¶ added in v1.138.0
func SelectByWeightFunc[T any, V any](items []T, getWeight func(T) float64, getValue func(T) V, rng *rand.Rand) (V, error)
SelectByWeightFunc は重み付き抽選で値を選択する汎用関数 getWeight: 各要素から重みを取得する関数 getValue: 各要素から戻り値を取得する関数
func SelectCommandByWeight ¶ added in v1.155.0
SelectCommandByWeight はコマンドテーブルから重み付きランダム選択する
func SelectDropByWeight ¶ added in v1.155.0
SelectDropByWeight はドロップテーブルから重み付きランダム選択する
func SelectEnemyByWeight ¶ added in v1.155.0
SelectEnemyByWeight は敵テーブルから深度を考慮して重み付きランダム選択する
Types ¶
type KeyNotFoundError ¶
KeyNotFoundError represents an error when a key is not found in a collection
func (KeyNotFoundError) Error ¶
func (e KeyNotFoundError) Error() string
type Master ¶
type Master struct {
Raws Raws
ItemIndex map[string]int
RecipeIndex map[string]int
MemberIndex map[string]int
CommandTableIndex map[string]int
DropTableIndex map[string]int
ItemTableIndex map[string]int
EnemyTableIndex map[string]int
SpriteSheetIndex map[string]int
TileIndex map[string]int
PropIndex map[string]int
ProfessionIndex map[string]int
}
Master はローデータを管理し、効率的な検索のためのインデックスを提供する
func (*Master) GetCommandTable ¶
func (rw *Master) GetCommandTable(name string) (oapi.CommandTable, error)
GetCommandTable は指定された名前のコマンドテーブルを取得する
func (*Master) GetDropTable ¶
GetDropTable は指定された名前のドロップテーブルを取得する
func (*Master) GetEnemyTable ¶
func (rw *Master) GetEnemyTable(name string) (oapi.EnemyTable, error)
GetEnemyTable は指定された名前の敵テーブルを取得する
func (*Master) GetItemTable ¶
GetItemTable は指定された名前のアイテムテーブルを取得する
func (*Master) GetProfession ¶ added in v1.148.0
func (rw *Master) GetProfession(id string) (oapi.Profession, error)
GetProfession は指定されたIDの職業データを返す
func (*Master) NewEnemySpec ¶
func (rw *Master) NewEnemySpec(name string) (gc.EntitySpec, error)
NewEnemySpec は指定された名前の敵のEntitySpecを生成する
func (*Master) NewItemSpec ¶
func (rw *Master) NewItemSpec(name string) (gc.EntitySpec, error)
NewItemSpec は指定された名前のアイテムのEntitySpecを生成する
func (*Master) NewMemberSpec ¶
func (rw *Master) NewMemberSpec(name string) (gc.EntitySpec, error)
NewMemberSpec は指定された名前のメンバーのEntitySpecを生成する
func (*Master) NewPlayerSpec ¶
func (rw *Master) NewPlayerSpec(name string) (gc.EntitySpec, error)
NewPlayerSpec は指定された名前のプレイヤーのEntitySpecを生成する
func (*Master) NewPropSpec ¶
func (rw *Master) NewPropSpec(name string) (gc.EntitySpec, error)
NewPropSpec は指定された名前の置物のEntitySpecを生成する
func (*Master) NewRecipeSpec ¶
func (rw *Master) NewRecipeSpec(name string) (gc.EntitySpec, error)
NewRecipeSpec は指定された名前のレシピのEntitySpecを生成する
func (*Master) NewTileSpec ¶
func (rw *Master) NewTileSpec(name string, x, y consts.Tile, autoTileIndex *int) (gc.EntitySpec, error)
NewTileSpec は指定された名前のタイルのEntitySpecを生成する 実際にエンティティを生成する際に使用する
func (*Master) NewWeaponSpec ¶
func (rw *Master) NewWeaponSpec(name string) (gc.EntitySpec, error)
NewWeaponSpec は指定された名前の武器のEntitySpecを生成する 武器はマスターデータとして位置なしで生成される
type Raws ¶
type Raws struct {
Items []oapi.Item
Recipes []oapi.Recipe
Members []oapi.Member
CommandTables []oapi.CommandTable
DropTables []oapi.DropTable
ItemTables []oapi.ItemTable
EnemyTables []oapi.EnemyTable
SpriteSheets []oapi.SpriteSheet
Tiles []oapi.Tile
Props []oapi.Prop
Professions []oapi.Profession
}
Raws は全てのローデータを格納する構造体
func DecodeRaws ¶ added in v1.155.0
DecodeRaws はTOML文字列をRaws構造体にデコードする。 未知のキーが含まれる場合はエラーを返す