/* * 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; } }
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; }