Exemplo n.º 1
0
        //Lägger till alla alternativ som GameObjects i Inputfönstret, renderar dem och tar bort dem
        //(de behövs bara renderas engång, efter som spelaren gör sitt val innan nästa rendering)
        public void DisplayChoises(Choice[] choices)
        {
            for (int i = 0; i < choices.Length; i++)
            {
                GameObject gameObject = new GameObject("text");

                Text textComponent = gameObject.GetComponent <Text>();

                textComponent.Wrapper = (uint)(GetComponent <Sprite>()._transform.w - (_textMargin * 2));
                textComponent.Message = (i + 1) + ". " + choices[i].Text;

                gameObject.SetParent(this);
                gameObject.SetParentScene(ParentScene);

                gameObject._transform.y = _textMargin + (i * textComponent._transform.h);
                gameObject._transform.x = _textMargin;

                _gameObjects.Add(gameObject);
                ParentScene.AddGameObject(gameObject);
            }

            RenderEngine.Render();

            foreach (GameObject gameObject in _gameObjects)
            {
                gameObject.Dispose();
                SceneManager.RemoveGameObject(gameObject);
            }
        }
Exemplo n.º 2
0
        public void Init()
        {
            _textMessages = new List <GameObject>();

            //Genererar sender is Typing GameObjectet (ser alltid lika dant ut)
            /*-------------------------------------------------------------------*/

            _isTyping = new GameObject("text");
            _isTyping._transform.y = GetComponent <Sprite>()._transform.h;
            _isTyping._transform.x = _textMarginX;
            _isTyping.SetParent(this);
            _isTyping.SetParentScene(ParentScene);
            ParentScene.AddGameObject(_isTyping);

            /*-------------------------------------------------------------------*/
        }
Exemplo n.º 3
0
        public void TypeMessage(Message message)
        {
            //Skapar ett GameObject av medelandet
            /*-------------------------------------------------------------------*/

            GameObject gameObject = new GameObject("text");

            Text textComponent = gameObject.GetComponent <Text>();

            textComponent.Wrapper = (uint)(GetComponent <Sprite>()._transform.w - (_textMargin * 2));

            gameObject.SetParent(this);
            gameObject.SetParentScene(ParentScene);

            gameObject._transform.y = _textMargin;
            gameObject._transform.x = _textMargin;

            //Lägger till GameObjectet i Scenen
            /*-------------------------------------------------------------------*/

            _gameObjects.Add(gameObject);
            ParentScene.AddGameObject(gameObject);

            //Lägger till en karaktär i medelandet, väntar och renderar
            /*-------------------------------------------------------------------*/

            for (int i = 0; i < message.Text.Length; i++)
            {
                textComponent.Message += message.Text[i];
                RenderEngine.Render();
                InputManager.InvokeInputEvents(null);
                Kōkako.Wait(Kōkako.random.Next(1, 7));
            }

            /*-------------------------------------------------------------------*/
        }
Exemplo n.º 4
0
        public void DisplayMessage(Message message)
        {
            //Skapar ett GameObject av medelandet
            /*-------------------------------------------------------------------*/

            GameObject textGameObject = new GameObject("text");

            Text textComponent = textGameObject.GetComponent <Text>();

            textComponent.Wrapper = (uint)((GetComponent <Sprite>()._transform.w * 2 / 3) - (_textMarginY * 2));
            textComponent.Message = message.Text;

            textGameObject.SetParent(this);
            textGameObject.SetParentScene(ParentScene);

            textGameObject._transform.y = GetComponent <Sprite>()._transform.h - textComponent._transform.h - (_textMarginY / 2);
            if (message._Sender != Message.Sender.User)
            {
                textGameObject._transform.x = _textMarginX;
            }
            else
            {
                textGameObject._transform.x = GetComponent <Sprite>()._transform.w - textComponent._transform.w - _textMarginX;
            }


            //Skapar ett GameObject av textrutan
            /*-------------------------------------------------------------------*/

            GameObject textboxGameObject = new GameObject("textbox");
            Sprite     TextboxSprite     = textboxGameObject.GetComponent <Sprite>();

            textboxGameObject.SetParent(textGameObject);
            textboxGameObject.SetParentScene(ParentScene);

            //Får sin position av Parent, ändrar marginal
            textboxGameObject._transform.x = -50;
            textboxGameObject._transform.y = -40;
            TextboxSprite._transform.w     = textComponent.TextureSize.w + 100;
            TextboxSprite._transform.h     = textComponent.TextureSize.h + 80;

            //Skapar ett GameObject av datorns tid
            /*-------------------------------------------------------------------*/

            GameObject timeGameObject = new GameObject("text");
            Text       timeText       = timeGameObject.GetComponent <Text>();

            timeText.FontSize = 45;
            timeText.Message  = GetTime();
            timeText.SetTransperancy(125);

            timeGameObject.SetParent(textGameObject);
            timeGameObject.SetParentScene(ParentScene);

            if (message._Sender == Message.Sender.User)
            {
                timeGameObject._transform.x = textComponent.TextureSize.w - timeText.TextureSize.w;
            }
            else
            {
                timeGameObject._transform.x = 0;
            }
            timeGameObject._transform.y = -50 - (timeText.TextureSize.h);

            //Bara medelandet behöver ligga i _textMessages eftersom att Tiden och textrutan flyttas automatiskt pga de har medelandet som parent
            //Lägger till alla GameObjects i Scenen
            /*-------------------------------------------------------------------*/

            ScrollMessages(textComponent._transform.h);
            _textMessages.Add(textGameObject);
            ParentScene.AddGameObject(textboxGameObject);
            ParentScene.AddGameObject(textGameObject);
            ParentScene.AddGameObject(timeGameObject);
        }