game/addons/yt_world/views/yt_world_views.xml
李鹏宇 760cd517c2 feat: 规则货币合并+规则类别配置菜单 + 世界数据大报表 + 背景/论坛同步
后端 game_base:
- 货币并入 game.rule(rate/note 字段),新增可配置规则类别 game.rule.category(world/faction/character/currency)
- 新增「配置」菜单与规则类别配置子项
- /game/api/rules 按类别分组返回,/game/api/currencies 保持兼容
- 列表分组取消等级累计(aggregator=False,适配 Odoo18)
- 1.2 pre-migrate 清理旧 game.currency 记录,避免外部ID冲突

前端/官网:
- 世界数据大报表(index.html + .wd-* 样式)
- 背景 5 板块同步、论坛汉化、过渡资源与 views 拆分(announcement/codex/forum/page/rule/story)
2026-07-24 17:58:17 +08:00

186 lines
5.6 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- ============ 玩家世界 ============ -->
<record id="action_yt_world" model="ir.actions.act_window">
<field name="name">玩家世界</field>
<field name="res_model">yt.world</field>
<field name="view_mode">list,form</field>
</record>
<record id="view_yt_world_list" model="ir.ui.view">
<field name="name">yt.world.list</field>
<field name="model">yt.world</field>
<field name="arch" type="xml">
<list>
<field name="name"/>
<field name="user_id"/>
<field name="last_active"/>
</list>
</field>
</record>
<record id="view_yt_world_form" model="ir.ui.view">
<field name="name">yt.world.form</field>
<field name="model">yt.world</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="name"/>
<field name="user_id"/>
<field name="settings" widget="json"/>
<field name="last_active"/>
</group>
<notebook>
<page string="地表地块">
<field name="tile_ids">
<list>
<field name="q"/>
<field name="r"/>
<field name="terrain"/>
<field name="height"/>
<field name="micro_world_id"/>
</list>
</field>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<!-- ============ 地表地块 ============ -->
<record id="action_yt_world_tile" model="ir.actions.act_window">
<field name="name">地表地块</field>
<field name="res_model">yt.world.tile</field>
<field name="view_mode">list,form</field>
</record>
<record id="view_yt_world_tile_list" model="ir.ui.view">
<field name="name">yt.world.tile.list</field>
<field name="model">yt.world.tile</field>
<field name="arch" type="xml">
<list>
<field name="world_id"/>
<field name="q"/>
<field name="r"/>
<field name="terrain"/>
<field name="height"/>
<field name="micro_world_id"/>
<field name="updated_at"/>
</list>
</field>
</record>
<record id="view_yt_world_tile_form" model="ir.ui.view">
<field name="name">yt.world.tile.form</field>
<field name="model">yt.world.tile</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="world_id"/>
<field name="q"/>
<field name="r"/>
<field name="terrain"/>
<field name="height"/>
<field name="flags" widget="json"/>
<field name="micro_world_id"/>
<field name="updated_at"/>
</group>
</sheet>
</form>
</field>
</record>
<!-- ============ 微观世界(每个地块 1:1 ============ -->
<record id="action_yt_world_tile_micro" model="ir.actions.act_window">
<field name="name">微观世界</field>
<field name="res_model">yt.world.tile.micro</field>
<field name="view_mode">list,form</field>
</record>
<record id="view_yt_world_tile_micro_list" model="ir.ui.view">
<field name="name">yt.world.tile.micro.list</field>
<field name="model">yt.world.tile.micro</field>
<field name="arch" type="xml">
<list>
<field name="tile_id"/>
<field name="name"/>
</list>
</field>
</record>
<record id="view_yt_world_tile_micro_form" model="ir.ui.view">
<field name="name">yt.world.tile.micro.form</field>
<field name="model">yt.world.tile.micro</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="tile_id"/>
<field name="name"/>
</group>
</sheet>
</form>
</field>
</record>
<!-- ============ 资源(框架) ============ -->
<record id="action_yt_resource" model="ir.actions.act_window">
<field name="name">资源</field>
<field name="res_model">yt.resource</field>
<field name="view_mode">list,form</field>
</record>
<record id="view_yt_resource_list" model="ir.ui.view">
<field name="name">yt.resource.list</field>
<field name="model">yt.resource</field>
<field name="arch" type="xml">
<list>
<field name="tile_id"/>
<field name="micro_id"/>
<field name="type"/>
<field name="amount"/>
<field name="capacity"/>
</list>
</field>
</record>
<record id="view_yt_resource_form" model="ir.ui.view">
<field name="name">yt.resource.form</field>
<field name="model">yt.resource</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="tile_id"/>
<field name="micro_id"/>
<field name="type"/>
<field name="amount"/>
<field name="capacity"/>
</group>
</sheet>
</form>
</field>
</record>
<!-- ============ 菜单(全部 record 之后,确保 action 已存在) ============ -->
<menuitem id="menu_yt_world_root"
name="宇森世界"
sequence="20"
action="action_yt_world"
web_icon="yt_world,static/description/icon.png"/>
<menuitem id="menu_yt_world_tile" name="地表地块"
parent="menu_yt_world_root" action="action_yt_world_tile" sequence="10"/>
<menuitem id="menu_yt_world_tile_micro" name="微观世界"
parent="menu_yt_world_root" action="action_yt_world_tile_micro" sequence="20"/>
<menuitem id="menu_yt_resource" name="资源"
parent="menu_yt_world_root" action="action_yt_resource" sequence="30"/>
</odoo>