From 766cdff5ffa72b65d7f106658d1603f47739b2ba Mon Sep 17 00:00:00 2001
From: chai <215380520@qq.com>
Date: Fri, 27 Oct 2023 11:05:14 +0800
Subject: + init

---
 GameCode/CharacterCreatorItemLoader.cs | 77 ++++++++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)
 create mode 100644 GameCode/CharacterCreatorItemLoader.cs

(limited to 'GameCode/CharacterCreatorItemLoader.cs')

diff --git a/GameCode/CharacterCreatorItemLoader.cs b/GameCode/CharacterCreatorItemLoader.cs
new file mode 100644
index 0000000..2a79940
--- /dev/null
+++ b/GameCode/CharacterCreatorItemLoader.cs
@@ -0,0 +1,77 @@
+using UnityEngine;
+
+public class CharacterCreatorItemLoader : MonoBehaviour
+{
+	public CharacterItem[] eyes;
+
+	public CharacterItem[] mouths;
+
+	public CharacterItem[] accessories;
+
+	public static CharacterCreatorItemLoader instance;
+
+	private void Awake()
+	{
+		instance = this;
+	}
+
+	private void Update()
+	{
+	}
+
+	internal CharacterItem GetItem(int itemID, CharacterItemType itemType)
+	{
+		try
+		{
+			return itemType switch
+			{
+				CharacterItemType.Eyes => eyes[itemID], 
+				CharacterItemType.Mouth => mouths[itemID], 
+				_ => accessories[itemID], 
+			};
+		}
+		catch
+		{
+			return null;
+		}
+	}
+
+	internal int GetItemID(CharacterItem newSprite, CharacterItemType itemType)
+	{
+		CharacterItem[] array = null;
+		array = itemType switch
+		{
+			CharacterItemType.Eyes => eyes, 
+			CharacterItemType.Mouth => mouths, 
+			_ => accessories, 
+		};
+		for (int i = 0; i < array.Length; i++)
+		{
+			if (array[i].sprite == newSprite.sprite)
+			{
+				return i;
+			}
+		}
+		return -1;
+	}
+
+	public void UpdateItems(CharacterItemType target, CharacterItem[] items)
+	{
+		for (int i = 0; i < items.Length; i++)
+		{
+			items[i].sprite = items[i].GetComponent<SpriteRenderer>().sprite;
+		}
+		if (target == CharacterItemType.Eyes)
+		{
+			eyes = items;
+		}
+		if (target == CharacterItemType.Mouth)
+		{
+			mouths = items;
+		}
+		if (target == CharacterItemType.Detail)
+		{
+			accessories = items;
+		}
+	}
+}
-- 
cgit v1.1-26-g67d0