private void tsmi_frame_Add_Click(object sender, EventArgs e) { config_skill_frame new_frame = new config_skill_frame(); List <config_skill_frame> newList = new List <config_skill_frame>(_selected_skill.frames); newList.Add(new_frame); _selected_skill.frames = newList.ToArray(); frame1.UpdateSkill(_selected_skill); }
private void tsmi_frame_copy_Click(object sender, EventArgs e) { if (frame1.selected_frame != null) { config_skill_frame new_frame = fastJSON.JSON.ToObject <config_skill_frame>(fastJSON.JSON.ToJSON(frame1.selected_frame)); List <config_skill_frame> newList = new List <config_skill_frame>(_selected_skill.frames); newList.Add(new_frame); _selected_skill.frames = newList.ToArray(); frame1.UpdateSkill(_selected_skill); } }
//void Pant() //{ // var categorysinfo = propertyGrid1.SelectedObject.GetType().GetField("categorys", BindingFlags.NonPublic | BindingFlags.Instance); // if (categorysinfo != null) // { // var categorys = categorysinfo.GetValue(propertyGrid1.SelectedObject) as List<String>; // propertyGrid1.CollapseAllGridItems(); // GridItemCollection currentPropEntries = propertyGrid1.GetType().GetField("currentPropEntries", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(propertyGrid1) as GridItemCollection; // var newarray = currentPropEntries.Cast<GridItem>().OrderBy((t) => categorys.IndexOf(t.Label)).ToArray(); // currentPropEntries.GetType().GetField("entries", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(currentPropEntries, newarray); // propertyGrid1.ExpandAllGridItems(); // propertyGrid1.PropertySort = (PropertySort)propertyGrid1.Tag; // } // //propertyGrid1.Paint -= new PaintEventHandler(propertyGrid1); //} private void OnSelectFrame(int frame) { if (frame == -1) { DrawProperty(null); boxView1.listener = (null); return; } config_skill_frame selected_frame = _selected_skill.frames[frame]; switch (selected_frame.action) { case SkillFrameAction.ATTACK: if (selected_frame.attack == null) { selected_frame.attack = new config_action_attack(); } DrawProperty(selected_frame.attack); break; case SkillFrameAction.DRIFT: if (selected_frame.drift == null) { selected_frame.drift = new config_action_drift(); } DrawProperty(selected_frame.drift); break; case SkillFrameAction.FLAW: DrawProperty(null); break; case SkillFrameAction.GHOST: if (selected_frame.ghost == null) { selected_frame.ghost = new config_action_ghost(); } DrawProperty(selected_frame.ghost); break; case SkillFrameAction.MOVE: if (selected_frame.move == null) { selected_frame.move = new config_action_move(); } DrawProperty(selected_frame.move); break; case SkillFrameAction.None: DrawProperty(null); break; case SkillFrameAction.PLAY_ANIM: if (selected_frame.play_anim == null) { selected_frame.play_anim = new config_action_play_anim(); } DrawProperty(selected_frame.play_anim); break; case SkillFrameAction.PLAY_FX: if (selected_frame.play_fx == null) { selected_frame.play_fx = new config_action_play_fx(); } DrawProperty(selected_frame.play_fx); break; case SkillFrameAction.PLAY_SOUND: if (selected_frame.play_sound == null) { selected_frame.play_sound = new config_action_play_sound(); } DrawProperty(selected_frame.play_sound); break; case SkillFrameAction.SHAKE: if (selected_frame.shake == null) { selected_frame.shake = new config_action_shake(); } DrawProperty(selected_frame.shake); break; case SkillFrameAction.SHOOT: if (selected_frame.shoot == null) { selected_frame.shoot = new config_action_shoot(); } DrawProperty(selected_frame.shoot); break; case SkillFrameAction.START: DrawProperty(null); break; case SkillFrameAction.SUMMON: if (selected_frame.summon == null) { selected_frame.summon = new config_action_summon(); } DrawProperty(selected_frame.summon); break; case SkillFrameAction.LOOP_FRAME: if (selected_frame.loop == null) { selected_frame.loop = new config_action_loop(); } DrawProperty(selected_frame.loop); break; case SkillFrameAction.CAN_MOVE: if (selected_frame.can_move == null) { selected_frame.can_move = new config_action_can_move(); } DrawProperty(selected_frame.can_move); break; case SkillFrameAction.CAN_ROTATE: if (selected_frame.can_rotate == null) { selected_frame.can_rotate = new config_action_can_rotate(); } DrawProperty(selected_frame.can_rotate); break; case SkillFrameAction.VARIANT: if (selected_frame.variant == null) { selected_frame.variant = new config_action_variant(); } DrawProperty(selected_frame.variant); break; case SkillFrameAction.JUMP_FRAME: if (selected_frame.jump == null) { selected_frame.jump = new config_action_jump(); } DrawProperty(selected_frame.jump); break; case SkillFrameAction.DRIFT_TARGET: if (selected_frame.drift_target == null) { selected_frame.drift_target = new config_action_drift_target(); } DrawProperty(selected_frame.drift_target); break; case SkillFrameAction.BUFF: if (selected_frame.buff == null) { selected_frame.buff = new config_action_buff(); } DrawProperty(selected_frame.buff); break; case SkillFrameAction.SHOW_RANGE: if (selected_frame.show_range == null) { selected_frame.show_range = new config_action_show_range(); } DrawProperty(selected_frame.show_range); break; case SkillFrameAction.CHARGE: if (selected_frame.charge == null) { selected_frame.charge = new config_action_charge(); } DrawProperty(selected_frame.charge); break; case SkillFrameAction.PLAY_FX_LINK_TARGET: if (selected_frame.fx_link_target == null) { selected_frame.fx_link_target = new config_action_play_fx_link_target(); } DrawProperty(selected_frame.fx_link_target); break; case SkillFrameAction.MONSTER_COMBINATION: if (selected_frame.monster_com == null) { selected_frame.monster_com = new config_action_monster_com(); } DrawProperty(selected_frame.monster_com); break; case SkillFrameAction.ATTRACTION: if (selected_frame.attract == null) { selected_frame.attract = new config_action_attract(); } DrawProperty(selected_frame.attract); break; case SkillFrameAction.SCREEN_LIGHT: if (selected_frame.screen_light == null) { selected_frame.screen_light = new config_action_screen_light(); } DrawProperty(selected_frame.screen_light); break; case SkillFrameAction.FRAME_STATE: if (selected_frame.frame_state == null) { selected_frame.frame_state = new config_action_frame_state(); } DrawProperty(selected_frame.frame_state); break; case SkillFrameAction.QTE: if (selected_frame.qte == null) { selected_frame.qte = new config_action_qte(); } DrawProperty(selected_frame.qte); break; case SkillFrameAction.SHOW_COUNSELLOR: if (selected_frame.show_counsellor == null) { selected_frame.show_counsellor = new config_action_show_counsellor(); } DrawProperty(selected_frame.show_counsellor); break; case SkillFrameAction.BLOCK: if (selected_frame.block == null) { selected_frame.block = new config_action_block(); } DrawProperty(selected_frame.block); break; case SkillFrameAction.RECOVE_SHIELD: if (selected_frame.recover_shiled == null) { selected_frame.recover_shiled = new config_action_recover_shield(); } DrawProperty(selected_frame.recover_shiled); break; case SkillFrameAction.LIGHT: if (selected_frame.light == null) { selected_frame.light = new config_action_light(); } DrawProperty(selected_frame.light); break; case SkillFrameAction.RECOVER_HP_COST_MP: if (selected_frame.recover_hp_cost_mp == null) { selected_frame.recover_hp_cost_mp = new config_action_recover_hp_cost_mp(); } DrawProperty(selected_frame.recover_hp_cost_mp); break; case SkillFrameAction.DRIFT_TARGET_DELAY: if (selected_frame.drift_target_delay == null) { selected_frame.drift_target_delay = new config_action_drift_target_delay(); } DrawProperty(selected_frame.drift_target_delay); break; case SkillFrameAction.ATTACK_HP_COST_MP: if (selected_frame.attack_hp_cost_mp == null) { selected_frame.attack_hp_cost_mp = new config_action_attack_hp_cost_mp(); } DrawProperty(selected_frame.attack_hp_cost_mp); break; case SkillFrameAction.FAZHENG_DMG_HP_COST_MP: if (selected_frame.fz_dmg_hp_cost_mp == null) { selected_frame.fz_dmg_hp_cost_mp = new config_action_fz_dmg_hp_cost_mp(); } DrawProperty(selected_frame.fz_dmg_hp_cost_mp); break; case SkillFrameAction.LOST_HP: if (selected_frame.lost_hp == null) { selected_frame.lost_hp = new config_action_lost_hp(); } DrawProperty(selected_frame.lost_hp); break; case SkillFrameAction.SUMMON_ATTACK_WARDS: if (selected_frame.summon_attack_words == null) { selected_frame.summon_attack_words = new config_action_summon_attack_words(); } DrawProperty(selected_frame.summon_attack_words); break; default: DrawProperty(null); break; } //攻击框 if (selected_frame.action == SkillFrameAction.ATTACK) { //刷新攻击框 boxView1.listener = new FieldBoxEvent(selected_frame.attack); } //召唤区域 else if (selected_frame.action == SkillFrameAction.SUMMON) { //刷新攻击框 boxView1.listener = new FieldBoxEvent(selected_frame.summon); } else if (selected_frame.action == SkillFrameAction.JUMP_FRAME) { //刷新攻击框 boxView1.listener = new FieldBoxEvent(selected_frame.jump); } else if (selected_frame.action == SkillFrameAction.DRIFT_TARGET) { boxView1.listener = new FieldBoxEvent(selected_frame.drift_target); } else if (selected_frame.action == SkillFrameAction.BUFF) { boxView1.listener = new FieldBoxEvent(selected_frame.buff); } else if (selected_frame.action == SkillFrameAction.SHOW_RANGE) { boxView1.listener = new FieldBoxEvent(selected_frame.show_range); } else if (selected_frame.action == SkillFrameAction.PLAY_FX_LINK_TARGET) { boxView1.listener = new FieldBoxEvent(selected_frame.fx_link_target); } else if (selected_frame.action == SkillFrameAction.SHOOT) { boxView1.listener = new FieldBoxEvent(selected_frame.shoot); } else if (selected_frame.action == SkillFrameAction.MONSTER_COMBINATION) { boxView1.listener = new FieldBoxEvent(selected_frame.monster_com); } else if (selected_frame.action == SkillFrameAction.ATTRACTION) { boxView1.listener = new FieldBoxEvent(selected_frame.attract); } else if (selected_frame.action == SkillFrameAction.DRIFT_TARGET_DELAY) { boxView1.listener = new FieldBoxEvent(selected_frame.drift_target_delay); } else if (selected_frame.action == SkillFrameAction.SUMMON_ATTACK_WARDS) { boxView1.listener = new FieldBoxEvent(selected_frame.summon_attack_words); } else { boxView1.listener = (null); } splitContainer1.Panel2.Enabled = boxView1.listener != null; }