88 lines
3.2 KiB
C#
88 lines
3.2 KiB
C#
/***********************************************
|
|
EasyTouch Controls
|
|
Copyright © 2016 The Hedgehog Team
|
|
http://www.thehedgehogteam.com/Forum/
|
|
|
|
The.Hedgehog.Team@gmail.com
|
|
|
|
**********************************************/
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using UnityEngine.EventSystems;
|
|
using System.Collections;
|
|
|
|
[System.Serializable]
|
|
public class ETCArea : MonoBehaviour {
|
|
|
|
public enum AreaPreset { Choose, TopLeft, TopRight, BottomLeft, BottomRight};
|
|
|
|
public bool show;
|
|
|
|
#region Constructeur
|
|
public ETCArea(){
|
|
show = true;
|
|
}
|
|
#endregion
|
|
|
|
#region MonoBehaviour Callback
|
|
public void Awake(){
|
|
GetComponent<Image>().enabled = show;
|
|
}
|
|
#endregion
|
|
|
|
public void ApplyPreset(AreaPreset preset){
|
|
|
|
RectTransform parent = transform.parent.GetComponent<RectTransform>();
|
|
|
|
switch (preset) {
|
|
case AreaPreset.TopRight:
|
|
this.rectTransform().anchoredPosition = new Vector2(parent.rect.width/4f,parent.rect.height/4f);
|
|
this.rectTransform().SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal,parent.rect.width/2f);
|
|
this.rectTransform().SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical,parent.rect.height/2f);
|
|
|
|
this.rectTransform().anchorMin = new Vector2(1,1);
|
|
this.rectTransform().anchorMax = new Vector2(1,1);
|
|
this.rectTransform().anchoredPosition = new Vector2( -this.rectTransform().sizeDelta.x/2f , -this.rectTransform().sizeDelta.y/2f );
|
|
|
|
break;
|
|
|
|
case AreaPreset.TopLeft:
|
|
this.rectTransform().anchoredPosition = new Vector2(-parent.rect.width/4f,parent.rect.height/4f);
|
|
this.rectTransform().SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal,parent.rect.width/2f);
|
|
this.rectTransform().SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical,parent.rect.height/2f);
|
|
|
|
this.rectTransform().anchorMin = new Vector2(0,1);
|
|
this.rectTransform().anchorMax = new Vector2(0,1);
|
|
this.rectTransform().anchoredPosition = new Vector2( this.rectTransform().sizeDelta.x/2f, -this.rectTransform().sizeDelta.y/2f );
|
|
|
|
break;
|
|
|
|
case AreaPreset.BottomRight:
|
|
this.rectTransform().anchoredPosition = new Vector2(parent.rect.width/4f,-parent.rect.height/4f);
|
|
this.rectTransform().SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal,parent.rect.width/2f);
|
|
this.rectTransform().SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical,parent.rect.height/2f);
|
|
|
|
this.rectTransform().anchorMin = new Vector2(1,0);
|
|
this.rectTransform().anchorMax = new Vector2(1,0);
|
|
this.rectTransform().anchoredPosition = new Vector2( -this.rectTransform().sizeDelta.x/2f , this.rectTransform().sizeDelta.y/2f );
|
|
|
|
break;
|
|
|
|
case AreaPreset.BottomLeft:
|
|
this.rectTransform().anchoredPosition = new Vector2(-parent.rect.width/4f,-parent.rect.height/4f);
|
|
this.rectTransform().SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal,parent.rect.width/2f);
|
|
this.rectTransform().SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical,parent.rect.height/2f);
|
|
|
|
this.rectTransform().anchorMin = new Vector2(0,0);
|
|
this.rectTransform().anchorMax = new Vector2(0,0);
|
|
this.rectTransform().anchoredPosition = new Vector2( this.rectTransform().sizeDelta.x/2f , this.rectTransform().sizeDelta.y/2f );
|
|
|
|
break;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|