Expected acts and Notes¶
Expected¶
- Leave nodes under the folder
Assets\The Skill\TAG\Nodes\instances\completely blank. - Modify nodes under the skill node library and take skill trees for testing.
- That is, use different instances of skill library as a version history of skill nodes.
- Make full use of TAG+NickName+Icon to distinguish nodes with similar names.
- Make use of
BodyEffectsto takes FXeffects on the characters. - Use Prefabs of
particleSystemasEmitObjPrefabs. - If you have only an lifetime requirement for
EmitObjTemps, setemitTimein the functionEmitObjTempsWithItween(). - Set
endPosforEmitObjTemps’s componentEmitObjin the functionEmitObjTempsWithItween()attached on them if it’s aPositionBootSkill. - If it’s a
CollionBootSkill , setEmitObjTemps’s componentCollider,ISTrigger = truefor a better performance. - Add
ColliderandEmitObj.csfor each GameObject inEmitObjPrefabs.
Notes¶
- for
singTime,PlayTime,InterruptTime,ExitTime, if any is greater than 0 , please use branches (if else sentences) in corresponding functions (e.g.OnSkillPlaying()) to avoid repeated (redudant) operations for same object.
If not ,there may lead to a great decent on the framerate.
- The normal way to debug why does a skill not react to the call:
- Is it a passive node?
- Has it cooled down?
- Is the skill activated?
- Does it statisfy its
triggerCondition()? EmitObjTempsare not triggerd in last call? not setting theemitTimeorendPosin theEmitObjscript attached on theEmitObjTemps?
- If use
PositionBoot, set the Collider on theEmitObjTempsas Trigger(isTrigger = true). Or else, it may never arrives theendPosyou setted due to unexpected collision. - Please set your character and the enemies you want to affect in
different layers. Or else, the Input of
OnSkillPlaying(List<GameObject> objs)may contains the character itself. - Under most situations, set
RenderTriggers = Collide. - You can use Skill Icon as a part of your UI interface.
- Use the code
SkillEquipManager.getProperty<Texture2D>("Icon"). - Further use this system as part of your AI logic.u have only an
lifetime requirement for
EmitObjTemps, setemitTimein the functionEmitObjTempsWithItween(). - Set
endPosforEmitObjTemps’s componentEmitObjin the functionEmitObjTempsWithItween()attached on them if it’s aPositionBootSkill. - If it’s a
CollionBootSkill , setEmitObjTemps’s componentCollider,ISTrigger = truefor a better performance. - Add
ColliderandEmitObj.csfor each GameObject inEmitObjPrefabs