private void AttachColliderToIntersectionMap(VisualTriggerMarkerComponent trigger, Entity entity, TankPartIntersectionWithCameraData[] map, int index)
        {
            MeshCollider visualTriggerMeshCollider = trigger.VisualTriggerMeshCollider;

            map[index] = new TankPartIntersectionWithCameraData(visualTriggerMeshCollider, entity);
            entity.AddComponent <TankPartNotIntersectedWithCameraStateComponent>();
        }
        public void InitCollidersForChecking(NodeAddedEvent evt, TankNode tank, [Context, JoinByTank] WeaponNode weapon)
        {
            VisualTriggerMarkerComponent visualTriggerMarker = tank.tankVisualRoot.VisualTriggerMarker;
            VisualTriggerMarkerComponent trigger             = weapon.weaponVisualRoot.VisualTriggerMarker;

            TankPartIntersectionWithCameraData[] map = new TankPartIntersectionWithCameraData[2];
            this.AttachColliderToIntersectionMap(visualTriggerMarker, tank.Entity, map, 0);
            this.AttachColliderToIntersectionMap(trigger, weapon.Entity, map, 1);
            tank.Entity.AddComponent(new TankPartIntersectionWithCameraMapComponent(map));
        }