override public IRTSDefine.Error onCompile(RTSList <IRTSLinker> compileList) { if (mBeConst) { return(0); } else if (mId == IRTSDefine.Linker.VARIABLE) { mConst = RTSConverter.getCompileValue(mSrc); if (mConst == null && !RTSUtil.isGoodName(mSrc)) { return(IRTSDefine.Error.Compiling_DenyLinker); } return(0); } else if (mId == IRTSDefine.Linker.FUNCTION) { if (!RTSUtil.isGoodName(mSrc)) { return(IRTSDefine.Error.Compiling_DenyLinker); } compileList.add(mArg); return(0); } else { return(IRTSDefine.Error.Compiling_DenyLinker); } }
void formatInput() { mTimer -= Time.unscaledDeltaTime; if (mTimer < 0) { mTimer = 1.6f; } bool newCur = mTimer <= 0.8f; if (mText != null && !ireader.IsDirty && (newCur == mCursorLight)) { return; } mCursorLight = newCur; mText = ireader.Text; if (mText == null) { mText = ""; } string curColor = mCursorLight ? "#ffffffff" : "#808080ff"; LinkedList <RichTextStyle> styles = null; int off; if (useStyle) { if (mReader == null) { wordReard.Reload(mText); off = wordReard.getTempOffset(); string atomStr; while (wordReard.hasNext()) { wordReard.fixCharsOffset(); noteStyle.start = off; noteStyle.end = wordReard.getTempOffset(); RichTextStyle.AddStyle(ref styles, noteStyle, true); off = wordReard.getTempOffset(); atomStr = wordReard.nextWord(mEngine); if (atomStr == null) { break; } RichTextStyle set; if (RTSConverter.getCompileValue(atomStr) != null || atomStr.StartsWith("\"")) { set = valueStyle; } else if (mEngine.containsVar(atomStr)) { set = variableStyle; } else { set = mEngine.isKeyWord(atomStr) ? keyWordStyle : normalStyle; } set.start = off; set.end = wordReard.getTempOffset(); RichTextStyle.AddStyle(ref styles, set, true); off = wordReard.getTempOffset(); } } else { readStyle.start = 0; readStyle.end = mText.Length; RichTextStyle.AddStyle(ref styles, readStyle, true); } } off = Mathf.Min(ireader.SelectStart, ireader.SelectEnd); int end = Mathf.Max(ireader.SelectStart, ireader.SelectEnd); selectionStyle.start = off; selectionStyle.end = end; RichTextStyle.AddStyle(ref styles, selectionStyle, true); int curIndex = ireader.SelectStart; if (curIndex == ireader.Length) { mText += "_"; } else { char c = mText[curIndex]; if (c == ' ') { mText = mText.Remove(curIndex, 1); mText = mText.Insert(curIndex, "_"); } else if (c == '\n') { mText = mText.Insert(curIndex, "_"); } } RichTextStyle.AddStyle(ref styles, new RichTextStyle(curIndex, curIndex + 1, curColor, mReader == null ? 0 : readStyle.size, 0), true); RichTextStyle.Optimization(styles); mText = RichTextStyle.UseStyles(styles, mText, RichTextType.gui_style); if (mReader != null) { mText = mReaderName + "$" + mText; } }