public override void Init(int width, int height) { base.Init(width, height); showImage = true; config = ConfigData.GetSceneQuestConfig(EventId); if (config.Level > 0) { eventLevel = config.Level; } else { eventLevel = ConfigData.GetSceneConfig(UserProfile.InfoBasic.MapId).Level; } int regionIndex = 1; if (config.TriggerDNAHard != null && config.TriggerDNAHard.Length > 0) { for (int i = 0; i < config.TriggerDNAHard.Length; i++) { var dnaId = DnaBook.GetDnaId(config.TriggerDNAHard[i]); if (UserProfile.InfoBasic.HasDna(dnaId)) { vRegion.AddRegion(new ImageRegion(dnaId, 28 * regionIndex, 55, 24, 24, ImageRegionCellType.None, HSIcons.GetImage("Dna", dnaId))); dnaChangeDict[dnaId] = "事件难度 " + config.TriggerDNAHard[i].Substring(3); //dnaChangeDict[dnaId] += "$经验资源 " + GetDnaStr(-int.Parse(config.TriggerDNAHard[i + 1])); regionIndex++; } } } if (config.TriggerDNARate != null && config.TriggerDNARate.Length > 0) { for (int i = 0; i < config.TriggerDNARate.Length; i++) { var dnaId = DnaBook.GetDnaId(config.TriggerDNARate[i]); if (UserProfile.InfoBasic.HasDna(dnaId)) { var dataStr = "出现几率 " + config.TriggerDNARate[i].Substring(3); if (dnaChangeDict.ContainsKey(dnaId)) { dnaChangeDict[dnaId] += "$" + dataStr; } else { vRegion.AddRegion(new ImageRegion(dnaId, 28 * regionIndex, 55, 24, 24, ImageRegionCellType.None, HSIcons.GetImage("Dna", dnaId))); dnaChangeDict[dnaId] = dataStr; } regionIndex++; } } } interactBlock = SceneQuestBook.GetQuestData(this, EventId, eventLevel, config.Script); answerList = new List <SceneQuestBlock>(); SetupQuestItem(); }
public override void Init(int width, int height) { base.Init(width, height); showImage = true; config = ConfigData.GetSceneQuestConfig(EventId); if (config.Level > 0) { eventLevel = config.Level; } else { eventLevel = ConfigData.GetSceneConfig(UserProfile.InfoBasic.MapId).Level; } interactBlock = SceneQuestBook.GetQuestData(EventId, eventLevel, config.Script); answerList = new List <SceneQuestBlock>(); SetupQuestItem(); }
private void SetupQuestItem() { Graphics g = this.CreateGraphics(); colorWord.UpdateText(interactBlock.Script, g); g.Dispose(); answerList.Clear(); foreach (var sceneQuestBlock in interactBlock.Children) { if (sceneQuestBlock.Disabled) { continue; } AddBlockAnswer(sceneQuestBlock); if (sceneQuestBlock.Children != null) { var childScript = sceneQuestBlock.Children[0].Script; if (childScript.StartsWith("fight")) //如果是战斗 { sceneQuestBlock.SetScript(string.Format("|icon.abl1||{0}", sceneQuestBlock.Script)); if (config.CanBribe)//判断战斗贿赂 { int fightLevel = Math.Max(1, eventLevel); var cost = GameResourceBook.OutCarbuncleBribe(UserProfile.InfoBasic.Level, fightLevel); if (UserProfile.InfoBag.HasResource(GameResourceType.Carbuncle, cost)) { var questBlock = SceneQuestBook.GetQuestData(this, EventId, eventLevel, "blockbribe"); questBlock.SetScript(string.Format("|icon.res5||{0}|lime|(消耗{1})", questBlock.Script, cost)); questBlock.Children[0].Children[0].Children[0] = sceneQuestBlock.Children[0].Children[1].Children[0].Children[0];//找到成功的结果 AddBlockAnswer(questBlock); } } } } } }