void CreateCollider(GameObject mapContainer, List <ColliderDataInfo> aColliderDataInfo, MapInfo aMapInfo, List <string> aActivatedColliderLayers) { GameObject container = new GameObject(); container.name = "ColliderContainer"; container.transform.SetParent(mapContainer.transform, false); for (int i = 0; i < aColliderDataInfo.Count; i++) { ColliderDataInfo colliderDataInfo = aColliderDataInfo[i]; GameObject colliderGo = new GameObject(); colliderGo.name = CAMERA_LIMIT_NAME + i; colliderGo.transform.SetParent(container.transform, false); colliderGo.AddComponent <BoxCollider2D>(); colliderGo.layer = colliderDataInfo.m_Layer; colliderGo.transform.localPosition = colliderDataInfo.m_Position; colliderGo.transform.localScale = colliderDataInfo.m_Scale; colliderGo.transform.localRotation = colliderDataInfo.m_Rotation; MapColliderLayer mapColliderLayer = colliderGo.AddComponent <MapColliderLayer>(); mapColliderLayer.m_ColliderLayer = colliderDataInfo.m_ColliderMapLayer; aMapInfo.m_ListMapColliderLayer.Add(mapColliderLayer); if (!string.IsNullOrEmpty(colliderDataInfo.m_ColliderMapLayer) && !aActivatedColliderLayers.Contains(colliderDataInfo.m_ColliderMapLayer)) { colliderGo.SetActive(false); } } }
public ColliderDataInfo ToColliderDataInfo() { ColliderDataInfo data = new ColliderDataInfo (); data.m_Layer = gameObject.layer; data.m_Position = transform.localPosition; data.m_Scale = transform.localScale; data.m_Rotation = transform.rotation; data.m_ColliderMapLayer = m_ColliderMapLayer; return data; }
public ColliderDataInfo ToColliderDataInfo() { ColliderDataInfo data = new ColliderDataInfo(); data.m_Layer = gameObject.layer; data.m_Position = transform.localPosition; data.m_Scale = transform.localScale; data.m_Rotation = transform.rotation; data.m_ColliderMapLayer = m_ColliderMapLayer; return(data); }