コード例 #1
0
 static public SkillUnit.SkillUnit CloneSkillUnit(SkillUnit.SkillUnit a)
 {
     SkillUnit.SkillUnit b = new SkillUnit.SkillUnit();
     b.artId                   = a.artId;
     b.cd                      = a.cd;
     b.distance                = a.distance;
     b.id                      = a.id;
     b.launchType              = a.launchType;
     b.referId                 = a.referId;
     b.skillTime               = a.skillTime;
     b.targetType              = a.targetType;
     b.guidePolicy             = new SkillUnit.SkillGuidePolicy();
     b.guidePolicy.guideTime   = a.guidePolicy.guideTime;
     b.guidePolicy.guidingTime = a.guidePolicy.guidingTime;
     b.guidePolicy.endTime     = a.guidePolicy.endTime;
     b.guidePolicy.type        = a.guidePolicy.type;
     return(b);
 }
コード例 #2
0
        private void DrawUnitList(float width)
        {
            //unit list
            GUILayout.BeginVertical("Box");
            EditorGUILayout.LabelField("SkillUnit List");
            List <SkillUnit.SkillUnit> skillinits = EditorDataContainer.allSkillUnits.units;

            unitScrollPos = EditorGUILayout.BeginScrollView(unitScrollPos);
            //列表
            if (unitList == null)
            {
                // 加入数据数组
                unitList = new ReorderableList(skillinits, typeof(SkillUnit.SkillUnit), false, false, true, true);
            }
            // 绘制Item显示列表
            unitList.drawElementCallback = (Rect rect, int index, bool isActive, bool isFocused) =>
            {
                SkillUnit.SkillUnit element = skillinits[index];
                Rect drawRect = new Rect(rect.x, rect.y + 20, width - 30, 600);
                GUILayout.BeginArea(drawRect);
                GUILayout.Label("index: " + index);
                EditorDrawUtility.DrawSkillUnit(DataConvert.ConvertSkillUnit(element));
                GUILayout.EndArea();
                EditorGUILayout.Separator();
            };
            unitList.elementHeight = 600;
            // 绘制表头
            unitList.drawHeaderCallback = (Rect rect) =>
            {
                EditorGUI.LabelField(rect, "SkillUnitList");
            };
            // 选择回调
            unitList.onSelectCallback = (ReorderableList l) =>
            {
                SelectSkillUnit = l.index;
            };
            unitList.DoLayoutList();
            EditorGUILayout.EndScrollView();
            GUILayout.EndVertical();
        }
コード例 #3
0
 public static void ConvertSkillUnit(SkillUnit.SkillUnit oUnit, JSkillUnit unit)
 {
     oUnit.id          = unit.id;
     oUnit.artId       = unit.artId;
     oUnit.launchType  = (SkillUnit.SkillUnit.LaunchType)(int) unit.launchType;
     oUnit.targetType  = (SkillUnit.SkillUnit.TargetType)(int) unit.targetType;
     oUnit.skillTime   = unit.skillTime;
     oUnit.cd          = unit.cd;
     oUnit.distance    = unit.distance;
     oUnit.referId     = unit.referId;
     oUnit.guidePolicy = ConvertSkillGuidePolicy(unit.guidePolicy);
     if (oUnit.launchType == SkillUnit.SkillUnit.LaunchType.SINGLELINE)
     {
         if (unit.referId < EditorDataContainer.allSkillUnits.singeLines.Count && unit.referId >= 0)
         {
             SkillUnit.SkillLine line = EditorDataContainer.allSkillUnits.singeLines[unit.referId];
             line = ConvertSkillLine((SkillLine)unit.skillObj);
         }
     }
     if (oUnit.launchType == SkillUnit.SkillUnit.LaunchType.MULLINE)
     {
         if (unit.referId < EditorDataContainer.allSkillUnits.multLines.Count && unit.referId >= 0)
         {
             SkillUnit.SkillMultiLine line = EditorDataContainer.allSkillUnits.multLines[unit.referId];
             line = ConvertSkillMultiLine((SkillMultiLine)unit.skillObj);
         }
     }
     if (oUnit.launchType == SkillUnit.SkillUnit.LaunchType.AREA)
     {
         if (unit.referId < EditorDataContainer.allSkillUnits.areas.Count && unit.referId >= 0)
         {
             SkillUnit.SkillArea line = EditorDataContainer.allSkillUnits.areas[unit.referId];
             line = ConvertSkillArea((SkillArea)unit.skillObj);
         }
     }
     if (oUnit.launchType == SkillUnit.SkillUnit.LaunchType.JUMP)
     {
         if (unit.referId < EditorDataContainer.allSkillUnits.jumps.Count && unit.referId >= 0)
         {
             SkillUnit.SkillJump line = EditorDataContainer.allSkillUnits.jumps[unit.referId];
             line = ConvertSkillJump((SkillJump)unit.skillObj);
         }
     }
     if (oUnit.launchType == SkillUnit.SkillUnit.LaunchType.AREA_RANDSKILL)
     {
         if (unit.referId < EditorDataContainer.allSkillUnits.areaRands.Count && unit.referId >= 0)
         {
             SkillUnit.SkillAreaRand line = EditorDataContainer.allSkillUnits.areaRands[unit.referId];
             line = ConvertSkillAreaRand((SkillAreaRand)unit.skillObj);
         }
     }
     if (oUnit.launchType == SkillUnit.SkillUnit.LaunchType.HELIX)
     {
         if (unit.referId < EditorDataContainer.allSkillUnits.helixes.Count && unit.referId >= 0)
         {
             SkillUnit.SkillHelix line = EditorDataContainer.allSkillUnits.helixes[unit.referId];
             line = ConvertSkillHelix((SkillHelix)unit.skillObj);
         }
     }
     if (oUnit.launchType == SkillUnit.SkillUnit.LaunchType.FOLLOW)
     {
         if (unit.referId < EditorDataContainer.allSkillUnits.follows.Count && unit.referId >= 0)
         {
             SkillUnit.SkillFollow line = EditorDataContainer.allSkillUnits.follows[unit.referId];
             line = ConvertSkillFollow((SkillFollow)unit.skillObj);
         }
     }
     if (oUnit.launchType == SkillUnit.SkillUnit.LaunchType.BACK_STAB)
     {
         if (unit.referId < EditorDataContainer.allSkillUnits.backStabs.Count && unit.referId >= 0)
         {
             SkillUnit.SkillBackStab line = EditorDataContainer.allSkillUnits.backStabs[unit.referId];
             line = ConvertSkillBackStab((SkillBackStab)unit.skillObj);
         }
     }
 }