OldBlueWater/BlueWater/Assets/SPUM/Script/SPUM_SpriteList.cs

199 lines
6.5 KiB
C#
Raw Normal View History

2023-09-26 06:24:34 +00:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
public class SPUM_SpriteList : MonoBehaviour
{
public List<SpriteRenderer> _itemList = new List<SpriteRenderer>();
public List<SpriteRenderer> _eyeList = new List<SpriteRenderer>();
public List<SpriteRenderer> _hairList = new List<SpriteRenderer>();
public List<SpriteRenderer> _bodyList = new List<SpriteRenderer>();
public List<SpriteRenderer> _clothList = new List<SpriteRenderer>();
public List<SpriteRenderer> _armorList = new List<SpriteRenderer>();
public List<SpriteRenderer> _pantList = new List<SpriteRenderer>();
public List<SpriteRenderer> _weaponList = new List<SpriteRenderer>();
public List<SpriteRenderer> _backList = new List<SpriteRenderer>();
public SPUM_HorseSpriteList _spHorseSPList;
public string _spHorseString;
// Start is called before the first frame update
public Texture2D _bodyTexture;
public string _bodyString;
public List<string> _hairListString = new List<string>();
public List<string> _clothListString = new List<string>();
public List<string> _armorListString = new List<string>();
public List<string> _pantListString = new List<string>();
public List<string> _weaponListString = new List<string>();
public List<string> _backListString = new List<string>();
2023-09-26 06:24:34 +00:00
public void Reset()
{
for (var i = 0; i < _hairList.Count; i++)
2023-09-26 06:24:34 +00:00
{
if (_hairList[i] != null) _hairList[i].sprite = null;
2023-09-26 06:24:34 +00:00
}
for (var i = 0; i < _clothList.Count; i++)
2023-09-26 06:24:34 +00:00
{
if (_clothList[i] != null) _clothList[i].sprite = null;
2023-09-26 06:24:34 +00:00
}
for (var i = 0; i < _armorList.Count; i++)
2023-09-26 06:24:34 +00:00
{
if (_armorList[i] != null) _armorList[i].sprite = null;
2023-09-26 06:24:34 +00:00
}
for (var i = 0; i < _pantList.Count; i++)
2023-09-26 06:24:34 +00:00
{
if (_pantList[i] != null) _pantList[i].sprite = null;
2023-09-26 06:24:34 +00:00
}
for (var i = 0; i < _weaponList.Count; i++)
2023-09-26 06:24:34 +00:00
{
if (_weaponList[i] != null) _weaponList[i].sprite = null;
2023-09-26 06:24:34 +00:00
}
for (var i = 0; i < _backList.Count; i++)
2023-09-26 06:24:34 +00:00
{
if (_backList[i] != null) _backList[i].sprite = null;
2023-09-26 06:24:34 +00:00
}
}
public void LoadSpriteSting()
{
}
public void LoadSpriteStingProcess(List<SpriteRenderer> SpList, List<string> StringList)
{
for (var i = 0; i < StringList.Count; i++)
2023-09-26 06:24:34 +00:00
{
if (StringList[i].Length > 1)
2023-09-26 06:24:34 +00:00
{
// Assets/SPUM/SPUM_Sprites/BodySource/Species/0_Human/Human_1.png
}
}
}
public void LoadSprite(SPUM_SpriteList data)
{
//스프라이트 데이터 연동
SetSpriteList(_hairList, data._hairList);
SetSpriteList(_bodyList, data._bodyList);
SetSpriteList(_clothList, data._clothList);
SetSpriteList(_armorList, data._armorList);
SetSpriteList(_pantList, data._pantList);
SetSpriteList(_weaponList, data._weaponList);
SetSpriteList(_backList, data._backList);
SetSpriteList(_eyeList, data._eyeList);
if (data._spHorseSPList != null)
2023-09-26 06:24:34 +00:00
{
SetSpriteList(_spHorseSPList._spList, data._spHorseSPList._spList);
2023-09-26 06:24:34 +00:00
_spHorseSPList = data._spHorseSPList;
}
else
{
_spHorseSPList = null;
}
//색 데이터 연동.
if (_eyeList.Count > 2 && data._eyeList.Count > 2)
2023-09-26 06:24:34 +00:00
{
_eyeList[2].color = data._eyeList[2].color;
_eyeList[3].color = data._eyeList[3].color;
}
_hairList[3].color = data._hairList[3].color;
_hairList[0].color = data._hairList[0].color;
//꺼져있는 오브젝트 데이터 연동.x
_hairList[0].gameObject.SetActive(!data._hairList[0].gameObject.activeInHierarchy);
_hairList[3].gameObject.SetActive(!data._hairList[3].gameObject.activeInHierarchy);
_hairListString = data._hairListString;
_clothListString = data._clothListString;
_pantListString = data._pantListString;
_armorListString = data._armorListString;
_weaponListString = data._weaponListString;
_backListString = data._backListString;
}
public void SetSpriteList(List<SpriteRenderer> tList, List<SpriteRenderer> tData)
{
for (var i = 0; i < tData.Count; i++)
2023-09-26 06:24:34 +00:00
{
if (tData[i] != null)
2023-09-26 06:24:34 +00:00
{
tList[i].sprite = tData[i].sprite;
tList[i].color = tData[i].color;
}
else tList[i] = null;
}
}
public void ResyncData()
{
SyncPath(_hairList, _hairListString);
SyncPath(_clothList, _clothListString);
SyncPath(_armorList, _armorListString);
SyncPath(_pantList, _pantListString);
SyncPath(_weaponList, _weaponListString);
SyncPath(_backList, _backListString);
2023-09-26 06:24:34 +00:00
}
public void SyncPath(List<SpriteRenderer> _objList, List<string> _pathList)
{
for (var i = 0; i < _pathList.Count; i++)
2023-09-26 06:24:34 +00:00
{
if (_pathList[i].Length > 1)
2023-09-26 06:24:34 +00:00
{
string tPath = _pathList[i];
tPath = tPath.Replace("Assets/Resources/", "");
tPath = tPath.Replace(".png", "");
2023-09-26 06:24:34 +00:00
Sprite[] tSP = Resources.LoadAll<Sprite>(tPath);
if (tSP.Length > 1)
2023-09-26 06:24:34 +00:00
{
if (_objList[0].name == "ClothBody" || _objList[0].name == "BodyArmor")
{
string tmpName = "";
switch (i)
{
case 0:
tmpName = "Body";
break;
case 1:
tmpName = "Left";
break;
case 2:
tmpName = "Right";
break;
}
foreach (Sprite ttS in tSP)
{
if (ttS.name == tmpName)
{
_objList[i].sprite = ttS;
break;
}
}
}
2023-09-26 06:24:34 +00:00
}
else if (tSP.Length > 0)
{
_objList[i].sprite = tSP[0];
}
}
else
{
_objList[i].sprite = null;
}
}
}
}