How to get an unit?
383366204 opened this issue · 5 comments
i read you documentation --> unit.isFriendly()
so I wrote this:
let unit = warrior.feel().getUnit();
if(unit.isFriendly()){
warrior.rescue();
}
but the terminal show:
Invalid submitted code: Cannot read property 'isFriendly' of undefined
My English is not good , can you tell me how to get the unit.
thanks
Hello @383366204! warrior.feel()
returns a space, so it's correct calling .getUnit()
on it. However, not all spaces have units on them. You should check if there is a unit before trying to call methods like .isFriendly()
on them.
const unit = warrior.feel().getUnit();
if (unit && unit.isFriendly()) {
warrior.rescue();
}
// OR:
const space = warrior.feel();
if (space.isUnit() && space.getUnit().isFriendly()) {
warrior.rescue();
}
P.S.: When reporting a problem, please try to follow the issue template and provide the data requested in it.
I think, essentially - The docs of the 'APIs' provide no clear idea of these two relationships to the player/warrior
const unitAPIObject = warrior.feel().getUnit();
const spaceAPIObject = warrior.feel();
It would be even clearer to just put in the instructions that
const space = warrior.feel();
const unit = space.getUnit();
With the inability to log anything to the terminal, it is almost impossible to intuit this.
what's wrong with people ? P.S.: When reporting a problem, please try to follow the issue template and provide the data requested in it.
, love issue_templates, why not using ? xDDDD @383366204 @olistic