public override bool OnMessage(SceneDeck e, MessageInfo message) { // メッセージタイプが一致している箇所に switch (message.messageType) { case MessageType.ClickLineButton: // byte[]→構造体 ChangeLine info = new ChangeLine(); IntPtr ptr = Marshal.AllocHGlobal(Marshal.SizeOf(info)); Marshal.Copy(message.exInfo, 0, ptr, Marshal.SizeOf(info)); info = (ChangeLine)Marshal.PtrToStructure(ptr, info.GetType()); Marshal.FreeHGlobal(ptr); //+------------------------------------------------------------- //// セレクトタイプによってステート変更 //switch ((CHANGE_LINE_TYPE)info.iNextLine) //{ // case CHANGE_LINE_TYPE.BACK: // SelectData.iDeckCollectLineNo -= 1; // Debug.Log("SceneCollectState: LINE移動↑(マイナス)"); // break; // case CHANGE_LINE_TYPE.NEXT: // SelectData.iDeckCollectLineNo += 1; // Debug.Log("SceneCollectState: LINE移動↓(プラス)"); // break; // case CHANGE_LINE_TYPE.END: // Debug.LogWarning("SceneCollectState: それ以上のタイプはない。"); // break; // default: // break; //} // SE oulAudio.PlaySE("decide2"); // コレクションカードのライン変更! e.ChangeLine(info.iNextLine); return(true); // trueを返して終り case MessageType.ClickBackButton: SceneManager.LoadScene("Menu"); return(true); // trueを返して終り default: Debug.LogWarning("なにを送ったんや?"); break; } return(false); // 何も引っかからなかった }
internal void Insert(int lineNumber, int pos, string bufLine) { log.msg2(bufLine); int ext = pos - data[lineNumber].Length; if (ext >= 0) { data[lineNumber] += new string[' ', ext] + bufLine; } else { //string tmp = data[lineNumber]; //data[lineNumber] = string.Concat( // tmp.Substring(0, pos), // bufLine, // tmp.Substring(pos) // ); data[lineNumber] = data[lineNumber].Insert(pos, bufLine); } ChangeLine?.Invoke(lineNumber); }