コード例 #1
0
ファイル: NTree.cs プロジェクト: tuita520/GTARPG
        public void DrawDetails(NTree dataTree)
        {
            if (Type == NodeType.Skill)
            {
                var skill = RPG.PlayerData.Skills.First(s => s.Name == Ref);
                new UIText(Ref, new Point(UI.WIDTH / 2, UI.HEIGHT - 95), 0.3f, Color.White, 0, true).Draw();
                new UIText(skill.Description, new Point(UI.WIDTH / 2, UI.HEIGHT - 75), 0.22f, Color.White, 0, true).Draw();

                var topPoint = new Point(UI.WIDTH / 2, UI.HEIGHT - 62);

                var i       = 0;
                var sparams = SkillRepository.GetVisibleParams(Ref);
                foreach (var kvp in sparams)
                {
                    new UIText(kvp.Key + ": " + kvp.Value.Invoke(skill), topPoint + new Size(0, 10 * i), 0.20f, Color.DodgerBlue, 0, true).Draw();
                    i++;
                }

                new UIText(skill.Unlocked ? "unlocked" : "unlock for " + skill.PointsToUnlock + " SP", new Point(UI.WIDTH / 2, UI.HEIGHT - 22), 0.20f, Color.Gray, 0, true).Draw();
                Sprite.Draw(new Point(UI.WIDTH / 2 - 140, UI.HEIGHT - 50), 40, 40, Color.FromArgb(120, 255, 255, 255));
            }
            else if (Type == NodeType.Weapon)
            {
                var wep = RPG.PlayerData.Weapons.FirstOrDefault(s => s.WeaponHash == WepHash);
                new UIText(Ref, new Point(UI.WIDTH / 2, UI.HEIGHT - 95), 0.3f, Color.White, 0, true).Draw();
                new UIText(wep.Description, new Point(UI.WIDTH / 2, UI.HEIGHT - 75), 0.22f, Color.White, 0, true).Draw();

                var topPoint = new Point(UI.WIDTH / 2, UI.HEIGHT - 62);

                //var i = 0;
                //var sparams = SkillRepository.GetVisibleParams(Ref);
                //foreach (var kvp in sparams)
                //{
                //    new UIText(kvp.Key +": " + kvp.Value.Invoke(skill) ,topPoint + new Size(0,10 * i) , 0.20f, Color.DodgerBlue, 0, true).Draw();
                //    i++;
                //}

                new UIText(wep.Unlocked ? "unlocked" : "unlock for " + wep.PointsToUnlock + " SP [Requires Lv." + wep.LevelToUnlock + "]", new Point(UI.WIDTH / 2, UI.HEIGHT - 22), 0.20f, Color.Gray, 0, true).Draw();
                Sprite.Draw(new Point(UI.WIDTH / 2 - 140, UI.HEIGHT - 50), 40, 40, Color.FromArgb(120, 255, 255, 255));
            }
            else if (Type == NodeType.SkillMod)
            {
                new UIText(Ref, new Point(UI.WIDTH / 2, UI.HEIGHT - 95), 0.3f, Color.White, 0, true).Draw();
                new UIText(Description, new Point(UI.WIDTH / 2, UI.HEIGHT - 75), 0.22f, Color.White, 0, true).Draw();

                var skillForMod  = RPG.PlayerData.Skills.FirstOrDefault(s => s.Name == dataTree.TreeRef);
                var mod          = skillForMod.UsedMods.FirstOrDefault(s => s == Ref);
                var unlockedText = mod != null ? "unlocked" : "unlock for " + skillForMod.Mods[Ref] + " SP";

                new UIText(unlockedText, new Point(UI.WIDTH / 2, UI.HEIGHT - 22), 0.20f, Color.Gray, 0, true).Draw();
                Sprite.Draw(new Point(UI.WIDTH / 2 - 140, UI.HEIGHT - 50), 40, 40, Color.FromArgb(120, 255, 255, 255));
            }
        }