private static Vector2 GetDatoPosition(MessageDialogPosition pos) { if (pos == MessageDialogPosition.UP) { return(new Vector2(230, 0)); } else { return(new Vector2(-230, 0)); } }
private static Vector3 GetTextPosition(MessageDialogPosition pos) { if (pos == MessageDialogPosition.UP) { return(new Vector3(-80, -5, -1)); } else { return(new Vector3(60, -5, -1)); } }
private static Vector2 GetBasePosition(MessageDialogPosition pos) { if (pos == MessageDialogPosition.UP) { return(new Vector2(0, 150)); } else { return(new Vector2(0, -150)); } }
public void Initialize(Camera camera, Vector2 popupPosition, int animationId, string message, Action <int> callback, int forChapterId = 0) { this.gameObject.name = "MessageDialog"; canvas.worldCamera = camera; this.onClickCallback = callback; if (animationId > 500) { dialogPosition = MessageDialogPosition.UP; } messageBoxBase = this.transform.Find("Canvas/MessageBase").gameObject; messageBoxBase.transform.localPosition = GetBasePosition(dialogPosition); Clickable clickable = messageBoxBase.GetComponent <Clickable>(); clickable.Initialize(() => { this.OnClicked(); }); PopUp popUp = messageBoxBase.GetComponent <PopUp>(); popUp.Initialize(popupPosition); localizedMessage = message; localizedMessage = localizedMessage.Replace("#", "\r\n"); datoControl = GameObjectExtension.CreateFromPrefab <DatoControl>("Prefabs/DatoControl"); datoControl.Initialize(messageBoxBase.transform, animationId, GetDatoPosition(dialogPosition), (dialogPosition == MessageDialogPosition.DOWN)); if (forChapterId > 0) { textObj = FontAssets.ComposeTextMeshObjectForChapter(forChapterId, localizedMessage); } else { textObj = FontAssets.ComposeTextMeshObject(localizedMessage); } Transform textAnchor = this.transform.Find("Canvas/MessageBase/TextAnchor"); textAnchor.localPosition = GetTextPosition(dialogPosition); textObj.transform.parent = textAnchor; //textObj.transform.localPosition = new Vector2(190, -50); textObj.transform.localPosition = new Vector3(0, 0, 0); textObj.transform.localScale = new Vector3(5, 5, 1); textObj.gameObject.layer = 5; // textObj.fontSize = 20; displayLength = 1; textObj.text = localizedMessage.Substring(0, 1); }