bool IsBlockView(Vector2 position, ShadowLine shadowLine, Shadow shadow) { return(!_visibleMap.IsTransparent(position) && !shadowLine.Contains(shadow)); // 很明显的,只要一个东西没有被完全挡住,他又不是透明的,那他就一定会遮挡视线 }
bool IsVisible(Shadow projection, ShadowLine shadowLine) { return(!shadowLine.Contains(projection)); // 我觉得如果是一个经验丰富的观察者,就算只能看见一小部分也是能判断出看到了什么的,那就只要没有被完全遮挡就视为可见 }