public Skill(TubeStyleStruct[] styleStructs, TubeEnhancerStruct enhancerStruct, TubeCoolerStruct coolerStruct) { this.styleStructs = styleStructs; this.enhancerStruct = enhancerStruct; this.coolerStruct = coolerStruct; lastSkillTime = float.MinValue; currentSkillIndex = 0; InitFxs(); }
public virtual bool CreateSkill(int styleCid, int enhancerCid, int coolerCid, int relicCid = -1) { Tube styleTube = FindTube(styleCid); Tube enhancerTube = FindTube(enhancerCid); Tube coolerTube = FindTube(coolerCid); Tube relicTube = FindTube(relicCid); if (styleTube == null || enhancerTube == null || coolerTube == null) { if (OnCreateSkill != null) { OnCreateSkill(null, false); } return(false); } List <TubeStyleStruct> styleStructs = new List <TubeStyleStruct>(); TubeStyleStruct styleStruct = (TubeStyleStruct)styleTube.TubeData; styleStructs.Add(styleStruct); while (true) { if (styleStruct.combo == 0) { break; } this.Log(styleStruct.combo); styleStruct = tubeData.FindStyleStruct(styleStruct.combo); styleStructs.Add(styleStruct); } TubeEnhancerStruct enhancerStruct = (TubeEnhancerStruct)enhancerTube.TubeData; TubeCoolerStruct coolerStruct = (TubeCoolerStruct)coolerTube.TubeData; TubeRelicStruct relicStruct = default(TubeRelicStruct); if (relicTube != null) { relicStruct = (TubeRelicStruct)relicTube.TubeData; } Skill skill = relicTube == null ? new Skill(styleStructs.ToArray(), enhancerStruct, coolerStruct) : new Skill(styleStructs.ToArray(), enhancerStruct, coolerStruct, relicStruct); GetSkill(skill); DeleteTube(styleTube); DeleteTube(enhancerTube); DeleteTube(coolerTube); DeleteTube(relicTube); if (OnCreateSkill != null) { OnCreateSkill(skill, true); } return(true); }
public virtual Skill GetSkill(TubeStyleStruct[] styleStructs, TubeEnhancerStruct enhancerStruct, TubeCoolerStruct coolerStruct, bool delete = false) { if (skills.Count <= 0) { return(null); } Skill skill = skills.Find(t => t.StyleStructs == styleStructs && t.EnhancerStruct.cid == enhancerStruct.cid && t.CoolerStruct.cid == coolerStruct.cid); if (delete) { DeleteSkill(skill); } return(skill); }
public void SetSkill(Skill skill) { if (skill == null) { Disable(); return; } styleStructs = skill.StyleStructs; enhancerStruct = skill.EnhancerStruct; coolerStruct = skill.CoolerStruct; relicStruct = skill.RelicStruct; isInitBySkill = true; Enable(); }
public Skill(string text, DataManager dataManager) { NPCSkillStruct skillStruct = dataManager.NPCData.Skill.Find(t => t.name == text); TubeStyleStruct style = dataManager.NPCTubeData.StyleData.Find(t => t.name == skillStruct.styleTube); TubeEnhancerStruct enhancer = dataManager.NPCTubeData.EnhancerData.Find(t => t.name == skillStruct.enhancerTube); TubeCoolerStruct cooler = dataManager.NPCTubeData.CoolerData.Find(t => t.name == skillStruct.coolerTube); styleStructs = new[] { style }; enhancerStruct = enhancer; coolerStruct = cooler; lastSkillTime = float.MinValue; currentSkillIndex = 0; InitFxs(); }
public Skill(TubeStyleStruct[] styleStructs, TubeEnhancerStruct enhancerStruct, TubeCoolerStruct coolerStruct, TubeRelicStruct relicStruct) : this(styleStructs, enhancerStruct, coolerStruct) { this.relicStruct = relicStruct; }