Коммит 589a52e0 создал по автору Anton Medvedev's avatar Anton Medvedev
Просмотр файлов

Merge branch 'main' into 'main'

#37 Корректно добавлено изображение для AddResizeController

See merge request teknokomo/universo-monorepo!38
владельцы 0e90a346 26937d95
Конвейер #6910 неудачно
......@@ -123,9 +123,7 @@ const CreateVerticalPanel = (
space: { left: 6, right: 6, top: 6, bottom: 6, item: 6 },
})
.setDepth(-1)
.addBackground(
scene.rexUI.add.roundRectangle(0, 0, 0, 0, 10, COLOR_DARK).setDepth(-1),
);
.addBackground(scene.rexUI.add.roundRectangle(0, 0, 0, 0, 10).setDepth(-1));
for (let i = 0; i < itemCount; i++) {
sizer.add(CreateLabel(scene, i.toString()), {
......
......@@ -23,9 +23,11 @@ class Demo extends Phaser.Scene {
'rexUI',
'rexUI',
);
this.load.image('phaser/stretching_icon1');
}
create(): void {
this.cameras.main.setBackgroundColor('#abcdef');
const itemCountArray: number[] = [20, 5, 10, 0, 10];
//@ts-ignore
const topPanel = CreateScrollablePanel(this, itemCountArray)
......
......@@ -15,8 +15,8 @@ type CallbackType = (
pointer?: PointerType,
dragX?: number,
dragY?: number,
dropped?: boolean
) => void
dropped?: boolean,
) => void,
) => ItemType;
type PointerType = {
......@@ -53,7 +53,7 @@ const AddDragDropItemBehavior = (itemsBox: ItemsBoxType): void => {
pointer: PointerType,
dragX: number,
dragY: number,
dropped: boolean
dropped: boolean,
) {
if (dropped) {
return;
......@@ -64,7 +64,7 @@ const AddDragDropItemBehavior = (itemsBox: ItemsBoxType): void => {
expand: true,
});
ArrangeItems(previousItemsBox);
}
},
)
.on('sizer.drop', function (pointer: PointerType, dropZone: ItemType) {
const currentItemsBox = dropZone.getData('itemsBox') as ItemsBoxType;
......@@ -95,7 +95,7 @@ const AddDropZone = (itemsBox: ItemsBoxType): void => {
const ArrangeItems = (
itemsBox0: ItemsBoxType,
itemsBox1?: ItemsBoxType
itemsBox1?: ItemsBoxType,
): void => {
const items: ItemType[] = [];
items.push(...itemsBox0.getElement('items'));
......@@ -113,7 +113,7 @@ const ArrangeItems = (
const fromX = item.getData('startX') as number;
const fromY = item.getData('startY') as number;
if (item.x !== fromX || item.y !== fromY) {
item.moveFrom({ x: fromX, y: fromY, speed: 300 });
item.moveFrom({ x: fromX, y: fromY, duration: 300 });
}
}
};
......
// @ts-nocheck
// import stretchingIcon from './Stretching_icon1.png';
const AddResizeController = (sizer: Phaser.GameObjects.Container): void => {
const scene = sizer.scene;
const bottomRighterController = scene.add.rectangle(
sizer.right - 15,
sizer.bottom - 15,
30,
30,
0x333333,
const offsetX = 20;
const offsetY = 20;
const bottomRighterController = scene.add.image(
sizer.right - offsetX,
sizer.bottom - offsetY,
'phaser/stretching_icon1',
);
bottomRighterController
.setInteractive({ draggable: true })
.on('drag', function (pointer, dragX, dragY) {
const topX = sizer.left,
topY = sizer.top;
const width = dragX - topX,
height = dragY - topY;
let dragOffsetX = 0;
let dragOffsetY = 0;
bottomRighterController.setInteractive({ draggable: true });
sizer.setChildPosition(bottomRighterController, dragX, dragY);
bottomRighterController.on('dragstart', function (pointer) {
dragOffsetX = pointer.x - bottomRighterController.x;
dragOffsetY = pointer.y - bottomRighterController.y;
});
sizer.setMinSize(width, height).layout();
bottomRighterController.on('drag', function (pointer, dragX, dragY) {
const topX = sizer.left,
topY = sizer.top;
const width = dragX + dragOffsetX - topX,
height = dragY + dragOffsetY - topY;
sizer.left = topX;
sizer.top = topY;
});
sizer.setMinSize(width, height).layout();
});
// Обновляем позицию AddResizeController каждый раз, когда происходит обновление сцены
scene.events.on('update', function () {
bottomRighterController.setPosition(
sizer.right - offsetX,
sizer.bottom - offsetY,
);
});
sizer.pin(bottomRighterController);
};
export default AddResizeController;
......@@ -6,9 +6,9 @@ import CreateTextObject from './CreateTextObject';
import CreatePopupList from './CreatePopupList';
const CreateDropDownList = function (
scene: Phaser.Scene
scene: Phaser.Scene,
): Phaser.GameObjects.Text {
const options = ['Добавить колонку', 'Переименовать доску'];
const options = ['Add column', 'Rename board'];
const maxTextSize = GetMaxTextObjectSize(scene, options);
const label = scene.rexUI.add
.label({
......@@ -17,7 +17,7 @@ const CreateDropDownList = function (
.setAlpha(0),
text: CreateTextObject(scene, '...').setFixedSize(
maxTextSize.width,
maxTextSize.height
maxTextSize.height,
),
space: {
left: 10,
......
......@@ -10,7 +10,7 @@ const CreatePopupList = function (
x: number,
y: number,
options: string[],
onClick: (button: Phaser.GameObjects.Text) => void
onClick: (button: Phaser.GameObjects.Text) => void,
): Phaser.GameObjects.Container {
const items = options.map((option) => ({ label: option }));
const menu = scene.rexUI.add.menu({
......@@ -42,7 +42,7 @@ const CreatePopupList = function (
});
menu.on('button.click', function (button) {
if (button.text === 'Добавить колонку') {
if (button.text === 'Add column') {
CreateRequestModalColumn(scene)
.setPosition(400, 300)
.layout()
......@@ -56,7 +56,7 @@ const CreatePopupList = function (
.then(function (data) {
console.log(data);
});
} else if (button.text === 'Переименовать доску') {
} else if (button.text === 'Rename column') {
CreateRequestModalBoard(scene)
.setPosition(400, 300)
.layout()
......
......@@ -55,7 +55,7 @@ const CreateRequestModalBoard = (scene: Phaser.Scene): any => {
textArea.setDepth(2);
const separator = scene.add.rectangle(0, 0, 280, 2, 0x000000);
// const separator = scene.add.rectangle(0, 0, 280, 2, 0x000000);
const dialog = scene.rexUI.add
.dialog({
......@@ -108,7 +108,7 @@ const CreateRequestModalBoard = (scene: Phaser.Scene): any => {
.on('button.out', function (button, groupName, index, pointer, event) {
button.getElement('background').setStrokeStyle();
});
dialog.popUp(1000);
return dialog;
};
export default CreateRequestModalBoard;
......@@ -55,7 +55,7 @@ const CreateRequestModalColumn = (scene: Phaser.Scene): any => {
textArea.setDepth(2);
const separator = scene.add.rectangle(0, 0, 280, 2, 0x000000);
// const separator = scene.add.rectangle(0, 0, 280, 2, 0x000000);
const dialog = scene.rexUI.add
.dialog({
......@@ -64,7 +64,7 @@ const CreateRequestModalColumn = (scene: Phaser.Scene): any => {
.setStrokeStyle(2, 0x000000),
title: scene.rexUI.add.label({
text: scene.add.text(0, 0, 'Редактирование объекта', {
text: scene.add.text(0, 0, 'Editing an object', {
fontSize: '24px',
color: '#000000',
}),
......@@ -79,8 +79,8 @@ const CreateRequestModalColumn = (scene: Phaser.Scene): any => {
content: textArea,
actions: [
CreateModalLabel(scene, 'Отменить'),
CreateModalLabel(scene, 'Сохранить'),
CreateModalLabel(scene, 'Cancel'),
CreateModalLabel(scene, 'Save'),
],
space: {
......@@ -108,7 +108,7 @@ const CreateRequestModalColumn = (scene: Phaser.Scene): any => {
.on('button.out', function (button, groupName, index, pointer, event) {
button.getElement('background').setStrokeStyle();
});
// dialog.popUp(1000);
return dialog;
};
export default CreateRequestModalColumn;
......@@ -51,10 +51,14 @@ const CreateScrollablePanel = (
sliderX: {
track: { width: 20, radius: 10, color: COLOR_DARK },
thumb: { radius: 13, color: COLOR_LIGHT },
hideUnscrollableSlider: true,
input: 'click',
},
sliderY: {
track: { width: 20, radius: 10, color: COLOR_DARK },
thumb: { radius: 13, color: COLOR_LIGHT },
hideUnscrollableSlider: true,
input: 'click',
},
scrollerX: false,
scrollerY: false,
......
Поддерживает Markdown
0% или .
You are about to add 0 people to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Пожалуйста, зарегистрируйтесь или чтобы прокомментировать