后端(Odoo addons): - game_base: 迁入 关于 功能(game.page/game.page.item/yusen.asset 模型、page_views/asset_views、6条权限、menu_website_about 左侧应用入口),新增 chat 模块(AI世界聊天: chat.py/chat_api.py/chat_data.xml/chat_views.xml) - yt_world: 合并 game_ai_npc(npc 模型/数据/controller),修复菜单 NotNullViolation - yusen_website: 移除已迁出的 page/asset,背景菜单改挂 game_base.action_game_page - 新增 game_asset_backup 纯数据模块: 备份前端素材到 addons(game_assets/),预置 图鉴(game.codex.entry)9条(过场CG/动物) + 素材管理(yusen.asset)120条(地形/建筑/瓦片/幻灯片/背景/路/UI),按类分 tags 前端(assets + HTML): - 新增 chat.js / game-api.js、chat.html / buildings_default_demo.html - 清理旧 slides/website 冗余文件,更新 GENERATION_RULES.md 与动物九宫格素材
36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
from odoo import models, fields
|
|
|
|
|
|
class YusenAsset(models.Model):
|
|
"""素材管理:存放非图鉴的各类采集素材(立绘 / 场景 / 音乐 / 设定等)。
|
|
|
|
与 game.codex.entry(图鉴)区分:图鉴是世界观条目,素材是实际文件资产。
|
|
"""
|
|
|
|
_name = 'yusen.asset'
|
|
_description = '素材管理(非图鉴采集素材)'
|
|
_order = 'category, name'
|
|
|
|
name = fields.Char(string='名称', required=True, index=True)
|
|
category = fields.Selection([
|
|
('image', '图片'),
|
|
('audio', '音频'),
|
|
('video', '视频'),
|
|
('doc', '文档'),
|
|
('model', '模型'),
|
|
('other', '其他'),
|
|
], string='类别', default='image', required=True, index=True)
|
|
file = fields.Binary(string='文件', attachment=True)
|
|
file_name = fields.Char(string='文件名')
|
|
description = fields.Html(string='说明')
|
|
source = fields.Char(
|
|
string='采集来源',
|
|
help='素材采集 / 出处,如某游戏、某作者、某站点',
|
|
)
|
|
tags = fields.Char(
|
|
string='标签',
|
|
help='多个标签用逗号分隔,如:立绘,角色,场景',
|
|
)
|
|
active = fields.Boolean(string='启用', default=True)
|