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)); }