49 lines
2.6 KiB
C#
49 lines
2.6 KiB
C#
// WL-816b — 되돌리기(C8) 실측: weaponEnabled_ = 0 이면 무기는 원본 100 % (에디트 모드)
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using UnityEditor;
|
|
using UnityEngine;
|
|
using WL.Look.Character;
|
|
|
|
public static class WL816bRevert
|
|
{
|
|
public static void Run()
|
|
{
|
|
var sb = new StringBuilder();
|
|
const string SOP = "Assets/WL/Look/Character/Resources/WL/WLCharacterPaletteSettings.asset";
|
|
var so = AssetDatabase.LoadAssetAtPath<WLCharacterPaletteSettings>(SOP);
|
|
WLCharacterPaletteSettings.Invalidate();
|
|
int was = so.weaponEnabled_;
|
|
string[] test = { "Elven_Sword_01", "PP_Theme_10_Shield_003", "Dagger1" };
|
|
|
|
foreach (int flag in new[] { 0, 1 })
|
|
{
|
|
so.weaponEnabled_ = flag; EditorUtility.SetDirty(so); AssetDatabase.SaveAssets();
|
|
WLCharacterPaletteSettings.Invalidate();
|
|
sb.AppendLine("weaponEnabled_=" + flag + " · WeaponEnabled=" + WLCharacterPaletteSettings.WeaponEnabled);
|
|
foreach (var w in test)
|
|
{
|
|
var pf = AssetDatabase.LoadAssetAtPath<GameObject>("Assets/Res_Addr/Weapon/" + w + ".prefab");
|
|
var go = UnityEngine.Object.Instantiate(pf); go.name = w + "(Clone)";
|
|
var mf = go.GetComponentInChildren<MeshFilter>(true);
|
|
var rd = go.GetComponentsInChildren<Renderer>(true).First(r => !(r is ParticleSystemRenderer));
|
|
var m0 = mf.sharedMesh; var t0 = rd.sharedMaterial;
|
|
bool applied = WLWeaponPalette.Apply(go.transform);
|
|
sb.AppendLine(string.Format(" {0,-24} applied={1,-5} mesh {2} → {3} · mat {4} → {5} · {6}",
|
|
w, applied, m0.name, mf.sharedMesh.name, t0.name, rd.sharedMaterial.name,
|
|
flag == 0 ? ((mf.sharedMesh == m0 && rd.sharedMaterial == t0) ? "원본 그대로 ✅" : "🔴 바뀜")
|
|
: ((mf.sharedMesh != m0 && rd.sharedMaterial != t0) ? "팔레트 적용 ✅" : "🔴 미적용")));
|
|
UnityEngine.Object.DestroyImmediate(go);
|
|
}
|
|
}
|
|
so.weaponEnabled_ = was; EditorUtility.SetDirty(so); AssetDatabase.SaveAssets();
|
|
WLCharacterPaletteSettings.Invalidate();
|
|
sb.AppendLine("복구: weaponEnabled_=" + so.weaponEnabled_);
|
|
// 캐릭터 표가 그대로인지
|
|
sb.AppendLine("캐릭터 행 " + (so.rendererNames == null ? 0 : so.rendererNames.Length) + " · enabled_=" + so.enabled_ + " · 무기 행 " + so.weaponNames.Length);
|
|
File.WriteAllText("AgentScripts/WL816b_REVERT.txt", sb.ToString(), new UTF8Encoding(true));
|
|
Debug.Log("[WL816b] revert check done");
|
|
}
|
|
}
|