From d416d721dff7dd58ceb218cbd450a0897c47574a Mon Sep 17 00:00:00 2001 From: devxb Date: Wed, 24 Dec 2025 10:20:44 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20BRICK=20=ED=95=84=EB=93=9C=EB=A5=BC?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kotlin/org/gitanimals/core/FieldType.kt | 15 + src/main/kotlin/org/gitanimals/core/Svgs.kt | 3 + src/main/resources/persona/field/brick.svg | 978 ++++++++++++++++++ 3 files changed, 996 insertions(+) create mode 100644 src/main/resources/persona/field/brick.svg diff --git a/src/main/kotlin/org/gitanimals/core/FieldType.kt b/src/main/kotlin/org/gitanimals/core/FieldType.kt index b3735ca0..12b7dd6f 100644 --- a/src/main/kotlin/org/gitanimals/core/FieldType.kt +++ b/src/main/kotlin/org/gitanimals/core/FieldType.kt @@ -401,6 +401,21 @@ enum class FieldType { override fun drawBorder(): String = "" }, + BRICK { + override fun loadComponent(name: String, commit: Long): String { + return whiteFieldSvg.replace(NAME_FIX, name.toSvg(0.0, 3.0)) + .replace(COMMIT_FIX, commit.toSvg("commit", 260.0, 4.0)) + } + + override fun fillBackground(): String = + """ + + $brickFieldSvg + """ + + override fun drawBorder(): String = + "" + }, ; abstract fun loadComponent(name: String, commit: Long): String diff --git a/src/main/kotlin/org/gitanimals/core/Svgs.kt b/src/main/kotlin/org/gitanimals/core/Svgs.kt index 33f1ff4a..f13b77e4 100644 --- a/src/main/kotlin/org/gitanimals/core/Svgs.kt +++ b/src/main/kotlin/org/gitanimals/core/Svgs.kt @@ -53,6 +53,9 @@ val redComputerFieldSvg: String = ClassPathResource("persona/field/red-computer. val folderFieldSvg: String = ClassPathResource("persona/field/folder.svg") .getContentAsString(Charset.defaultCharset()) +val brickFieldSvg: String = ClassPathResource("persona/field/brick.svg") + .getContentAsString(Charset.defaultCharset()) + val gooseSvg: String = ClassPathResource("persona/animal/goose.svg") .getContentAsString(Charset.defaultCharset()) diff --git a/src/main/resources/persona/field/brick.svg b/src/main/resources/persona/field/brick.svg new file mode 100644 index 00000000..da769632 --- /dev/null +++ b/src/main/resources/persona/field/brick.svg @@ -0,0 +1,978 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 4e29d858ea1b4417222009f2d0a3210277fc1f88 Mon Sep 17 00:00:00 2001 From: devxb Date: Wed, 24 Dec 2025 10:24:00 +0900 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20BrickChristmas=20=ED=95=84=EB=93=9C?= =?UTF-8?q?=EB=A5=BC=20=EC=B6=94=EA=B0=80=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kotlin/org/gitanimals/core/FieldType.kt | 15 + src/main/kotlin/org/gitanimals/core/Svgs.kt | 3 + .../persona/field/brick-christmas.svg | 1707 +++++++++++++++++ 3 files changed, 1725 insertions(+) create mode 100644 src/main/resources/persona/field/brick-christmas.svg diff --git a/src/main/kotlin/org/gitanimals/core/FieldType.kt b/src/main/kotlin/org/gitanimals/core/FieldType.kt index 12b7dd6f..4c0fa156 100644 --- a/src/main/kotlin/org/gitanimals/core/FieldType.kt +++ b/src/main/kotlin/org/gitanimals/core/FieldType.kt @@ -416,6 +416,21 @@ enum class FieldType { override fun drawBorder(): String = "" }, + BRICK_CHRISTMAS { + override fun loadComponent(name: String, commit: Long): String { + return whiteFieldSvg.replace(NAME_FIX, name.toSvg(0.0, 3.0)) + .replace(COMMIT_FIX, commit.toSvg("commit", 260.0, 4.0)) + } + + override fun fillBackground(): String = + """ + + $brickChristmasFieldSvg + """ + + override fun drawBorder(): String = + "" + }, ; abstract fun loadComponent(name: String, commit: Long): String diff --git a/src/main/kotlin/org/gitanimals/core/Svgs.kt b/src/main/kotlin/org/gitanimals/core/Svgs.kt index f13b77e4..0d69002a 100644 --- a/src/main/kotlin/org/gitanimals/core/Svgs.kt +++ b/src/main/kotlin/org/gitanimals/core/Svgs.kt @@ -56,6 +56,9 @@ val folderFieldSvg: String = ClassPathResource("persona/field/folder.svg") val brickFieldSvg: String = ClassPathResource("persona/field/brick.svg") .getContentAsString(Charset.defaultCharset()) +val brickChristmasFieldSvg: String = ClassPathResource("persona/field/brick-christmas.svg") + .getContentAsString(Charset.defaultCharset()) + val gooseSvg: String = ClassPathResource("persona/animal/goose.svg") .getContentAsString(Charset.defaultCharset()) diff --git a/src/main/resources/persona/field/brick-christmas.svg b/src/main/resources/persona/field/brick-christmas.svg new file mode 100644 index 00000000..290f60e5 --- /dev/null +++ b/src/main/resources/persona/field/brick-christmas.svg @@ -0,0 +1,1707 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +