static public void AddModifierAll(Texture2D texture, Vector2 position, Vector2 size, float rotation, Destruction2DLayer layer = null) { if (layer == null) { layer = Destruction2DLayer.Create(); } foreach (Destruction2D gObject in GetListLayer(layer)) { gObject.AddModifier(texture, position, size, rotation); } }
static public void DestroyByComplexCutAll(ComplexCut complexCut, Destruction2DLayer layer = null) { if (layer == null) { layer = Destruction2DLayer.Create(); } foreach (Destruction2D gObject in GetListLayer(layer)) { gObject.DestroyByComplexCut(complexCut); } }
static public void DestroyByLinearCutAll(LinearCut linearCut, Destruction2DLayer layer = null) { if (layer == null) { layer = Destruction2DLayer.Create(); } foreach (Destruction2D gObject in GetListLayer(layer)) { gObject.DestroyByLinearCut(linearCut); } }
static public List <Destruction2D> GetListLayer(Destruction2DLayer layer) { destructible2DListLayer.Clear(); foreach (Destruction2D id in destructible2DList) { if (id.MatchLayers(layer)) { destructible2DListLayer.Add(id); } } return(destructible2DListLayer); }
public void OnCollisionEnter2D(Collision2D col) { Polygon2D polygon = Polygon2DList.CreateFromGameObject(gameObject)[0]; // or //Polygon2D.Create(Polygon2D.PolygonType.Pentagon, 1); polygon = polygon.ToScale(new Vector2(5, 5)); polygon = polygon.ToWorldSpace(transform); EraseBrush EraseBrush = new EraseBrush(null, polygon); Destruction2D.DestroyByPolygonAll(EraseBrush, Destruction2DLayer.Create()); Destruction2D.AddModifierAll(modifierTexture, gameObject.transform.position, new Vector2(5, 5), 0, Destruction2DLayer.Create()); Destroy(gameObject); }
static public bool DestroyByPolygonAll(EraseBrush eraseBrush, Destruction2DLayer layer = null) { bool slicingDetected = false; if (layer == null) { layer = Destruction2DLayer.Create(); } foreach (Destruction2D gObject in GetListLayer(layer)) { if (gObject.DestroyByPolygon(eraseBrush)) { slicingDetected = true; } } return(slicingDetected); }
public void SetController(Destruction2DVisuals visualsSettings, Destruction2DLayer layerObject) { visuals = visualsSettings; destructionLayer = layerObject; }
public bool MatchLayers(Destruction2DLayer sliceLayer) { return((sliceLayer == null || sliceLayer.GetLayerType() == Destruction2DLayerType.All) || sliceLayer.GetLayerState(GetLayerID())); }