public void ResetState(NodeRemoveEvent evt, TankPartIntersectionWithCameraMapVisibleNode tank) { TankPartIntersectionWithCameraData[] tankPartIntersectionMap = tank.tankPartIntersectionWithCameraMap.TankPartIntersectionMap; int length = tankPartIntersectionMap.Length; for (int i = 0; i < length; i++) { TankPartIntersectionWithCameraData data = tankPartIntersectionMap[i]; Entity tankPart = data.entity; this.UpdateState(tankPart, false); } }
private void CheckCameraVisualIntersection(TankPartIntersectionWithCameraMapVisibleNode tank, CameraNode camera) { Vector3 position = camera.cameraRootTransform.Root.position; TankPartIntersectionWithCameraData[] tankPartIntersectionMap = tank.tankPartIntersectionWithCameraMap.TankPartIntersectionMap; int length = tankPartIntersectionMap.Length; for (int i = 0; i < length; i++) { TankPartIntersectionWithCameraData data = tankPartIntersectionMap[i]; Collider collider = data.collider; Entity tankPart = data.entity; bool hasIntersection = this.CheckPointInsideCollider(position, collider); this.UpdateState(tankPart, hasIntersection); } }
public void CheckCameraVisualIntersection(EarlyUpdateEvent evt, TankPartIntersectionWithCameraMapVisibleNode tank, [JoinAll] CameraNode camera) { this.CheckCameraVisualIntersection(tank, camera); }