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/EmojiCombiner.cs | 49 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 GameCode/EmojiCombiner.cs (limited to 'GameCode/EmojiCombiner.cs') diff --git a/GameCode/EmojiCombiner.cs b/GameCode/EmojiCombiner.cs new file mode 100644 index 0000000..08039c4 --- /dev/null +++ b/GameCode/EmojiCombiner.cs @@ -0,0 +1,49 @@ +using UnityEngine; + +public class EmojiCombiner : MonoBehaviour +{ + public GameObject currentEmoji; + + public void AddEmoji(GameObject newEmoji) + { + CharacterItem characterItem = FindEmojiPiece(currentEmoji, "M"); + CharacterItem characterItem2 = FindEmojiPiece(newEmoji, "M"); + float delta = GetDelta(characterItem, characterItem2); + CharacterItem characterItem3 = FindEmojiPiece(currentEmoji, "E"); + CharacterItem characterItem4 = FindEmojiPiece(newEmoji, "E"); + float delta2 = GetDelta(characterItem3, characterItem4); + if (delta > delta2) + { + Object.Destroy(characterItem.gameObject); + GameObject obj = Object.Instantiate(characterItem2.gameObject); + obj.transform.SetParent(currentEmoji.transform); + obj.transform.localPosition = characterItem2.transform.localPosition; + } + else + { + Object.Destroy(characterItem3.gameObject); + GameObject obj2 = Object.Instantiate(characterItem4.gameObject); + obj2.transform.SetParent(currentEmoji.transform); + obj2.transform.localPosition = characterItem4.transform.localPosition; + } + } + + private float GetDelta(CharacterItem from, CharacterItem to) + { + return 1f; + } + + private CharacterItem FindEmojiPiece(GameObject emoji, string target) + { + target = target.ToUpper(); + CharacterItem[] componentsInChildren = emoji.GetComponentsInChildren(); + for (int i = 0; i < componentsInChildren.Length; i++) + { + if (componentsInChildren[i].name.ToUpper()[0] == target.ToCharArray()[0]) + { + return componentsInChildren[i]; + } + } + return null; + } +} -- cgit v1.1-26-g67d0