Skip to content

Commit

Permalink
Merge pull request #2779 from entrylabs/develop
Browse files Browse the repository at this point in the history
운영반영
  • Loading branch information
kimorkim authored Jun 25, 2024
2 parents ff4000d + edb5380 commit e353696
Show file tree
Hide file tree
Showing 15 changed files with 7,424 additions and 930 deletions.
45 changes: 27 additions & 18 deletions extern/lang/en.js
Original file line number Diff line number Diff line change
Expand Up @@ -596,10 +596,10 @@ Lang.Blocks = {
CALC_timer_visible_hide: 'Hide',
CALC_timer_visible_2: 'Timer',
FUNC: 'Function',
color: 'Color',
brightness: 'Brightness',
color: 'color',
brightness: 'brightness',
opacity: 'Opacity',
transparency: 'Transparency',
transparency: 'transparency',
JUDGEMENT_boolean_and: 'AND',
JUDGEMENT_boolean_or: 'OR',
JUDGEMENT_true: 'True',
Expand Down Expand Up @@ -634,7 +634,7 @@ Lang.Blocks = {
think: 'Think',
block_hi: 'Hi',
LOOKS_change_shape_next: 'next',
LOOKS_change_shape_prev: 'prev',
LOOKS_change_shape_prev: 'previous',
LOOKS_change_object_index_sub_1: 'front',
LOOKS_change_object_index_sub_2: 'forward',
LOOKS_change_object_index_sub_3: 'backward',
Expand Down Expand Up @@ -1696,6 +1696,8 @@ Lang.Blocks = {
location_jeollanam_damyang: 'Damyang-gun',
location_jeollanam_gokseong: 'Gokseong-gun',
location_jeollanam_gurye: 'Gurye-gun',
width: 'width',
height: 'height',
};
Lang.video_body_coord_params = {
left_eye: 'left eye',
Expand Down Expand Up @@ -5628,22 +5630,27 @@ Lang.Helper = {
'Runs the next block after the object speaks the input content for the input seconds.',
dialog: 'Runs the next block after the object speaks the input content.',
remove_dialog: 'Removes the speech bubble spoken and thought by the object.',
change_to_some_shape: 'Changes the object into the selected shape.',
change_to_next_shape: 'Changes the object into the next shape.',
change_to_some_shape:
'Changes the object to the selected shape.\nYou can select shape by entering shape name or shape number.',
change_to_next_shape: 'Changes the object to the next/previous shape.',
set_effect_volume: 'Applies the selected effect to the object by the input value.',
set_effect_amount: 'Applies the selected effect to the object by the input value.',
set_effect: 'Sets the selected effect to the object by the input value.',
set_entity_effect: 'Sets the selected effect to the object by the input value.',
add_effect_amount: 'Applies the selected effect to the object by the input value.',
change_effect_amount: 'Sets the selected effect to the object by the input value.',
add_effect_amount:
'Applies the selected effect to the object by the input value.\n\n- Color: 1~100.\n- Brightness: It can be set it in the range of -100 to 100.\n- Transparency: It can be set in the range of 0 to 100.',
change_effect_amount:
'Sets the selected effect to the object by the input value.\n\n- Color: 1~100.\n- Brightness: It can be set it in the range of -100 to 100.\n- Transparency: It can be set in the range of 0 to 100.',
change_scale_percent: 'Changes the size of the object by the input value.',
set_scale_percent: 'Sets the size of the object to the input value.',
change_scale_size: 'Changes the size of the object by the input value.',
set_scale_size: 'Sets the size of the object to the input value.',
stretch_scale_size: 'Stretches the width/length of the object by the input value.',
reset_scale_size: 'Resets the object to its original size.',
flip_x: 'Flips the object vertically. ',
flip_y: 'Flips the object horizontally.',
change_object_index:
'Bring to front : Bring object to the very front.\nBring one front : Bring object one layer front.\nSend one back : Send object one layer back.\nSend to back : Send object the very back.',
'Brings objects forward or backward on the screen.\n- Front : Bring object to the very front.\n- Forward : Bring object one layer front.\n- Backward : Send object one layer back.\n- Back : Send object the very back.',
set_object_order: 'Shows the object in the set order.',
brush_stamp: 'Clones the object on stage like a stamp.',
start_drawing: 'Starts drawing along the path of the object.',
Expand Down Expand Up @@ -6974,30 +6981,32 @@ Lang.template = {
True: '%1 ',
False: '%1 ',
boolean_basic_operator: '%1 %2 %3',
show: 'show %1',
hide: 'hide %1',
dialog_time: 'Say %1 for %2 secs %3 %4',
dialog: 'Say %1 %2 %3',
show: 'Show shape %1',
hide: 'Hide shape %1',
dialog_time: '%3 %1 for %2 second(s) %4',
dialog: '%2 %1 %3',
remove_dialog: 'Remove speech bubble %1',
change_to_nth_shape: 'Change shape to %1 %2',
change_to_next_shape: 'Change to %1 shape %2',
set_effect_volume: 'Change %1 effect by %2 %3',
set_effect: 'Set %1 effect to %2 %3',
erase_all_effects: 'Erase all effects %1',
erase_all_effects: 'Remove all effects %1',
change_scale_percent: 'Change scale by %1 %2',
set_scale_percent: 'Set scale to %1 %2',
change_scale_size: 'Change scale by %1 %2',
set_scale_size: 'Set scale to %1 %2',
change_scale_size: 'Change size by %1 %2',
set_scale_size: 'Set size to %1 %2',
stretch_scale_size: 'Stretch %1 by %2 %3',
reset_scale_size: 'Reset size %1',
flip_y: 'Flip horizontally %1',
flip_x: 'Flip vertically %1',
set_object_order: 'go to %1 th layer %2',
get_pictures: '%1 ',
change_to_some_shape: 'Change shape to %1 %2',
add_effect_amount: 'Change %1 effect by %2 %3',
add_effect_amount: 'Apply %1 effect by %2 %3',
change_effect_amount: 'Set %1 effect to %2 %3',
set_effect_amount: 'Change %1 effect by %2 %3',
set_entity_effect: 'Set %1 effect to %2 %3',
change_object_index: 'Bring to %1 %2',
change_object_index: 'Bring (to) %1 %2',
move_direction: 'Move %1 forward %2',
move_x: 'Change X by %1 %2',
move_y: 'Change Y by %1 %2',
Expand Down
19 changes: 13 additions & 6 deletions extern/lang/ko.js
Original file line number Diff line number Diff line change
Expand Up @@ -1984,6 +1984,8 @@ Lang.Blocks = {
location_jeollanam_damyang: '담양군',
location_jeollanam_gokseong: '곡성군',
location_jeollanam_gurye: '구례군',
width: '가로',
height: '세로',
};
Lang.video_body_coord_params = {
left_eye: '왼쪽 눈',
Expand Down Expand Up @@ -6026,27 +6028,30 @@ Lang.Helper = {
dialog_time:
'오브젝트가 입력한 내용을 입력한 시간 동안 말풍선으로 말한 후 다음 블록을 실행합니다.',
dialog: '오브젝트가 입력한 내용을 말풍선으로 말하는 동시에 다음 블록을 실행합니다.',
remove_dialog: '오브젝트가 말하고 생각하고 있는 말풍선을 지웁니다.',
remove_dialog: '오브젝트가 말하거나 생각하고 있는 말풍선을 지웁니다.',
change_to_some_shape:
'오브젝트를 선택한 모양으로 바꿉니다. (내부 블록을 분리하고 모양의 번호를 입력하여 모양을 바꿀 수 있습니다.)',
'오브젝트를 선택한 모양으로 바꿉니다.\n모양 이름 블록이나 모양 번호를 입력한 값 블록을 결합해 사용할 수 있습니다.',
change_to_next_shape: '오브젝트의 모양을 이전 또는 다음 모양으로 바꿉니다.',
set_effect_volume: '오브젝트에 선택한 효과를 입력한 값만큼 줍니다.',
set_effect_amount: '오브젝트에 선택한 효과를 입력한 값만큼 줍니다.',
set_effect:
'오브젝트의 효과를 입력한 값으로 정합니다.\n색깔 : 0~100을 주기로 반복됩니다.\n밝기 : -100~100 사이의 범위로 설정할 수 있습니다. (-100 이하는 -100으로 100 이상은 100으로 처리됩니다.)\n투명도 : 0~100 사이의 범위로 설정할 수 있습니다. (0 이하는 0으로, 100 이상은 100으로 처리됩니다.)',
set_entity_effect:
'오브젝트의 효과를 입력한 값으로 정합니다.\n색깔 : 0~100을 주기로 반복됩니다.\n밝기 : -100~100 사이의 범위로 설정할 수 있습니다. (-100 이하는 -100으로 100 이상은 100으로 처리됩니다.)\n투명도 : 0~100 사이의 범위로 설정할 수 있습니다. (0 이하는 0으로, 100 이상은 100으로 처리됩니다.)',
add_effect_amount: '오브젝트에 선택한 효과를 입력한 값만큼 줍니다.',
add_effect_amount:
'오브젝트에 선택한 효과를 입력한 값만큼 줍니다.\n\n- 색깔 : 1~100, 입력한 숫자에 해당하는 색깔 효과를 줍니다.\n- 밝기 : -100~100, 입력한 숫자만큼 밝기 효과를 줍니다.\n- 투명도 : 0~100, 입력한 숫자만큼 투명도 효과를 줍니다.',
change_effect_amount:
'오브젝트의 효과를 입력한 값으로 정합니다.\n색깔 : 0~100을 주기로 반복됩니다.\n밝기 : -100~100 사이의 범위로 설정할 수 있습니다. (-100 이하는 -100으로 100 이상은 100으로 처리됩니다.)\n투명도 : 0~100 사이의 범위로 설정할 수 있습니다. (0 이하는 0으로, 100 이상은 100으로 처리됩니다.)',
'오브젝트의 효과를 입력한 값으로 정합니다.\n\n- 색깔 : 1~100, 입력한 숫자에 해당하는 색깔 효과를 줍니다.\n- 밝기 : -100~100, 입력한 숫자만큼 밝기 효과를 줍니다.\n- 투명도 : 0~100, 입력한 숫자만큼 투명도 효과를 줍니다.',
change_scale_percent: '오브젝트의 크기를 입력한 값만큼 바꿉니다.',
set_scale_percent: '오브젝트의 크기를 입력한 값으로 정합니다.',
change_scale_size: '오브젝트의 크기를 입력한 값만큼 바꿉니다.',
set_scale_size: '오브젝트의 크기를 입력한 값으로 정합니다.',
stretch_scale_size: '오브젝트의 가로/세로 크기를 입력한 값만큼 늘입니다.',
reset_scale_size: '오브젝트를 원래 크기로 되돌립니다.',
flip_x: '오브젝트의 상하 모양을 뒤집습니다.',
flip_y: '오브젝트의 좌우 모양을 뒤집습니다.',
change_object_index:
'오브젝트가 실행화면에 보이는 순서를 변경합니다.\n맨 앞으로 : 해당 오브젝트를 실행화면의 가장 앞쪽으로 가져옵니다. \n앞으로 : 해당 오브젝트를 한 층 앞쪽으로 가져옵니다.\n뒤로 : 해당 오브젝트를 한 층 뒤쪽으로 보냅니다. \n맨 뒤로 : 해당 오브젝트를 실행화면의 가장 뒤쪽으로 보냅니다.',
'오브젝트가 실행화면에 보이는 순서를 변경합니다.\n- 맨 앞으로 : 해당 오브젝트를 실행화면의 가장 앞쪽으로 가져옵니다.\n- 앞으로 : 해당 오브젝트를 한 층 앞쪽으로 가져옵니다.\n- 뒤로 : 해당 오브젝트를 한 층 뒤쪽으로 보냅니다.\n- 맨 뒤로 : 해당 오브젝트를 실행화면의 가장 뒤쪽으로 보냅니다.',
set_object_order: '해당 오브젝트가 설정한 순서로 올라옵니다.',
brush_stamp: '오브젝트의 모양을 도장처럼 실행화면 위에 찍습니다.',
start_drawing:
Expand Down Expand Up @@ -7577,7 +7582,9 @@ Lang.template = {
change_scale_percent: '크기를 %1 만큼 바꾸기 %2',
set_scale_percent: '크기를 %1 (으)로 정하기 %2',
change_scale_size: '크기를 %1 만큼 바꾸기 %2',
set_scale_size: '크기를 %1 (으)로 정하기 %2',
set_scale_size: '크기를 %1 (으)로 정하기 %2',
stretch_scale_size: '%1 를 %2 만큼 늘이기 %3',
reset_scale_size: '원래 크기로 되돌리기 %1',
flip_y: '좌우 모양 뒤집기 %1',
flip_x: '상하 모양 뒤집기 %1',
set_object_order: '%1 번째로 올라오기 %2',
Expand Down
10 changes: 6 additions & 4 deletions extern/util/static.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ EntryStatic.variableBlockList = [

EntryStatic.messageBlockList = ['when_message_cast', 'message_cast', 'message_cast_wait'];

EntryStatic.getAllBlocks = function() {
EntryStatic.getAllBlocks = function () {
return [
{
category: 'start',
Expand Down Expand Up @@ -118,6 +118,8 @@ EntryStatic.getAllBlocks = function() {
'erase_all_effects',
'change_scale_size',
'set_scale_size',
'stretch_scale_size',
'reset_scale_size',
'flip_x',
'flip_y',
'change_object_index',
Expand Down Expand Up @@ -506,7 +508,7 @@ EntryStatic.getAllBlocks = function() {

/* eslint-disable */
Object.defineProperty(EntryStatic, 'fonts', {
get: function() {
get: function () {
return [
{
name: Lang.Fonts.batang,
Expand Down Expand Up @@ -786,7 +788,7 @@ EntryStatic.colorSet = {
},
};

EntryStatic.getDefaultFontFamily = function() {
EntryStatic.getDefaultFontFamily = function () {
const localLang = Lang || {};
const type = localLang.type;
const fallbackType = localLang.fallbackType;
Expand All @@ -797,7 +799,7 @@ EntryStatic.getDefaultFontFamily = function() {
}
};

EntryStatic.getCategoryByBlock = function(blockName) {
EntryStatic.getCategoryByBlock = function (blockName) {
if (!blockName) {
return false;
}
Expand Down
70 changes: 37 additions & 33 deletions src/class/entity.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ Entry.EntityObject = class EntityObject {
this.paintShapes = [];
this._rndPosX = 0;
this._rndPosY = 0;
this.scaleOriginX = 0;
this.scaleOriginY = 0;
this.voice = { speed: 0, pitch: 0, speaker: 'kyuri', volume: 1 };
this.defaultLog = {
textEffect: {},
Expand Down Expand Up @@ -83,7 +85,7 @@ Entry.EntityObject = class EntityObject {
this.object.mouseEnabled = true;
GEDragHelper.handleDrag(this.object);

this.object.on(GEDragHelper.types.DOWN, function({ stageX, stageY }) {
this.object.on(GEDragHelper.types.DOWN, function ({ stageX, stageY }) {
const id = this.entity.parent.id;
Entry.dispatchEvent('entityClick', this.entity);
Entry.stage.isObjectClick = true;
Expand All @@ -99,14 +101,14 @@ Entry.EntityObject = class EntityObject {
}
});

this.object.on(GEDragHelper.types.UP, function() {
this.object.on(GEDragHelper.types.UP, function () {
Entry.dispatchEvent('entityClickCanceled', this.entity);
this.cursor = 'pointer';
this.entity.checkCommand();
});

if (Entry.type !== 'minimize') {
this.object.on(GEDragHelper.types.MOVE, function({ stageX, stageY }) {
this.object.on(GEDragHelper.types.MOVE, function ({ stageX, stageY }) {
if (Entry.stage.isEntitySelectable()) {
const entity = this.entity;
if (entity.parent.getLock()) {
Expand Down Expand Up @@ -178,6 +180,8 @@ Entry.EntityObject = class EntityObject {
this.setRegY(regY);
this.setScaleX(scaleX);
this.setScaleY(scaleY);
this.scaleOriginX = scaleX;
this.scaleOriginY = scaleY;
this.setRotation(rotation);
this.setDirection(direction, true);
this.setLineBreak(lineBreak);
Expand Down Expand Up @@ -409,6 +413,9 @@ Entry.EntityObject = class EntityObject {
setScaleX(scaleX) {
/** @type {number} */
this.scaleX = scaleX;
if (Entry.engine.isState('stop')) {
this.scaleOriginX = scaleX;
}
if (GEHelper.isWebGL) {
this._scaleAdaptor.scale.setX(scaleX);
if (this.textObject) {
Expand Down Expand Up @@ -437,6 +444,9 @@ Entry.EntityObject = class EntityObject {
setScaleY(scaleY) {
/** @type {number} */
this.scaleY = scaleY;
if (Entry.engine.isState('stop')) {
this.scaleOriginY = scaleY;
}
if (GEHelper.isWebGL) {
this._scaleAdaptor.scale.setY(scaleY);
if (this.textObject) {
Expand Down Expand Up @@ -470,6 +480,27 @@ Entry.EntityObject = class EntityObject {
Entry.requestUpdate = true;
}

resetSize() {
this.setScaleX(this.scaleOriginX);
this.setScaleY(this.scaleOriginY);
!this.isClone && this.parent.updateCoordinateView();
Entry.requestUpdate = true;
}

setXSize(size) {
const scale = Math.max(1, size) / this.getSize();
this.setScaleX(this.getScaleX() * scale);
!this.isClone && this.parent.updateCoordinateView();
Entry.requestUpdate = true;
}

setYSize(size) {
const scale = Math.max(1, size) / this.getSize();
this.setScaleY(this.getScaleY() * scale);
!this.isClone && this.parent.updateCoordinateView();
Entry.requestUpdate = true;
}

/**
* get object size
* @return {number}
Expand Down Expand Up @@ -1112,7 +1143,7 @@ Entry.EntityObject = class EntityObject {
diffEffects = diffEffects.concat(forceEffects);
}

(function(e, obj) {
(function (e, obj) {
const f = [];
const adjust = Entry.adjustValueWithMaxMin;

Expand All @@ -1128,31 +1159,7 @@ Entry.EntityObject = class EntityObject {
if (~diffEffects.indexOf('hsv')) {
/* eslint-disable */
let matrixValue = [
1,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
1,
1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
];
/* eslint-enable */

Expand Down Expand Up @@ -1475,10 +1482,7 @@ Entry.EntityObject = class EntityObject {
// 기존 스펙으로 롤백(#11434)
const stroke = brush._stroke.style;
const thickness = brush._strokeStyle.width;
brush
.clear()
.setStrokeStyle(thickness)
.beginStroke(stroke);
brush.clear().setStrokeStyle(thickness).beginStroke(stroke);
}
}
Entry.requestUpdate = true;
Expand Down
1 change: 0 additions & 1 deletion src/class/sound.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ interface ISound {
id: string;
filename: string;
fileurl: string;
thumbUrl: string;
name: string;
path: string;
objectId?: string;
Expand Down
15 changes: 7 additions & 8 deletions src/playground/blocks/block_ai_learning.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,14 @@ const DropDownDynamicGenerator = {
return [[Lang.Blocks.no_target, 'null']];
}
},
tablePredictDataDistinct: () => {
if (Entry.aiLearning.labels) {
return Entry.aiLearning.labels.map((item) => [item, item]);
} else {
return [[Lang.Blocks.no_target, 'null']];
}
},
valueMap: () => {
const valueMap = Object.values(Entry.aiLearning.getTrainResult()?.valueMap || []);
const valueMap =
Object.values(
Entry.aiLearning.getTrainResult()?.valueMap ||
Entry.aiLearning?.result?.valueMap ||
{}
) || [];

if (valueMap?.length) {
return valueMap.map((name) => [name, name]);
} else {
Expand Down
Loading

0 comments on commit e353696

Please sign in to comment.