chore: Assets 디렉토리 구조 정리 및 네이밍 컨벤션 적용

- Assets/_Game/ 하위로 게임 에셋 통합
- External/ 패키지 벤더별 분류 (Synty, Animations, UI)
- 에셋 네이밍 컨벤션 확립 및 적용
  (Data_Skill_, Data_SkillEffect_, Prefab_, Anim_, Model_, BT_ 등)
- pre-commit hook으로 네이밍 컨벤션 자동 검사 추가
- RESTRUCTURE_CHECKLIST.md 작성

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-16 19:08:27 +09:00
parent 309bf5f48b
commit c265f980db
17251 changed files with 2630777 additions and 206 deletions

View File

@@ -0,0 +1,24 @@
{
"name": "Gilzoide.SqliteNet.Tests.Editor",
"rootNamespace": "Gilzoide.SqliteNet.Tests.Editor",
"references": [
"UnityEngine.TestRunner",
"UnityEditor.TestRunner",
"Gilzoide.SqliteNet"
],
"includePlatforms": [
"Editor"
],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": true,
"precompiledReferences": [
"nunit.framework.dll"
],
"autoReferenced": false,
"defineConstraints": [
"UNITY_INCLUDE_TESTS"
],
"versionDefines": [],
"noEngineReferences": false
}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 116377ddbe6df44f797197063a566aaf
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,68 @@
/*
* Copyright (c) 2024 Gil Barbosa Reis
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
using NUnit.Framework;
using SQLite;
namespace Gilzoide.SqliteNet.Tests.Editor
{
public class TestSerialization
{
private class Row
{
[PrimaryKey]
public int Id { get; set; }
public int Value { get; set; }
}
[Test, TestCase(100)]
public void TestSQLiteSerialization(int quantity)
{
byte[] serializedDatabase;
using(var db = new SQLiteConnection(""))
{
db.CreateTable<Row>();
for (int i = 0; i < quantity; i++)
{
int added = db.Insert(new Row
{
Id = i,
Value = i,
});
Assert.That(added, Is.EqualTo(1));
}
serializedDatabase = db.Serialize();
}
Assert.That(serializedDatabase, Is.Not.Null);
using(var db = new SQLiteConnection(""))
{
db.Deserialize(serializedDatabase, flags: SQLite3.DeserializeFlags.ReadOnly);
for (int i = 0; i < quantity; i++)
{
Row row = db.Table<Row>().Where(r => r.Id == i).FirstOrDefault();
Assert.That(row, Is.Not.Null, $"Couldn't find row {i}");
Assert.That(row.Id, Is.EqualTo(row.Value));
}
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: e76b1568295e54de09960443991b1a0d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: