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]; } }
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); }