/// <summary> /// 查找经验 /// </summary> /// <param name="taskID"></param> /// <returns></returns> public long FindExperience(GameClient client, int taskID) { long experience = -1; lock (_ExperienceDict) { if (_ExperienceDict.TryGetValue(taskID, out experience)) { if (experience < 0) { //从lua脚本计算 experience = CalcLuaScript(client, taskID, null, "ExpLua"); } return(experience); } } SystemXmlItem systemTask = null; if (!GameManager.SystemTasksMgr.SystemXmlItemDict.TryGetValue(taskID, out systemTask)) { return(experience); } experience = systemTask.GetLongValue("Experienceaward"); lock (_ExperienceDict) { _ExperienceDict[taskID] = experience; } if (experience < 0) { //从lua脚本计算 experience = CalcLuaScript(client, taskID, systemTask, "ExpLua"); } return(experience); }
public long FindExperience(GameClient client, int taskID) { long experience = -1L; lock (this._ExperienceDict) { if (this._ExperienceDict.TryGetValue(taskID, out experience)) { if (experience < 0L) { experience = this.CalcLuaScript(client, taskID, null, "ExpLua"); } return(experience); } } SystemXmlItem systemTask = null; long result; if (!GameManager.SystemTasksMgr.SystemXmlItemDict.TryGetValue(taskID, out systemTask)) { result = experience; } else { experience = systemTask.GetLongValue("Experienceaward"); lock (this._ExperienceDict) { this._ExperienceDict[taskID] = experience; } if (experience < 0L) { experience = this.CalcLuaScript(client, taskID, systemTask, "ExpLua"); } result = experience; } return(result); }