asmrobot
2019-10-14 730fe7ea65bcadbe235e40bb54b2410d14495267
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
using RichCreator.Utility.InputControl;
using RichCreator.Utility.Structs;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static RichCreator.Utilitys.AttackRectangle;
 
namespace RichCreator.Jobs.StateMachines
{
    /// <summary>
    /// 技能信息
    /// </summary>
    public class SkillInfo
    {
        /// <summary>
        /// 技能列表
        /// </summary>
        private static Dictionary<HIDCode, SkillInfo> Skills = new Dictionary<HIDCode, SkillInfo>() {
            { HIDCode.Q,new SkillInfo (){ Key=HIDCode.Q,Range=new ZTSize (700,200),WaitTime=9,              AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Side,ReleaseTime=2000,SkillName="朔风牵引"} },
            { HIDCode.W,new SkillInfo (){ Key=HIDCode.W,Range=new ZTSize (620,240),WaitTime=45,             AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Center,ReleaseTime=2000,SkillName="风卷残云"} },
            { HIDCode.E,new SkillInfo (){ Key=HIDCode.E,Range=new ZTSize (1280,200),WaitTime=12.6f,         AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Side,ReleaseTime=2000,SkillName="双翼风刃"} },
            { HIDCode.R,new SkillInfo (){ Key=HIDCode.R,Range=new ZTSize (400,200),WaitTime=14.4f,          AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Side,ReleaseTime=600,SkillName="风暴之眼"} },
            { HIDCode.T,new SkillInfo (){ Key=HIDCode.T,Range=new ZTSize (120,300),WaitTime=40.5f,          AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Side,ReleaseTime=2000,SkillName="九霄风雷"} },
            { HIDCode.Y,new SkillInfo (){ Key=HIDCode.Y,Range=new ZTSize (1280,720),WaitTime=145,           AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Center,ReleaseTime=2000,SkillName="万象风龙阵"} },
                                                                                                            
                                                                                                            
            { HIDCode.A,new SkillInfo (){ Key=HIDCode.A,Range=new ZTSize (240,148),WaitTime=7.7f,           AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Nearly,ReleaseAnchor=SkillAnchor.Side,ReleaseTime=600,SkillName="风鸣冲击"} },
            { HIDCode.S,new SkillInfo (){ Key=HIDCode.S,Range=new ZTSize (180,430),WaitTime=22.5f,          AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Side,ReleaseTime=2000,SkillName="真空旋风破"} },
            { HIDCode.D,new SkillInfo (){ Key=HIDCode.D,Range=new ZTSize (1280,240),WaitTime=6.3f,          AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Side,ReleaseTime=500,SkillName="游离之风"} },
            { HIDCode.F,new SkillInfo (){ Key=HIDCode.F,Range=new ZTSize (370,224),WaitTime=40.5f,          AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Side,ReleaseTime=2000,SkillName="风暴之拳"} },
            { HIDCode.G,new SkillInfo (){ Key=HIDCode.G,Range=new ZTSize (730,218),WaitTime=36,             AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Side,ReleaseTime=2000,SkillName="游龙惊风破"} },
            { HIDCode.H,new SkillInfo (){ Key=HIDCode.H,Range=new ZTSize (1280,720),WaitTime=180,           AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Center,ReleaseTime=2000,SkillName="无限风域"} },
            { HIDCode.X,new SkillInfo (){ Key=HIDCode.X,Range=new ZTSize (200,170),WaitTime=0.5f,           AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Nearly,ReleaseAnchor=SkillAnchor.Side,ReleaseTime=500,SkillName="普通攻击"} },
            { HIDCode.Space,new SkillInfo (){ Key=HIDCode.Space,Range=new ZTSize (1280,720),WaitTime=300,   AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Nearly,ReleaseAnchor=SkillAnchor.Center,ReleaseTime=2000,SkillName="技能加成"} }
        };
 
        /// <summary>
        /// 获取技能
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        public static SkillInfo GetSkillInfo(HIDCode code)
        {
            if (Skills.ContainsKey(code))
            {
                return Skills[code];
            }
            return null;
        }
 
        /// <summary>
        /// 技能触发键
        /// </summary>
        public HIDCode Key;
 
        /// <summary>
        /// 攻击范围
        /// </summary>
        public ZTSize Range;
 
        /// <summary>
        /// 释放后需要等多少秒
        /// </summary>
        public float WaitTime;
 
        /// <summary>
        /// 技能名称
        /// </summary>
        public string SkillName;
 
        /// <summary>
        /// 技能释放时长
        /// </summary>
        public float ReleaseTime { get; set; }
 
        /// <summary>
        /// 技能释放锚点
        /// </summary>
        public SkillAnchor ReleaseAnchor { get; set; }
 
        /// <summary>
        /// 技能释放锚点编移
        /// 靠近为正,远离为负
        /// 上负,下正
        /// 锚点为中间时无效
        /// </summary>
        public ZTSize AnchorOffset { get; set; }
 
        /// <summary>
        /// 移动优先级
        /// </summary>
        public MovePriority MovePriority { get; set; }
 
 
        /// <summary>
        /// 技能释放锚点枚举
        /// </summary>
        public enum SkillAnchor
        {
            Side,
            Center
        }
 
 
    }
}