public GameObject GetEntityConnector(GameObject aliasObject, EntityData entityData, EntityData connectedEntity) { throw new NotImplementedException(); }
public virtual bool HasPendingIssues(GameObject aliasObject, EntityData entityData, EntityData bearingSurfaceEntity, EntityData collidingEntity) { return(entityData == null || bearingSurfaceEntity == null || (bearingSurfaceEntity != null && !IsStatic(bearingSurfaceEntity)) || (collidingEntity != null && !IsStatic(collidingEntity))); }
public EntityData GetCloserConnectableEntity(GameObject aliasObject, EntityData entityData) { throw new NotImplementedException(); }
public virtual bool IsValid(GameObject aliasObject, EntityData entityData, EntityData bearingSurfaceEntity, EntityData collidingEntity, CollisionState collisionState) { if (!CanBeLeantAgainst(entityData, bearingSurfaceEntity) || !CanCollideWith(entityData, bearingSurfaceEntity, collidingEntity, collisionState)) { return(false); } // other tests... return(true); }
public virtual bool CanCollideWith(EntityData entityData, EntityData bearingSurfaceEntity, EntityData collidingEntity, CollisionState collisionState) { return(!collisionState.IsColliding || collidingEntity == bearingSurfaceEntity); }
public virtual bool CanBeLeantAgainst(EntityData entityData, EntityData bearingSurfaceEntity) { return(entityData != null && ((bearingSurfaceEntity != null && IsStatic(bearingSurfaceEntity)) || bearingSurfaceEntity == null)); }
public virtual bool CanBeSelected(EntityData entityData) { return(entityData != null && !IsStatic(entityData)); }
public virtual bool IsStatic(EntityData entityData) { return(entityData != null && (entityData.type == "Building" || entityData.isStatic)); }