public bool Add(QUEST_AUTO_PATH_POS_CHARCODE kData) { if (this.m_dicQuestAutoPathPosCharCode.ContainsKey(kData.strCharCode)) { return(false); } this.m_dicQuestAutoPathPosCharCode.Add(kData.strCharCode, kData); return(true); }
public void SetPlace(string strPlace, ref int i32CastleUnique, ref int i32SectionUnique, ref float fX, ref float fZ, ref int i32SrcCharKind) { if (strPlace.Equals("off")) { i32CastleUnique = -1; return; } char[] array = TKString.StringChar(strPlace); byte b = 0; byte b2 = 0; int charkind = 0; string text = string.Empty; bool flag = false; while ((int)b < strPlace.Length) { if (array[(int)b] == ' ') { b += 1; } else if (array[(int)b] == '_') { if (b2 == 0) { if (text == "pos") { flag = true; } else { int.TryParse(text, out i32CastleUnique); } text = string.Empty; b2 += 1; } else if (b2 == 1) { if (flag) { int.TryParse(text, out i32CastleUnique); } else { int.TryParse(text, out i32SectionUnique); } text = string.Empty; b2 += 1; } else if (b2 == 2) { if (flag) { float.TryParse(text, out fX); } text = string.Empty; b2 += 1; } b += 1; } else if (array[(int)b] == '/') { text += '_'; b += 1; } else { text += array[(int)b]; b += 1; } } if (flag) { float.TryParse(text, out fZ); } else { int.TryParse(text, out i32SrcCharKind); int.TryParse(text, out charkind); NrCharKindInfo charKindInfo = NrTSingleton <NrCharKindInfoManager> .Instance.GetCharKindInfo(charkind); if (charKindInfo != null) { QUEST_AUTO_PATH_POS_CHARCODE autoPath = NrTSingleton <NkQuestManager> .Instance.GetAutoPath((int)((short)i32CastleUnique), 0, charKindInfo.GetCode()); if (autoPath != null) { fX = autoPath.fDesX; fZ = autoPath.fDesY; } } } }