summaryrefslogtreecommitdiff
path: root/ROUNDS/EmojiCombiner.cs
blob: 08039c4929c525b56b7c4835986d38a141870c14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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<CharacterItem>();
		for (int i = 0; i < componentsInChildren.Length; i++)
		{
			if (componentsInChildren[i].name.ToUpper()[0] == target.ToCharArray()[0])
			{
				return componentsInChildren[i];
			}
		}
		return null;
	}
}