示例#1
0
        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();
        }
示例#2
0
 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();
 }
示例#3
0
        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);
                            }
                        }
                    }
                }
            }
        }