void Start() {
rectTransform = GetComponent<RectTransform>();
//Create shadows
shadow = Instantiate(Resources.Load("UI/Shadows/Shadow-3") as GameObject).GetComponent<Graphic>();
shadowHover = Instantiate(Resources.Load("UI/Shadows/Shadow-5") as GameObject).GetComponent<Graphic>();
//Set parents
shadow.transform.SetParent(transform.parent);
shadowHover.transform.SetParent(transform.parent);
//Set names
shadow.transform.name = transform.name + " Shadow";
shadowHover.transform.name = transform.name + " Hover Shadow";
//Order transforms
shadow.transform.SetAsLastSibling();
shadowHover.transform.SetAsLastSibling();
transform.SetAsLastSibling();
//Hide at first
FadeOut(0f);
shadow.CrossFadeAlpha(0f, 0f, false);
shadowHover.CrossFadeAlpha(0f, 0f, false);
//Fade in
FadeIn(fadeDuration);
shadow.CrossFadeAlpha(1f, fadeDuration, false);
}