Beispiel #1
0
    private void createBridge(BridgeElement bridge)
    {
        Vector2          position   = bridge.position;
        GameObject       obj        = Instantiate(bridgePrefab, this.transform);
        BridgeController controller = obj.GetComponent <BridgeController>();

        obj.gameObject.transform.position = new Vector3(-this.mapModel.Width / 2f + position.x + 0.5f, 0, -this.mapModel.Height / 2f + position.y + 0.5f);
        // initial status
        controller.setInitialStatus(bridge.Closed);
        // Length
        if (bridge.Length > 1)
        {
            obj.gameObject.transform.localScale = new Vector3(bridge.Length, bridge.Length, obj.gameObject.transform.localScale.z);
            Vector3 old_position = obj.gameObject.transform.position;
            obj.gameObject.transform.position = new Vector3(old_position.x + (bridge.VerticalOrientation?0f:bridge.Length / 2f - 0.5f), old_position.y, old_position.z - (!bridge.VerticalOrientation?0f:bridge.Length / 2f - 0.5f));
        }
        // Orientation
        if (bridge.VerticalOrientation)
        {
            obj.gameObject.transform.rotation = Quaternion.Euler(0, 90, 0);
        }

        bridges.Add(controller);
    }
 public void addBridge(BridgeElement bridge)
 {
     this.bridges.Add(bridge);
 }