Fyrox Inventory

アイテム・装備・ルート — Fyrox Rustゲームエンジン向けの完全なインベントリシステム。5段階のレアリティ、10種類のカテゴリ、スタック、装備スロット、ドラッグ&ドロップUI。

Fyrox 1.0+ Rust 1.87+ MIT(Free) 5段階のレアリティ 10種類のカテゴリ 8装備スロット
itch.ioでProを入手 GitHub (Free版)

主要機能

📦

ItemDefinition

名前、説明、アイコンパス、レアリティ、カテゴリ、重量、価値、最大スタック数、カスタムタグでアイテムを定義。完全なserdeシリアライズ対応。

🎨

5段階のレアリティ

コモン、アンコモン、レア、エピック、レジェンダリー。各レアリティにはUI表示用の固有カラーがあり、ルートテーブルの確率制御にも活用できます。

🏷️

10種類のカテゴリ

その他、武器、防具、兜、盾、靴、アクセサリ、消耗品、素材、クエストアイテム。カテゴリは装備スロットのバリデーションを制御します。

📚

ItemStack

同一アイテムを設定可能な上限までスタック。スタックの分割、部分スタックの統合、名前・レアリティ・カテゴリ・価値によるインベントリのソートが可能。

🎒

固定サイズインベントリ

固定スロット数でインベントリを作成。スタック、分割、統合、ソートの全操作に対応。アイテムID、カテゴリ、タグによるクエリが可能。

⚔️

装備システム

8つの型付きスロット:メインハンド、オフハンド、頭、胴体、脚、足、アクセサリ2枠。カテゴリバリデーション付きの装備・解除、自動スワップ対応。

🗃️

ItemDatabase(.itemdb)

Fyroxリソースとしての中央アイテムレジストリ。RONファイルから読み込み、IDでアイテムを検索。シーン内のすべてのインベントリインスタンスで共有。

🎮

スクリプト

インベントリを所有するエンティティ用のInventoryHolderスクリプト。インタラクション範囲と拾得時自動スタック付きのItemPickupスクリプト。

レアリティ・カテゴリ一覧

レアリティ

段階カラー
コモングレー (#94a3b8)
アンコモングリーン (#22c55e)
レアブルー (#3b82f6)
エピックパープル (#a855f7)
レジェンダリーオレンジ (#f97316)

アイテムカテゴリ

カテゴリ装備スロット
武器メインハンド
オフハンド
防具胴体
アクセサリアクセサリ (x2)
消耗品--
素材--
クエストアイテム--
その他--

Free版 vs Pro版

Free MIT

  • ItemDefinition(名前、説明、アイコン、レアリティ、カテゴリ、重量、価値、タグ)
  • 設定可能な上限付きItemStack
  • スタック・分割・統合・ソート対応の固定サイズインベントリ
  • 装備システム(カテゴリバリデーション付き8スロット)
  • ItemDatabaseリソース(.itemdbファイル)
  • InventoryHolderスクリプト
  • 自動スタック付きItemPickupスクリプト
  • 完全なserdeシリアライズ

Pro 有料

  • Free版のすべてを含む
  • ドラッグ&ドロップインベントリUI
  • レアリティカラー枠付きItemSlotウィジェット
  • InventoryPanelグリッドレイアウト
  • レアリティカラーとステータス付きアイテムツールチップ
  • ItemDatabaseエディタGUI(ビジュアルで追加・編集・削除)
  • fyrox-savegame統合例
  • 優先サポート

クイックスタート例

use fyrox_inventory::*;

// アイテムを定義
let sword = ItemDefinition {
    id: "iron_sword".into(),
    name: "Iron Sword".into(),
    description: "A sturdy blade forged from iron.".into(),
    icon: "data/icons/iron_sword.png".into(),
    rarity: Rarity::Uncommon,
    category: Category::Weapon,
    weight: 3.5,
    value: 150,
    max_stack: 1,
    tags: vec!["melee".into(), "metal".into()],
};

// データベースに登録
let mut db = ItemDatabase::new();
db.register(sword);

// インベントリ(20スロット)を作成してアイテムを追加
let mut inventory = Inventory::new(20);
inventory.add_item("iron_sword", 1, &db);    // 剣を1本追加
inventory.add_item("health_potion", 5, &db); // スタック可能

// スロットに装備
let mut equipment = Equipment::new();
equipment.equip(EquipSlot::MainHand, "iron_sword", &mut inventory, &db);

// レアリティでソート(レジェンダリーが先頭)
inventory.sort_by_rarity(&db);

よくある質問

Fyrox Inventoryとは何ですか?

Fyrox Rustゲームエンジン向けの完全なアイテム・装備システムプラグインです。アイテム定義、スタック、インベントリ、装備スロット、ワールドピックアップを処理します。Pro版ではビジュアルなドラッグ&ドロップUIとエディタツールが追加されます。

レアリティとカテゴリはいくつありますか?

レアリティは5段階(コモン、アンコモン、レア、エピック、レジェンダリー)、アイテムカテゴリは10種類(その他、武器、防具、兜、盾、靴、アクセサリ、消耗品、素材、クエストアイテム)です。カスタムタグによりカテゴリを超えた追加フィルタリングも可能です。

装備システムはどのように動作しますか?

Equipmentは8つの型付きスロットを提供します:メインハンド、オフハンド、頭、胴体、脚、足、アクセサリ2枠。装備前にカテゴリによるバリデーションが行われます。装備済みスロットへのスワップでは、前のアイテムが自動的にインベントリに返却されます。

インベントリデータを保存・読み込みできますか?

はい。すべての型がserde Serialize/Deserializeを実装しているため、任意のフォーマット(JSON、RON、bincodeなど)で永続化できます。Pro版にはfyrox-savegame統合例が含まれ、圧縮・暗号化にも対応しています。

.itemdbリソースとは何ですか?

ItemDatabaseは.itemdb(RON)ファイルから読み込まれるFyroxリソースです。ゲーム内のすべてのアイテム定義の中央レジストリとして機能します。すべてのインベントリインスタンスが同じデータベースを参照し、一貫性を確保します。

数分でアイテムシステムを構築

インベントリ、装備、ルートの完全システム — 定義からドラッグ&ドロップUIまで。

itch.ioでProを入手 GitHub (Free版) すべてのプラグイン