mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-09-27 02:36:14 +00:00
update
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
.blackboard {
|
||||
margin: 0px 10px;
|
||||
}
|
||||
|
||||
.blackboard-content {
|
||||
margin: 0px 10px;
|
||||
}
|
||||
|
||||
.section-header {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.btn-create {
|
||||
width: 80%;
|
||||
line-height: 22px;
|
||||
margin: 5px 10% 5px;
|
||||
/* border: dashed 1px */
|
||||
}
|
||||
|
||||
.btn-apply {
|
||||
width: 30%;
|
||||
line-height: 22px;
|
||||
margin: 5px 5% 5px 15%;
|
||||
/* border: dashed 1px */
|
||||
}
|
||||
|
||||
.btn-cancel {
|
||||
width: 30%;
|
||||
line-height: 22px;
|
||||
margin: 5px 12% 5px 5%;
|
||||
/* border: dashed 1px */
|
||||
}
|
||||
|
||||
.line {
|
||||
margin: 5px 0px;
|
||||
border-bottom: solid 2px rgba(128, 128, 128, 0.5);
|
||||
}
|
File diff suppressed because one or more lines are too long
@@ -0,0 +1,47 @@
|
||||
:host {
|
||||
/* display: flex; */
|
||||
overflow-y: scroll;
|
||||
}
|
||||
/* #tree_panel_app {
|
||||
overflow-y: scroll;
|
||||
}
|
||||
#tree_panel {
|
||||
overflow-y: scroll;
|
||||
} */
|
||||
.title {
|
||||
font-size: large;
|
||||
}
|
||||
.version_error {
|
||||
color: red;
|
||||
}
|
||||
.version_waring {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
.div_mg8 {
|
||||
margin: 10px 8px;
|
||||
}
|
||||
.div_mgt8 {
|
||||
margin: 5px 8px 0px;
|
||||
}
|
||||
.div_line {
|
||||
border-bottom: solid 1px rgb(155, 155, 106);
|
||||
margin: 0px 0px 0px 8px;
|
||||
}
|
||||
.div_mg10 {
|
||||
margin: 0px 10px;
|
||||
}
|
||||
.prop-script {
|
||||
padding-top: 5px;
|
||||
margin-top: 2px;
|
||||
align-items: center;
|
||||
/* border-top: dashed 1px rgba(128, 128, 128, 0.2); */
|
||||
}
|
||||
.row_item {
|
||||
margin: 5px 8px;
|
||||
}
|
||||
.label_asset {
|
||||
margin: 5px 8px;
|
||||
min-width: 150px;
|
||||
width: 100%;
|
||||
}
|
@@ -0,0 +1,8 @@
|
||||
#text {
|
||||
color: var(--color-normal-contrast-weakest);
|
||||
margin: auto;
|
||||
width: 180px;
|
||||
}
|
||||
.counter {
|
||||
text-align: center;
|
||||
}
|
@@ -0,0 +1,12 @@
|
||||
<!--
|
||||
* @Author: OreoWang
|
||||
* @Email: ihc523@163.com
|
||||
* @Date: 2022-03-23 10:12:09
|
||||
* @LastEditors: OreoWang
|
||||
* @LastEditTime: 2022-03-23 14:23:33
|
||||
* @Description:
|
||||
-->
|
||||
<div>
|
||||
<div id="default-app"></div>
|
||||
<h1 id="text"></h1>
|
||||
</div>
|
@@ -0,0 +1,12 @@
|
||||
<!--
|
||||
* @Author: OreoWang
|
||||
* @Email: ihc523@163.com
|
||||
* @Date: 2022-03-23 10:12:09
|
||||
* @LastEditors: OreoWang
|
||||
* @LastEditTime: 2022-03-23 14:23:33
|
||||
* @Description:
|
||||
-->
|
||||
<!-- <div> -->
|
||||
<div id="tree_panel_app"></div>
|
||||
<!-- <h1 id="text"></h1> -->
|
||||
<!-- </div> -->
|
@@ -0,0 +1,4 @@
|
||||
<div>
|
||||
<div id="app"></div>
|
||||
<!-- <h1 id="text"></h1> -->
|
||||
</div>
|
@@ -0,0 +1,14 @@
|
||||
|
||||
<div>
|
||||
<!-- <div class="counter">
|
||||
<h2> {{counter}}</h2>
|
||||
<ui-button class="blue"
|
||||
@click="addition">+</ui-button>
|
||||
<ui-button @click="subtraction">-</ui-button>
|
||||
</div> -->
|
||||
<div>
|
||||
<ui-markdown>
|
||||
{{content}}
|
||||
</ui-markdown>
|
||||
</div>
|
||||
</div>
|
@@ -0,0 +1,94 @@
|
||||
<!--
|
||||
* @Author: OreoWang
|
||||
* @Email: ihc523@163.com
|
||||
* @Date: 2022-04-12 10:26:27
|
||||
* @LastEditors: OreoWang
|
||||
* @LastEditTime: 2022-04-12 18:37:17
|
||||
* @Description:
|
||||
-->
|
||||
|
||||
<div id="props-root">
|
||||
<div class="settings" >
|
||||
<div class="content">
|
||||
<div class="wrap">
|
||||
<div class="">
|
||||
<ui-section expand="" :header="getEditingHeader()">
|
||||
<ui-prop class="">
|
||||
<div slot="label" class="row_item prop-label-content">
|
||||
<ui-label tabindex="-1" value="Name" tooltip="Name of the variable"></ui-label>
|
||||
<ui-icon v-if="isEditing" class="prop-icon" value="lock"></ui-icon>
|
||||
</div>
|
||||
<ui-input :readonly="isEditing" class="row_item" slot="content" :value="props.name" v-on:change="onChangeName">
|
||||
</ui-input>
|
||||
</ui-prop>
|
||||
<ui-prop class="">
|
||||
<div slot="label" class="row_item prop-label-content">
|
||||
<ui-label tabindex="-1" value="Type" tooltip="Type of the variable"></ui-label>
|
||||
<ui-icon v-if="isEditing" class="prop-icon" value="lock"></ui-icon>
|
||||
</div>
|
||||
<ui-select :readonly="isEditing" class="row_item" slot="content" v-on:change="onSelectType($event)" v-bind:value="props.type">
|
||||
<template v-for="(ctype, ckey) in getBlackboardAllType()">
|
||||
<option :value=ctype>{{ctype}}</option>
|
||||
</template>
|
||||
</ui-select>
|
||||
</ui-prop>
|
||||
<ui-prop class="">
|
||||
<div slot="label" class="row_item">
|
||||
<ui-label tabindex="-1" value="Description" tooltip="Description of the variable"></ui-label>
|
||||
</div>
|
||||
<ui-textarea class="row_item" slot="content" placeholder="Description of the variable" :value="props.tooltip" v-on:change="onChangeDescription">
|
||||
</ui-textarea>
|
||||
</ui-prop>
|
||||
<div v-if="isEditing">
|
||||
<ui-button class="btn-apply" @confirm="onApplyEditing()">apply</ui-button> <ui-button class="btn-cancel" @confirm="onCancelEditing()">cancel</ui-button>
|
||||
</div>
|
||||
<div v-else>
|
||||
<ui-button class="btn-create" @confirm="onAddVariable()">create</ui-button>
|
||||
</div>
|
||||
|
||||
<div class="line"></div>
|
||||
|
||||
</ui-section>
|
||||
|
||||
|
||||
<ui-section class="section-header" expand="" header="Shared Variables">
|
||||
<!-- <div class="blackboard-content"> -->
|
||||
<template v-for="(item, key) in getAllVariable()">
|
||||
<ui-prop class="">
|
||||
<div slot="label" class="row_item">
|
||||
<ui-label tabindex="-1" :value="item.name" :tooltip="getVariableTooltip(item)"></ui-label>
|
||||
</div>
|
||||
|
||||
<div slot="content" class="prop-content">
|
||||
<ui-input v-if="isTypeString(item.value)" class="row_item prop-mr2" v-on:change="onValueChange($event, key, item)" v-bind:value="item.value.default">
|
||||
</ui-input>
|
||||
|
||||
<ui-num-input v-if="isTypeNumber(item.value)" class="row_item prop-mr2" slot="content" v-on:change="onValueChange($event, key, item)" v-bind:value="item.value.default">
|
||||
</ui-num-input>
|
||||
|
||||
<ui-checkbox v-if="isTypeBoolean(item.value)" class="row_item prop-mr2" slot="content" v-on:change="onValueChange($event, key, item)" v-bind:value="item.value.default">
|
||||
</ui-checkbox>
|
||||
|
||||
<ui-node v-if="isTypeNode(item.value)" class="row_item prop-mr2" slot="content" v-on:change="onNodeValueChange($event, key, item)" v-bind:value="getSharedNodeUUID(item.value)" type="cc.Node" droppable="cc.Node" typename="Node" tabindex="-1">
|
||||
</ui-node>
|
||||
|
||||
<span v-if="isTypeBoolean(item.value)" class="prop-span"></span>
|
||||
<!-- <div v-if="isTypeBoolean(item.value)">
|
||||
</div> -->
|
||||
|
||||
<ui-button class="transparent prop-button" tooltip="Edit" tabindex="-1" @confirm="onEditVariable(item)">
|
||||
<ui-icon class="prop-icon" value="edit"></ui-icon>
|
||||
</ui-button>
|
||||
<ui-button class="transparent prop-button" tooltip="Delete" tabindex="-1" @confirm="onDelVariable(item)">
|
||||
<ui-icon class="prop-icon" value="del"></ui-icon>
|
||||
</ui-button>
|
||||
</div>
|
||||
</ui-prop>
|
||||
</template>
|
||||
<!-- </div> -->
|
||||
</ui-section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@@ -0,0 +1,178 @@
|
||||
<!--
|
||||
* @Author: OreoWang
|
||||
* @Email: ihc523@163.com
|
||||
* @Date: 2022-03-23 10:12:09
|
||||
* @LastEditors: OreoWang
|
||||
* @LastEditTime: 2022-06-07 17:19:26
|
||||
* @Description:
|
||||
-->
|
||||
<div id="props-root">
|
||||
<div class="settings" >
|
||||
<div class="content">
|
||||
<div class="wrap">
|
||||
<ui-section expand="" header="Inspector">
|
||||
<ui-prop class="prop-script" v-if="!isRootNode()">
|
||||
<div slot="label" class="row_item prop-label-content">
|
||||
<ui-label tabindex="-1" value="Script" tooltip="Script"></ui-label>
|
||||
<ui-icon class="prop-icon" value="lock"></ui-icon>
|
||||
</div>
|
||||
<ui-asset class="row_item" slot="content" v-bind:value="getScriptUUID(props.uuid)"
|
||||
droppable="cc.Script" readonly tabindex="-1">
|
||||
</ui-asset>
|
||||
</ui-prop>
|
||||
<ui-prop class="" v-if="!isRootNode()">
|
||||
<div slot="label" class="row_item prop-label-content">
|
||||
<ui-label tabindex="-1" value="Type" tooltip="Type"></ui-label>
|
||||
<ui-icon class="prop-icon" value="lock"></ui-icon>
|
||||
</div>
|
||||
<ui-input class="row_item" slot="content" v-bind:value="props.group" :tooltip="props.group" readonly>
|
||||
</ui-input>
|
||||
</ui-prop>
|
||||
<ui-prop class="" v-if="!isRootNode()">
|
||||
<div slot="label" class="row_item prop-label-content">
|
||||
<ui-label tabindex="-1" value="Component" tooltip="Component"></ui-label>
|
||||
<ui-icon class="prop-icon" value="lock"></ui-icon>
|
||||
</div>
|
||||
<ui-input class="row_item" slot="content" v-bind:value="props.name" :tooltip="props.name" readonly>
|
||||
</ui-input>
|
||||
</ui-prop>
|
||||
<ui-prop class="prop-script" v-if="isRootNode()">
|
||||
<div slot="label" class="row_item prop-label-content">
|
||||
<ui-label tabindex="-1" value="TargetNode" tooltip="Target Node"></ui-label>
|
||||
<ui-icon class="prop-icon" value="lock"></ui-icon>
|
||||
</div>
|
||||
<!-- <ui-input class="row_item" slot="content" v-bind:value="props.name" :tooltip="props.name" readonly>
|
||||
</ui-input> -->
|
||||
<ui-node readonly class="row_item" slot="content" v-bind:value="getRootNodeUUID()" type="cc.Node" droppable="cc.Node" typename="Node" tabindex="-1">
|
||||
</ui-node>
|
||||
</ui-prop>
|
||||
<ui-prop class="" v-if="!isRootNode()">
|
||||
<div slot="label" class="row_item prop-label-content">
|
||||
<ui-label tabindex="-1" value="Tag" tooltip="Tag in tree"></ui-label>
|
||||
<!-- <ui-icon v-if="!isRootNode()" class="prop-icon" value="refresh"></ui-icon> -->
|
||||
<ui-button v-if="!isRootNode()" class="transparent prop-button" tooltip="Refresh Tag" tabindex="-1" @confirm="onRefreshTag()">
|
||||
<ui-icon class="prop-icon" value="refresh"></ui-icon>
|
||||
</ui-button>
|
||||
</div>
|
||||
<ui-input class="row_item" slot="content" v-on:change="onChangeTag" v-bind:value="props.tag" :tooltip="props.tag" :readonly="isRootNode()">
|
||||
</ui-input>
|
||||
</ui-prop>
|
||||
<ui-prop class="">
|
||||
<div slot="label" class="row_item prop-label-content">
|
||||
<ui-label tabindex="-1" value="Title" tooltip="Title"></ui-label>
|
||||
<ui-icon v-if="isRootNode()" class="prop-icon" value="lock"></ui-icon>
|
||||
</div>
|
||||
<ui-input class="row_item" slot="content" v-on:change="onChangeTitle" v-bind:value="props.title" :tooltip="props.title" :readonly="isRootNode()">
|
||||
</ui-input>
|
||||
</ui-prop>
|
||||
|
||||
<div v-show="showProps()">
|
||||
<div class="group-line"></div>
|
||||
<div v-for="(value, key) in props.properties" :key="key">
|
||||
<ui-prop class="" v-show="showOneProperty(key, value)">
|
||||
<div slot="label" class="row_item prop-label-content">
|
||||
<ui-label tabindex="-1" :value="key" :tooltip="getPropertyTooltip(key, value)"></ui-label>
|
||||
<div v-if="isTypeBlackboard(value)">
|
||||
<ui-icon class="prop-icon" value="edit" tooltip="Shared Variable"></ui-icon>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="isTypeDynamic(value)" slot="content" class="prop=content">
|
||||
<ui-input v-if="isDynamicTypeString(value)" class="row_item" slot="content" v-on:change="onValueChange($event, key, value)" v-bind:value="value.default">
|
||||
</ui-input>
|
||||
<ui-num-input v-if="isDynamicTypeNumber(value)" class="row_item" slot="content" v-on:change="onValueChange($event, key, value)" v-bind:value="value.default">
|
||||
</ui-num-input>
|
||||
<ui-checkbox v-if="isDynamicTypeBoolean(value)" class="row_item" slot="content" v-on:change="onValueChange($event, key, value)" v-bind:value="value.default">
|
||||
</ui-checkbox>
|
||||
<ui-node v-if="isDynamicTypeNode(value)" class="row_item" slot="content" v-on:change="onDynamicNodeValueChange($event, key, value)" v-bind:value="getDynamicNodeUUID(value)" type="cc.Node" droppable="cc.Node" typename="Node" tabindex="-1">
|
||||
</ui-node>
|
||||
</div>
|
||||
<div v-else-if="isTypeEnum(value)" slot="content" class="prop=content">
|
||||
<ui-select class="row_item" v-on:change="onEnumValueChange($event, key, value)" v-bind:value="value.default">
|
||||
<option v-for="(cvalue, ckey) in getEnumVariableList(key, value)" :key="ckey" :value="cvalue">
|
||||
{{ckey}}
|
||||
</option>
|
||||
</ui-select>
|
||||
</div>
|
||||
<div v-else-if="isTypeBlackboard(value)" slot="content" class="prop=content">
|
||||
<ui-select class="row_item" v-on:change="onBlackboardValueChange($event, key, value)" v-bind:value="value.default">
|
||||
<option v-for="(item, ckey) in getBlackboardVariableList(value)" :key="ckey" :value="item.name">
|
||||
{{item.name}}
|
||||
</option>
|
||||
</ui-select>
|
||||
</div>
|
||||
<div v-else-if="isTypeVariable(value)" slot="content" class="prop=content">
|
||||
<ui-select class="row_item" v-on:change="onSharedVariableChange($event, key, value)" v-bind:value="value.default">
|
||||
<option v-for="(item, ckey) in getAllVariableList(value)" :key="ckey" :value="item.name">
|
||||
{{item.name}}
|
||||
</option>
|
||||
</ui-select>
|
||||
</div>
|
||||
<div v-else slot="content">
|
||||
<ui-input v-if="isTypeString(value)" class="row_item" slot="content" v-on:change="onValueChange($event, key, value)" v-bind:value="value.default">
|
||||
</ui-input>
|
||||
<ui-num-input v-if="isTypeNumber(value)" class="row_item" slot="content" v-on:change="onValueChange($event, key, value)" v-bind:value="value.default">
|
||||
</ui-num-input>
|
||||
<ui-checkbox v-if="isTypeBoolean(value)" class="row_item" slot="content" v-on:change="onValueChange($event, key, value)" v-bind:value="value.default">
|
||||
</ui-checkbox>
|
||||
<ui-node v-if="isTypeNode(value)" class="row_item" slot="content" v-on:change="onNodeValueChange($event, key, value)" v-bind:value="getPropertyNodeUUID(value)" type="cc.Node" droppable="cc.Node" typename="Node" tabindex="-1">
|
||||
</ui-node>
|
||||
</div>
|
||||
</ui-prop>
|
||||
</div>
|
||||
</div>
|
||||
</ui-section>
|
||||
<ui-section expand="" header="Delegate" v-if="!isRootNode()&&showEvent()" class="section-mt10">
|
||||
<div v-for="(event, key) in props.events" :key="key">
|
||||
<ui-section expand="" :header="key" class="config section-mt10">
|
||||
<div class="">
|
||||
<div class="">
|
||||
<ui-prop class="prop-node">
|
||||
<div slot="label" class="row_item">
|
||||
<ui-label tabindex="-1" value="Target" tooltip="Target"></ui-label>
|
||||
</div>
|
||||
<ui-node class="row_item" slot="content" v-bind:value="getDelegateNodeUUID(event.node)" v-on:change="onDelegateNodeChange($event, key)"
|
||||
droppable="cc.Node" :tooltip="event.node.name" type="cc.Node" typename="Node" tabindex="-1">
|
||||
</ui-node>
|
||||
</ui-prop>
|
||||
|
||||
<ui-prop class="">
|
||||
<div slot="label" class="row_item">
|
||||
<ui-label tabindex="-1" value="Component" tooltip="Component"></ui-label>
|
||||
</div>
|
||||
<ui-select class="row_item" slot="content" v-bind:value="event.component.uuid" v-on:change="onComponentChange($event, key)"
|
||||
:tooltip="event.component.name">
|
||||
<option v-for="(component, ckey) in eventData[key].components" :key="ckey" :value="component.uuid">
|
||||
{{component.name}}
|
||||
</option>
|
||||
</ui-select>
|
||||
</ui-prop>
|
||||
|
||||
<ui-prop class="">
|
||||
<div slot="label" class="row_item">
|
||||
<ui-label tabindex="-1" value="Method" tooltip="Method"></ui-label>
|
||||
</div>
|
||||
<ui-select class="row_item" slot="content" v-bind:value="event.method" v-on:change="onMethodChange($event, key)"
|
||||
:tooltip="event.method">
|
||||
<option v-for="(method, key) in eventData[key].methods" :key="method" :value="method">
|
||||
{{method}}
|
||||
</option>
|
||||
</ui-select>
|
||||
</ui-prop>
|
||||
</div>
|
||||
<ui-prop class="">
|
||||
<div slot="label" class="row_item">
|
||||
<ui-label tabindex="-1" value="Data" tooltip="Arguments(string)"></ui-label>
|
||||
</div>
|
||||
<ui-input class="row_item" slot="content" v-on:change="onDataChange($event, key)" v-bind:value="event.data">
|
||||
</ui-input>
|
||||
</ui-prop>
|
||||
</div>
|
||||
</ui-section>
|
||||
</div>
|
||||
|
||||
</ui-section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@@ -0,0 +1,53 @@
|
||||
<!--
|
||||
* @Author: OreoWang
|
||||
* @Email: ihc523@163.com
|
||||
* @Date: 2022-05-23 09:39:48
|
||||
* @LastEditors: OreoWang
|
||||
* @LastEditTime: 2022-06-06 15:48:17
|
||||
* @Description:
|
||||
-->
|
||||
|
||||
<div id="tree_panel">
|
||||
<div class="div_mgt8">
|
||||
<!-- <ui-button class="yellow" @click="onSyncAllData">
|
||||
同步
|
||||
</ui-button> -->
|
||||
</div>
|
||||
<div class="div_mg8">
|
||||
<ui-label class="title" :value="getVersion()">
|
||||
|
||||
</ui-label>
|
||||
<br>
|
||||
<ui-label class="" value="数据版本为 红色 表示版本不兼容,需要手动更新">
|
||||
|
||||
</ui-label>
|
||||
</div>
|
||||
<div class="div_line">
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<div v-for="(item, key) in list" :key="key">
|
||||
<ui-prop class="prop-script">
|
||||
<ui-asset class="label_asset" slot="label" v-bind:value="item.uuid" droppable="cc.JsonAsset" readonly>
|
||||
</ui-asset>
|
||||
<ui-input class="" slot="content" v-bind:value="item.url" readonly>
|
||||
</ui-input>
|
||||
</ui-prop>
|
||||
<div class="div_mg10">
|
||||
<ui-label value="数据版本">
|
||||
|
||||
</ui-label>
|
||||
|
||||
<ui-label :class="getVersionColor(item)" v-bind:value="item.version">
|
||||
|
||||
</ui-label>
|
||||
<!-- <ui-label value="待更新">
|
||||
|
||||
</ui-label> -->
|
||||
</div>
|
||||
<div class="div_line">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@@ -0,0 +1,14 @@
|
||||
|
||||
<div>
|
||||
<!-- <div class="counter">
|
||||
<h2> {{counter}}</h2>
|
||||
<ui-button class="blue"
|
||||
@click="addition">+</ui-button>
|
||||
<ui-button @click="subtraction">-</ui-button>
|
||||
</div> -->
|
||||
<div>
|
||||
<ui-markdown>
|
||||
{{content}}
|
||||
</ui-markdown>
|
||||
</div>
|
||||
</div>
|
Reference in New Issue
Block a user