Улучшение оформления кода
This commit is contained in:
+47
-42
@@ -4,65 +4,70 @@ import { JokerClass } from "../joker";
|
||||
|
||||
/**
|
||||
* **Карнавал**
|
||||
*
|
||||
*
|
||||
* Аватарки приобретают интересные цвета
|
||||
*
|
||||
*
|
||||
* @author Kozhilya
|
||||
*/
|
||||
export class CarnivalJoke extends Joke {
|
||||
id = 'carnival';
|
||||
id = "carnival";
|
||||
|
||||
title = 'Карнавал';
|
||||
title = "Карнавал";
|
||||
|
||||
description = 'Аватарки приобретают интересные цвета';
|
||||
description = "Аватарки приобретают интересные цвета";
|
||||
|
||||
settings = new CarnivalJokeSettings;
|
||||
|
||||
start(): void {
|
||||
$(this.settings.selector).each((_, elem) => {
|
||||
const filters: string[] = [];
|
||||
settings = new CarnivalJokeSettings();
|
||||
|
||||
for (const entry of Object.entries(this.settings.variants)) {
|
||||
if (!this.check(this.settings.variant_chance)) {
|
||||
continue;
|
||||
}
|
||||
start(): void {
|
||||
$(this.settings.selector).each((_, elem) => {
|
||||
const filters: string[] = [];
|
||||
|
||||
filters.push(entry[0].replace('{0}', Math.round(Math.random() * entry[1]).toString()));
|
||||
}
|
||||
for (const entry of Object.entries(this.settings.variants)) {
|
||||
if (!this.check(this.settings.variant_chance)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (filters.length > 0) {
|
||||
$(elem).css({'filter': filters.join(' ')});
|
||||
}
|
||||
});
|
||||
}
|
||||
filters.push(
|
||||
entry[0].replace(
|
||||
"{0}",
|
||||
Math.round(Math.random() * entry[1]).toString()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
if (filters.length > 0) {
|
||||
$(elem).css({ filter: filters.join(" ") });
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export class CarnivalJokeSettings implements JokeSettings {
|
||||
enabled: boolean = true;
|
||||
enabled: boolean = true;
|
||||
|
||||
chance: number = 30;
|
||||
chance: number = 30;
|
||||
|
||||
/**
|
||||
* Селектор всех элементов, которые будут перекрашены
|
||||
*/
|
||||
selector: string = 'img[src*="/avatars/"]';
|
||||
/**
|
||||
* Селектор всех элементов, которые будут перекрашены
|
||||
*/
|
||||
selector: string = 'img[src*="/avatars/"]';
|
||||
|
||||
/**
|
||||
* Вероятность применения некоторого фильтра
|
||||
*/
|
||||
variant_chance: number = 20;
|
||||
/**
|
||||
* Вероятность применения некоторого фильтра
|
||||
*/
|
||||
variant_chance: number = 20;
|
||||
|
||||
/**
|
||||
* Список фильтров и диапозона случайных параметров
|
||||
*/
|
||||
variants: CarnivalJokeFilters = {
|
||||
'sepia({0}%)': 100,
|
||||
'saturate({0}%)': 100,
|
||||
'hue-rotate({0}deg)': 360,
|
||||
'invert({0}%)': 100,
|
||||
}
|
||||
/**
|
||||
* Список фильтров и диапозона случайных параметров
|
||||
*/
|
||||
variants: CarnivalJokeFilters = {
|
||||
"sepia({0}%)": 100,
|
||||
"saturate({0}%)": 100,
|
||||
"hue-rotate({0}deg)": 360,
|
||||
"invert({0}%)": 100,
|
||||
};
|
||||
}
|
||||
|
||||
export interface CarnivalJokeFilters {
|
||||
[key: string]: number;
|
||||
}
|
||||
[key: string]: number;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user