public void DoAbsorbOrThrow() { if (skillsManager.hasSkill()) { skillsManager.DoSkill(direction); } else { if (objectAbsorbed) { // we need to throw it DoThrow(); } else { // we need to absorb DoAbsorb(); } } }