예제 #1
0
 protected override void Awake()
 {
     if (!Application.isPlaying)
     {
         return;
     }
     if (Replayer.PostedReplay == null)
     {
         //This shouldn't happen, but here's trivial handling to avoid catastrophic problems
         MainScreen = new UIScreen(
             new FuncNode(GameManagement.GoToMainMenu, to_menu)
             ).With(UIScreenV);
     }
     else
     {
         var r          = Replayer.PostedReplay.Value;
         var replayName = new TextInputNode(replay_name);
         var save       = replay_save;
         MainScreen = new UIScreen(
             new UINode(() => r.metadata.Record.AsDisplay(true, true, true)).With(small1Class),
             new PassthroughNode(LocalizedString.Empty),
             replayName,
             new FuncNode(() => {
             r.metadata.Record.AssignName(replayName.DataWIP);
             //The name edit changes the name under the record
             SaveData.SaveRecord();
             SaveData.p.SaveNewReplay(r);
             save = replay_saved;
             return(true);
         }, () => save, true),
             new FuncNode(GameManagement.GoToMainMenu, to_menu)
             ).With(UIScreenV);
     }
     MainScreen.ExitNode = MainScreen.top[MainScreen.top.Length - 1];
     base.Awake();
     if (MainScreen.top.Length > 2)
     {
         Current = MainScreen.top[2];
     }
 }
예제 #2
0
            public static TextInputNode Read(BinaryReader br)
            {
                TextInputNode ret = new TextInputNode();

                ret.TextNode = TextNode.Read(br);
                ret.Color    = br.ReadUInt32();
                ret.IMEColor = br.ReadUInt32();
                ret.MaxWidth = br.ReadUInt32();
                ret.MaxLine  = br.ReadUInt32();
                ret.MaxSByte = br.ReadUInt32();
                ret.MaxChar  = br.ReadUInt32();

                ret.field1 = br.ReadByte();

                ret.Ufast          = (ret.field1 & 0x80) == 0x80;
                ret.Mask           = (ret.field1 & 0x40) == 0x40;
                ret.Phrase         = (ret.field1 & 0x20) == 0x20;
                ret.HistoryEnabled = (ret.field1 & 0x10) == 0x10;
                ret.IMEEnabled     = (ret.field1 & 0x08) == 0x08;
                ret.EscapeClears   = (ret.field1 & 0x04) == 0x04;
                ret.CapsAllowed    = (ret.field1 & 0x02) == 0x02;
                ret.LowerAllowed   = (ret.field1 & 0x01) == 0x01;

                ret.field2 = br.ReadByte();

                ret.NumbersAllowed = (ret.field2 & 0x80) == 0x80;
                ret.SymbolsAllowed = (ret.field2 & 0x40) == 0x40;
                ret.WordWrap       = (ret.field2 & 0x20) == 0x20;
                ret.Multi          = (ret.field2 & 0x10) == 0x10;
                ret.AutoMaxWidth   = (ret.field2 & 0x08) == 0x08;
                ret.Unk1           = (byte)(ret.field2 & 0x07);

                ret.Charset       = br.ReadUInt16();
                ret.CharsetExtras = br.ReadChars(16);
                return(ret);
            }