Exemple #1
0
    public Layer(PrismLayer copy, Dictionary <PrismTexture.Tile, TextureSet.Tile> tiles, Editor e)
        : base(copy, tiles, e)
    {
        history = new HistorySystem(this, e);

        foreach (PrismMesh mesh in copy.Meshes)
        {
            AddMesh(new EMesh(mesh, tiles, this, e));
        }
    }
Exemple #2
0
    public void resetPrismLayerColor()
    {
        int currentLayer  = GameManager.getInstance().getCurrentLayer();
        int prismLayerLen = m_prismLayerData[currentLayer].getSegmentDataLength();

        for (int i = 0; i < prismLayerLen; i++)
        {
            PrismLayer prismLayer = m_prismLayerData[currentLayer].getPrismLayer(i);
            prismLayer.resetPrismLayerColor();
        }
    }
Exemple #3
0
    public void updatePrismLayerColors()
    {
        int currentLayer = GameManager.getInstance().getCurrentLayer();

        for (int i = 0; i < m_prismLayerData.Length; i++)
        {
            PrismLayer prismLayer = m_prismLayerData[currentLayer].getPrismLayer(i);

            // Retrieving unit color using the real color
            UnitColor unitColor = GameManager.getInstance().getUnitColor(m_prismLayerColors[i]);
            prismLayer.setUnitColor(unitColor);
        }
    }
Exemple #4
0
    private void createPrismLayer(int p_prismLayerIdx)
    {
        int segmentDataLen = m_prismLayerData [p_prismLayerIdx].getSegmentDataLength();

        // Collection of prism layers to be placed inside prism layer data
        PrismLayer[] prismLayers = new PrismLayer[segmentDataLen];

        for (int i = 0; i < segmentDataLen; i++)
        {
            GameObject prismLayer = Instantiate(m_refPrismLayer) as GameObject;
            prismLayer.name = string.Format("line_layer_{0}", i);

            setPrismLayerTransform(prismLayer.transform, p_prismLayerIdx, i);

            PrismLayer prismLayerComponent = prismLayer.GetComponentInChildren <PrismLayer>();
            prismLayers[i] = prismLayerComponent;
        }

        m_prismLayerData [p_prismLayerIdx].setPrismLayers(prismLayers);
    }
Exemple #5
0
    public void OnTriggerEnter2D(Collider2D p_collider2d)
    {
        PrismLayer prismLayer = p_collider2d.GetComponent <PrismLayer>();

        if (prismLayer != null)
        {
            if (prismLayer.getUnitColor() == m_unitColor)
            {
                createScorePop();
                ScoreHandler.getInstance().addScore(Constants.DEFAULT_SCORE);
            }
            else
            {
                PrismLayerHandler.getInstance().subtractDurability();
            }

            createExplosion();
            onDestroy();
        }
    }
Exemple #6
0
    public override PrismLayerNode GetPrismNode(PrismLayerNode parent, Dictionary <TextureSet.Tile, PrismTexture.Tile> tiles)
    {
        PrismLayer node = new PrismLayer(Name, parent);

        foreach (EMesh m in Meshes)
        {
            Vector2[]  pos = new Vector2[m.Vertices.Count];
            ColorHSL[] col = new ColorHSL[m.Vertices.Count];

            for (int i = 0; i < pos.Length; i++)
            {
                pos[i] = m.Vertices[i].Position;
                col[i] = m.Vertices[i].HSL;
            }

            PrismMesh mesh = new PrismMesh(pos, col, m.Tile != null ? tiles[m.Tile] : null);
            node.Meshes.Add(mesh);
        }

        return(node);
    }