示例#1
0
    /*
     * Spread around this anchor in all possible directions
     * **/
    public void Spread()
    {
        if (!m_spread)
        {
            foreach (Bridge bridge in m_bridges)
            {
                BridgeSpread bridgeSpreadComponent = bridge.gameObject.GetComponent <BridgeSpread>();
                if (bridge.m_type == Bridge.BridgeType.Faded && bridgeSpreadComponent.m_spreadBridge == null) //don't spread on bridges that are done or already spreading
                {
                    bridgeSpreadComponent.SpreadAroundAnchorPoint(this);
                }
            }

            this.m_spread = true;
        }
    }
示例#2
0
    private GridAnchor m_spreadAnchor; //the anchor where the spread begins

    /**
     * Create solid bridges that will scale and cover all faded bridges around this anchor
     * **/
    public void SpreadAroundAnchorPoint(GridAnchor anchor)
    {
        Vector3 spreadBridgePosition = anchor.m_position;

        spreadBridgePosition.z = -150.0f;

        GameObject clonedObject = (GameObject)Instantiate(m_bridgePrefab, spreadBridgePosition, this.transform.rotation);
        Transform  transform    = clonedObject.GetComponent <Transform>();

        transform.localScale        = new Vector3(0.0f, transform.localScale.y, transform.localScale.z);
        m_spreadBridge              = clonedObject.GetComponent <Bridge>();
        m_spreadBridge.m_type       = Bridge.BridgeType.Spreading;
        m_spreadBridge.m_startPoint = anchor.m_position;
        m_spreadBridge.m_endPoint   = anchor.m_position;
        m_spreadBridge.PushAnchor(anchor);

        BridgeSpread bridgeSpreadComponent = clonedObject.GetComponent <BridgeSpread>();

        bridgeSpreadComponent.m_spreadAnchor  = anchor;
        bridgeSpreadComponent.m_coveredBridge = this.gameObject.GetComponent <Bridge>();
        anchor.m_linked = true;
    }