- PropBrowserWindow: Unity 에디터용 프랍 브라우저 - 개별 프리펩 단위로 표시 (폴더별 묶음 X) - 씬 조명 기반 썸네일 생성 - 앞쪽에서 촬영하도록 카메라 각도 수정 - WebsitePropExporter: 웹 API 업로드 기능 - 개별 프리펩별 썸네일 URL 지원 - PropSyncSettings: API 및 Git URL 설정 - PropData: 프랍 데이터 구조체 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
55 lines
1.8 KiB
C#
55 lines
1.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace Streamingle.Prop
|
|
{
|
|
/// <summary>
|
|
/// 프랍 정보를 담는 데이터 클래스
|
|
/// </summary>
|
|
[Serializable]
|
|
public class PropInfo
|
|
{
|
|
public string propName; // 프랍 이름
|
|
public string folderPath; // 프랍 폴더 경로 (Assets/...)
|
|
public string thumbnailPath; // 썸네일 이미지 경로
|
|
public Texture2D thumbnail; // 로드된 썸네일 (런타임용)
|
|
public List<string> prefabPaths = new List<string>(); // 프리펩 경로들
|
|
public List<string> modelPaths = new List<string>(); // 모델 파일 경로들
|
|
public int textureCount; // 텍스처 파일 수
|
|
public int materialCount; // 머티리얼 파일 수
|
|
|
|
public string DisplayName => propName;
|
|
|
|
/// <summary>
|
|
/// 대표 프리펩 경로 (첫 번째)
|
|
/// </summary>
|
|
public string MainPrefabPath => prefabPaths.Count > 0 ? prefabPaths[0] : null;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 프랍 데이터를 저장하는 ScriptableObject
|
|
/// </summary>
|
|
[CreateAssetMenu(fileName = "PropDatabase", menuName = "Streamingle/Prop Database")]
|
|
public class PropDatabase : ScriptableObject
|
|
{
|
|
public List<PropInfo> props = new List<PropInfo>();
|
|
|
|
/// <summary>
|
|
/// 프랍 이름으로 검색
|
|
/// </summary>
|
|
public PropInfo FindByName(string propName)
|
|
{
|
|
return props.Find(p => p.propName == propName);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 폴더 경로로 검색
|
|
/// </summary>
|
|
public PropInfo FindByPath(string folderPath)
|
|
{
|
|
return props.Find(p => p.folderPath == folderPath);
|
|
}
|
|
}
|
|
}
|