Skip to content

Commit

Permalink
feat(script-component): add script component logic(draft); add "add s…
Browse files Browse the repository at this point in the history
…cript event function" logic(draft);
  • Loading branch information
yyc-git committed Apr 3, 2019
1 parent 5185889 commit af77d66
Show file tree
Hide file tree
Showing 27 changed files with 1,685 additions and 149 deletions.
1 change: 1 addition & 0 deletions .cz-config.js
Expand Up @@ -35,6 +35,7 @@ module.exports = {
{ name: "event" },
{ name: "engine" },
{ name: "camera" },
{ name: "script-component" },
{ name: "transform" },
{ name: "state" },
{ name: "component" },
Expand Down
Expand Up @@ -22,7 +22,7 @@ module CustomEventHandler = {
);

let editorState =
ScriptAttributeNodeAssetEditorService.addScriptNodeToAssetTree(
ScriptAttributeNodeAssetEditorService.addScriptAttributeNodeToAssetTree(
targetTreeNode,
ScriptAttributeNodeAssetService.buildNode(
~nodeId=newNodeId,
Expand Down
Expand Up @@ -22,7 +22,7 @@ module CustomEventHandler = {
);

let editorState =
ScriptEventFunctionNodeAssetEditorService.addScriptNodeToAssetTree(
ScriptEventFunctionNodeAssetEditorService.addScriptEventFunctionNodeToAssetTree(
targetTreeNode,
ScriptEventFunctionNodeAssetService.buildNode(
~nodeId=newNodeId,
Expand Down
Expand Up @@ -22,17 +22,6 @@ module CustomEventHandler = {
) => {
let editorState = StateEditorService.getState();

/* let editorState =
switch (materialNodeId) {
| None => editorState
| Some(materialNodeId) =>
MaterialNodeIdMapAssetEditorService.setNodeId(
targetMaterial,
materialNodeId,
editorState,
)
}; */

let editorState =
materialNodeId
|> OptionService.eitherWithNoData(
Expand Down
Expand Up @@ -177,6 +177,66 @@ module Method = {
)
);
};

let renderSelectMaterial =
(languageType, {state, send}: ReasonReact.self('a, 'b, 'c)) =>
<div className="inspector-item">
<div
className="item-header"
title={
LanguageUtils.getInspectorLanguageDataByType(
"material-material-describe",
languageType,
)
}>
{DomHelper.textEl("Material")}
</div>
<div className="item-content">
<div className="inspector-select">
<div
className="select-name" onClick={_e => send(ShowMaterialGroup)}>
{
DomHelper.textEl(
NodeNameAssetLogicService.getMaterialNodeName(
~material=state.currentMaterial,
~type_=state.materialType,
~engineState=StateEngineService.unsafeGetState(),
),
)
}
</div>
<div className="select-img" onClick={_e => send(ShowMaterialGroup)}>
<img src="./public/img/select.png" />
</div>
</div>
</div>
</div>;

let renderMaterialGroup =
(currentSceneTreeNode, {state, send}: ReasonReact.self('a, 'b, 'c)) =>
<div className="select-component-content">
<div className="select-component-item">
<div className="select-item-header">
{DomHelper.textEl("Material")}
</div>
<div className="select-item-body">
{
ReasonReact.array(
showMaterialAssets(
send,
currentSceneTreeNode,
state.currentMaterial,
state.materialType,
),
)
}
</div>
</div>
<div
className="select-component-bg"
onClick={_e => send(HideMaterialGroup)}
/>
</div>;
};

let component = ReasonReact.reducerComponent("MainEditorMaterial");
Expand Down Expand Up @@ -219,65 +279,6 @@ let reducer =
)
};

let _renderSelectMaterial =
(languageType, {state, send}: ReasonReact.self('a, 'b, 'c)) =>
<div className="inspector-item">
<div
className="item-header"
title={
LanguageUtils.getInspectorLanguageDataByType(
"material-material-describe",
languageType,
)
}>
{DomHelper.textEl("Material")}
</div>
<div className="item-content">
<div className="inspector-select">
<div className="select-name" onClick={_e => send(ShowMaterialGroup)}>
{
DomHelper.textEl(
NodeNameAssetLogicService.getMaterialNodeName(
~material=state.currentMaterial,
~type_=state.materialType,
~engineState=StateEngineService.unsafeGetState(),
),
)
}
</div>
<div className="select-img" onClick={_e => send(ShowMaterialGroup)}>
<img src="./public/img/select.png" />
</div>
</div>
</div>
</div>;

let _renderMaterialGroup =
(currentSceneTreeNode, {state, send}: ReasonReact.self('a, 'b, 'c)) =>
<div className="select-component-content">
<div className="select-component-item">
<div className="select-item-header">
{DomHelper.textEl("Material")}
</div>
<div className="select-item-body">
{
ReasonReact.array(
Method.showMaterialAssets(
send,
currentSceneTreeNode,
state.currentMaterial,
state.materialType,
),
)
}
</div>
</div>
<div
className="select-component-bg"
onClick={_e => send(HideMaterialGroup)}
/>
</div>;

let render =
(
(uiState, dispatchFunc),
Expand All @@ -288,10 +289,11 @@ let render =
LanguageEditorService.unsafeGetType |> StateLogicService.getEditorState;

<article key="MainEditorMaterial" className="wonder-inspector-material">
{_renderSelectMaterial(languageType, self)}
{Method.renderSelectMaterial(languageType, self)}
{
state.isShowMaterialGroup ?
_renderMaterialGroup(currentSceneTreeNode, self) : ReasonReact.null
Method.renderMaterialGroup(currentSceneTreeNode, self) :
ReasonReact.null
}
<div className="material-value">
<Select
Expand Down

0 comments on commit af77d66

Please sign in to comment.