//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); } }
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); /*-------------------------------------------------------------------*/ }
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)); } /*-------------------------------------------------------------------*/ }
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); }