Optmi behavior list style #31
@ -9,93 +9,106 @@ div.behavior-list {
|
||||
|
||||
div.behavior-item {
|
||||
margin: 5px;
|
||||
height: $behavior-item-height;
|
||||
height: 45px;
|
||||
user-select: none;
|
||||
border-radius: 3px;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
|
||||
div.behavior-color-view {
|
||||
height: $behavior-item-height;
|
||||
width: 3px;
|
||||
min-width: 3px;
|
||||
border-radius: 3px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
div.behavior-color-view {
|
||||
height: 0;
|
||||
width: 100%;
|
||||
|
||||
div.behavior-icon-view {
|
||||
height: $behavior-item-height;
|
||||
min-width: $behavior-item-height;
|
||||
width: $behavior-item-height;
|
||||
user-select: none;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
div {
|
||||
// position: relative;
|
||||
// top: 5px;
|
||||
// left: 5px;
|
||||
width: 0;
|
||||
height: 0;
|
||||
// border-left: 8px solid red;
|
||||
border-bottom: 12px solid transparent;
|
||||
// border-radius: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
i {
|
||||
font-size: 25px;
|
||||
}
|
||||
}
|
||||
div.behavior-item-root {
|
||||
display: flex;
|
||||
|
||||
div.behavior-content-view {
|
||||
width: calc( 100% - 68px );
|
||||
max-width: 100px;
|
||||
height: $behavior-item-height;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
div.behavior-icon-view {
|
||||
height: $behavior-item-height;
|
||||
min-width: $behavior-item-height;
|
||||
width: $behavior-item-height;
|
||||
user-select: none;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
div.title-view {
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
}
|
||||
i {
|
||||
font-size: 25px;
|
||||
}
|
||||
}
|
||||
|
||||
div.info-view {
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
opacity: .75;
|
||||
}
|
||||
}
|
||||
div.behavior-content-view {
|
||||
width: calc( 100% - 50px );
|
||||
padding-right: 5px;
|
||||
max-width: 125px;
|
||||
height: $behavior-item-height;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
|
||||
div.behavior-action-view {
|
||||
height: $behavior-item-height;
|
||||
min-width: 20px;
|
||||
width: 20px;
|
||||
flex-shrink: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-content: center;
|
||||
align-items: center;
|
||||
div.title-view {
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div.behavior-action-button {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
user-select: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
div.info-view {
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
opacity: .75;
|
||||
}
|
||||
}
|
||||
|
||||
div.behavior-action-button.hover-red:hover i {
|
||||
color: $lt-red;
|
||||
}
|
||||
div.behavior-action-view {
|
||||
height: $behavior-item-height;
|
||||
min-width: 20px;
|
||||
width: 20px;
|
||||
flex-shrink: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-content: center;
|
||||
align-items: center;
|
||||
|
||||
div.behavior-action-button.hover-blue:hover i {
|
||||
color: $lt-blue;
|
||||
}
|
||||
}
|
||||
div.behavior-action-button {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
user-select: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div.behavior-action-button.hover-red:hover i {
|
||||
color: $lt-red;
|
||||
}
|
||||
|
||||
div.behavior-action-button.hover-blue:hover i {
|
||||
color: $lt-blue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div.add-button {
|
||||
width: 45px;
|
||||
height: 45px;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
@ -88,6 +88,7 @@ class BehaviorList extends Component<IBehaviorListProps & IMixinSettingProps> {
|
||||
name = behavior.name;
|
||||
color = behavior.color;
|
||||
needLocal = false;
|
||||
info = behavior.behaviorName;
|
||||
}
|
||||
|
||||
if (behavior instanceof BehaviorRecorder) {
|
||||
@ -111,20 +112,21 @@ class BehaviorList extends Component<IBehaviorListProps & IMixinSettingProps> {
|
||||
this.isActionClick = false;
|
||||
}}
|
||||
>
|
||||
<div
|
||||
className="behavior-color-view"
|
||||
style={{ backgroundColor: color }}
|
||||
/>
|
||||
<div className="behavior-icon-view">
|
||||
<Icon iconName={icon}/>
|
||||
</div>
|
||||
<div className="behavior-content-view">
|
||||
{this.renderTerm(behavior, name, "title-view", needLocal)}
|
||||
{this.renderTerm(behavior, info, "info-view", true)}
|
||||
</div>
|
||||
<div className="behavior-action-view">
|
||||
{this.renderActionButton(behavior)}
|
||||
</div>
|
||||
<div className="behavior-color-view">
|
||||
<div style={{ borderLeft: `12px solid ${color}` }}/>
|
||||
</div>
|
||||
<div className="behavior-item-root">
|
||||
<div className="behavior-icon-view">
|
||||
<Icon iconName={icon}/>
|
||||
</div>
|
||||
<div className="behavior-content-view">
|
||||
{this.renderTerm(behavior, name, "title-view", needLocal)}
|
||||
{this.renderTerm(behavior, info, "info-view", true)}
|
||||
</div>
|
||||
{/* <div className="behavior-action-view">
|
||||
{this.renderActionButton(behavior)}
|
||||
</div> */}
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
|
@ -69,13 +69,13 @@ class Actuator extends Emitter<IActuatorEvent> {
|
||||
// 丢帧判定
|
||||
if (durTime > 0.1) {
|
||||
console.log("Actuator: Ticker dur time error. dropping...")
|
||||
}
|
||||
|
||||
this.alignTimer += durTime;
|
||||
if (this.alignTimer > (1 / this.fps)) {
|
||||
this.model.update(this.alignTimer * this.speed);
|
||||
this.emit("loop", this.alignTimer);
|
||||
this.alignTimer = 0;
|
||||
} else {
|
||||
this.alignTimer += durTime;
|
||||
if (this.alignTimer > (1 / this.fps)) {
|
||||
this.model.update(this.alignTimer * this.speed);
|
||||
this.emit("loop", this.alignTimer);
|
||||
this.alignTimer = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -56,11 +56,11 @@ class SimulatorWeb extends Component {
|
||||
this.status.newLabel().name = "New Label";
|
||||
this.status.newLabel().name = "Test Label 01";
|
||||
let dynamic = this.status.model.addBehavior(AllBehaviors[0]);
|
||||
dynamic.name = "dynamic";
|
||||
dynamic.name = "Dynamic"; dynamic.color = "rgb(250, 200, 80)";
|
||||
let brownian = this.status.model.addBehavior(AllBehaviors[1]);
|
||||
brownian.name = "brownian";
|
||||
brownian.name = "Brownian"; brownian.color = "rgb(200, 80, 250)";
|
||||
let boundary = this.status.model.addBehavior(AllBehaviors[2]);
|
||||
boundary.name = "boundary";
|
||||
boundary.name = "Boundary"; boundary.color = "rgb(80, 200, 250)";
|
||||
boundary.parameter.range = this.status.model.allRangeLabel;
|
||||
group.addBehavior(dynamic);
|
||||
group.addBehavior(brownian);
|
||||
|
Loading…
Reference in New Issue
Block a user