| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- import UIEvents = require("../UIEvents");
- import ScriptWidget = require("../ScriptWidget");
- import DataBinding = require("./DataBinding");
- // inspectors
- import MaterialInspector = require("./MaterialInspector");
- import ModelInspector = require("./ModelInspector");
- import NodeInspector = require("./NodeInspector");
- class InspectorFrame extends ScriptWidget {
- constructor() {
- super();
- this.gravity = Atomic.UI_GRAVITY_TOP_BOTTOM;
- this.load("AtomicEditor/editor/ui/inspectorframe.tb.txt");
- var container = this.getWidget("inspectorcontainer");
- this.subscribeToEvent(UIEvents.EditResource, (data) => this.handleEditResource(data));
- this.subscribeToEvent("EditorActiveNodeChange", (data) => this.handleActiveNodeChange(data));
- }
- handleEditResource(ev: UIEvents.EditorResourceEvent) {
- var path = ev.path;
- var db = ToolCore.getAssetDatabase();
- var asset = db.getAssetByPath(path);
- if (asset) {
- this.inspectAsset(asset);
- }
- }
- handleActiveNodeChange(data) {
- var node = <Atomic.Node> data.node;
- if (!node) {
- return;
- }
- this.inspectNode(node);
- }
- inspectAsset(asset: ToolCore.Asset) {
- if (asset.importerTypeName == "ModelImporter") {
- var container = this.getWidget("inspectorcontainer");
- container.deleteAllChildren();
- var inspector = new ModelInspector();
- container.addChild(inspector);
- inspector.inspect(asset);
- }
- if (asset.importerTypeName == "MaterialImporter") {
- var cache = Atomic.getResourceCache();
- var material = <Atomic.Material> cache.getResource("Material", asset.path);
- if (!material)
- return;
- var container = this.getWidget("inspectorcontainer");
- container.deleteAllChildren();
- var materialInspector = new MaterialInspector();
- container.addChild(inspector);
- materialInspector.inspect(asset, material);
- }
- }
- inspectNode(node: Atomic.Node) {
- if (!node) return;
- var container = this.getWidget("inspectorcontainer");
- container.deleteAllChildren();
- var inspector = new NodeInspector();
- container.addChild(inspector);
- inspector.inspect(node);
- }
- }
- export = InspectorFrame;
|