Example #1
0
        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); // 何も引っかからなかった
        }
Example #2
0
        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);
        }