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/PlayerSkinHandler.cs | 63 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)
 create mode 100644 GameCode/PlayerSkinHandler.cs

(limited to 'GameCode/PlayerSkinHandler.cs')

diff --git a/GameCode/PlayerSkinHandler.cs b/GameCode/PlayerSkinHandler.cs
new file mode 100644
index 0000000..3c23236
--- /dev/null
+++ b/GameCode/PlayerSkinHandler.cs
@@ -0,0 +1,63 @@
+using UnityEngine;
+
+public class PlayerSkinHandler : MonoBehaviour
+{
+	public bool simpleSkin;
+
+	private PlayerSkinParticle[] skins;
+
+	private CharacterData data;
+
+	private bool inited;
+
+	private void Start()
+	{
+		Init();
+	}
+
+	private void Init()
+	{
+		if (!inited)
+		{
+			inited = true;
+			ToggleSimpleSkin(simpleSkin);
+			data = GetComponentInParent<CharacterData>();
+			if (!simpleSkin)
+			{
+				GameObject gameObject = Object.Instantiate(PlayerSkinBank.GetPlayerSkinColors(data.player.playerID).gameObject, base.transform.position, base.transform.rotation, base.transform);
+				skins = gameObject.GetComponentsInChildren<PlayerSkinParticle>();
+			}
+		}
+	}
+
+	public void TakeDamageBlink(Vector2 damage, bool selfDamage)
+	{
+		BlinkColor(Color.white * 0.95f);
+	}
+
+	public void BlinkColor(Color blinkColor)
+	{
+		if (skins != null)
+		{
+			for (int i = 0; i < skins.Length; i++)
+			{
+				skins[i].BlinkColor(blinkColor);
+			}
+		}
+	}
+
+	public void InitSpriteMask(int spriteLayerID)
+	{
+		Init();
+		for (int i = 0; i < skins.Length; i++)
+		{
+			skins[i].Init(spriteLayerID);
+		}
+	}
+
+	public void ToggleSimpleSkin(bool isSimple)
+	{
+		simpleSkin = isSimple;
+		GetComponent<SetPlayerSpriteLayer>().ToggleSimple(isSimple);
+	}
+}
-- 
cgit v1.1-26-g67d0