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/SetPlayerSpriteLayer.cs | 44 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 GameCode/SetPlayerSpriteLayer.cs (limited to 'GameCode/SetPlayerSpriteLayer.cs') diff --git a/GameCode/SetPlayerSpriteLayer.cs b/GameCode/SetPlayerSpriteLayer.cs new file mode 100644 index 0000000..cd0ba36 --- /dev/null +++ b/GameCode/SetPlayerSpriteLayer.cs @@ -0,0 +1,44 @@ +using UnityEngine; + +public class SetPlayerSpriteLayer : MonoBehaviour +{ + private SpriteMask[] sprites; + + private bool simpleSkin; + + private void Start() + { + simpleSkin = GetComponent().simpleSkin; + Player componentInParent = GetComponentInParent(); + int num = SortingLayer.NameToID("Player" + (componentInParent.playerID + 1)); + setSpriteLayerOfChildren(GetComponentInParent().holdable.gameObject, num); + setSpriteLayerOfChildren(base.gameObject, num); + if (!simpleSkin) + { + GetComponent().InitSpriteMask(num); + } + } + + private void setSpriteLayerOfChildren(GameObject obj, int layer) + { + sprites = obj.transform.root.GetComponentsInChildren(); + for (int i = 0; i < sprites.Length; i++) + { + if (simpleSkin) + { + sprites[i].enabled = false; + sprites[i].GetComponent().enabled = true; + } + else + { + sprites[i].frontSortingLayerID = layer; + sprites[i].backSortingLayerID = layer; + } + } + } + + public void ToggleSimple(bool isSimple) + { + simpleSkin = isSimple; + } +} -- cgit v1.1-26-g67d0