Как сохранить старый текст и добавить новую строку текста при вводе команды
Привет, я в основном пытаюсь сохранить старый текст, и в то время как если вы наберете его, помогите ему добавить новую строку текста. проблема в том, что каждый раз, когда я набираю справку, она снова печатает старый текст (дважды), а затем печатает новый.
public Canvas myCanvas; public Text myText; private string display = ""; List<string> chatEvents; private bool calltext; public InputField inputfield; private Dictionary<string, System.Action<string,string>> commands; protected void Awake() { commands = new Dictionary<string, System.Action<string,string>>(); // Add the commands you want to recognise along with the functions to call commands.Add( "help", OnHelpTyped ); // Listen when the inputfield is validated inputfield.onEndEdit.AddListener( OnEndEdit ); } private void OnEndEdit( string input ) { // Only consider onEndEdit if the Submit button has been pressed if ( !Input.GetButtonDown( "Submit" ) ) return; bool commandFound = false; // Find the command foreach ( var item in commands ) { if ( item.Key.ToLower().StartsWith( input.ToLower() ) ) { commandFound = true; item.Value( item.Key, input ); break; } } // Do something if the command has not been found if ( !commandFound ) Debug.Log( "No word found" ); // Clear the input field (if you want) inputfield.text = ""; } private void OnHelpTyped( string command, string input ) { chatEvents.Add ("The List"); calltext = true; } // Use this for initialization void Start () { chatEvents = new List<string>(); chatEvents.Add("Welcome to my simple application "); chatEvents.Add ("Type help for list of commands"); calltext = true; } // Update is called once per frame void Update () { if(calltext) { AddText(); calltext = false; } } void AddText() { foreach(string msg in chatEvents) { display = display.ToString () + msg.ToString() + "\n"; } myText.text = display; }
Что я уже пробовал:
Я перепробовал все, и это, кажется, работает, но он добавляет последние два текста плюс новый текст