Beispiel #1
0
 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);
     }
 }
Beispiel #2
0
 static public void DestroyByComplexCutAll(ComplexCut complexCut, Destruction2DLayer layer = null)
 {
     if (layer == null)
     {
         layer = Destruction2DLayer.Create();
     }
     foreach (Destruction2D gObject in GetListLayer(layer))
     {
         gObject.DestroyByComplexCut(complexCut);
     }
 }
Beispiel #3
0
 static public void DestroyByLinearCutAll(LinearCut linearCut, Destruction2DLayer layer = null)
 {
     if (layer == null)
     {
         layer = Destruction2DLayer.Create();
     }
     foreach (Destruction2D gObject in GetListLayer(layer))
     {
         gObject.DestroyByLinearCut(linearCut);
     }
 }
Beispiel #4
0
    static public List <Destruction2D> GetListLayer(Destruction2DLayer layer)
    {
        destructible2DListLayer.Clear();

        foreach (Destruction2D id in  destructible2DList)
        {
            if (id.MatchLayers(layer))
            {
                destructible2DListLayer.Add(id);
            }
        }

        return(destructible2DListLayer);
    }
Beispiel #5
0
    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);
    }
Beispiel #6
0
    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);
    }
Beispiel #7
0
 public void SetController(Destruction2DVisuals visualsSettings, Destruction2DLayer layerObject)
 {
     visuals          = visualsSettings;
     destructionLayer = layerObject;
 }
Beispiel #8
0
 public bool MatchLayers(Destruction2DLayer sliceLayer)
 {
     return((sliceLayer == null || sliceLayer.GetLayerType() == Destruction2DLayerType.All) || sliceLayer.GetLayerState(GetLayerID()));
 }