/// <summary> /// Parse string array to message dictionary. /// Format: /// for (string[],0,1,2,3,4,5,6,'|') /// 0|AlertText1|2|ButtonLabel1|CommandTarget1|CommandMember1|CommandValue1|ButtonLabel2|CommandTarget2|CommandMember2|CommandValue2| /// </summary> /// <param name="strings"></param> /// <param name="messageNumber"></param> /// <param name="messageText"></param> /// <param name="buttonsCount"></param> /// <param name="buttonLabel"></param> /// <param name="commandTarget"></param> /// <param name="commandMember"></param> /// <param name="commandValue"></param> /// <param name="splitter"></param> /// <returns></returns> public static Dictionary <int, UMessage> ParseFromStrings(string[] strings, int messageNumber, int messageText, int buttonsCount, int buttonLabel, int commandTarget, int commandMember, int commandValue, char splitter) { var result = new Dictionary <int, UMessage>(); foreach (var s in strings) { var strMessage = s.Split(splitter); var msg = new UMessage() { text = strMessage[messageText] }; var btnCount = System.Int32.Parse(strMessage[buttonsCount]); var btns = new UMessageButton[btnCount]; for (var i = 0; i < btnCount; i++) { var strValue = strMessage[commandValue + (i * 4)]; var button = new UMessageButton { label = strMessage[buttonLabel + (i * 4)], command = new UCommand() { target = strMessage[commandTarget + (i * 4)], member = strMessage[commandMember + (i * 4)], parameters = string.IsNullOrEmpty(strValue)? null:new object[] { strValue } } }; btns[i] = button; } msg.Buttons = btns; result.Add(System.Int32.Parse(strMessage[messageNumber]), msg); } return(result); }
/// <summary> /// /// </summary> /// <param name="messageText"></param> /// <param name="button"></param> public static void Show(string messageText, UMessageButton button) { Show(new UMessage { text = messageText, Buttons = new[] { button } }); }
/* * /// <summary> * /// * /// </summary> * public float showTime;*/ /// <summary> /// /// </summary> public UMessage() { text = string.Empty; Buttons = new UMessageButton[0]; }