示例#1
0
 private static Vector2 GetDatoPosition(MessageDialogPosition pos)
 {
     if (pos == MessageDialogPosition.UP)
     {
         return(new Vector2(230, 0));
     }
     else
     {
         return(new Vector2(-230, 0));
     }
 }
示例#2
0
 private static Vector3 GetTextPosition(MessageDialogPosition pos)
 {
     if (pos == MessageDialogPosition.UP)
     {
         return(new Vector3(-80, -5, -1));
     }
     else
     {
         return(new Vector3(60, -5, -1));
     }
 }
示例#3
0
 private static Vector2 GetBasePosition(MessageDialogPosition pos)
 {
     if (pos == MessageDialogPosition.UP)
     {
         return(new Vector2(0, 150));
     }
     else
     {
         return(new Vector2(0, -150));
     }
 }
示例#4
0
        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);
        }