public static FlyingAreaModel Update(FlyingAreaModel area , FlyingAgentModel?agent = null , Vector3?target = null , bool?isInsideArea = null , float?doneReward = null , float?failReward = null) { var newAgent = agent.GetValueOrDefault(area.agent); var newTarget = target.GetValueOrDefault(area.target); var newDone = isInsideArea.GetValueOrDefault(area.isInsideArea); var newDoneReward = doneReward.GetValueOrDefault(area.doneReward); var newFailReward = failReward.GetValueOrDefault(area.failReward); return(new FlyingAreaModel(newAgent, newTarget, newDone, newDoneReward, newFailReward)); }
public static bool IsInsideArea(FlyingAreaModel model) { return(Vector3.Distance(model.agent.position, model.target) < 1f); }