예제 #1
0
파일: UiLevel.cs 프로젝트: dvera2/LDJam47
    private void OnItemPreviewUpdated(PreviewUpdateArgs obj)
    {
        if (PreviewImage)
        {
            PreviewImage.enabled = obj.Enabled;
            if (obj.Enabled)
            {
                Color c = Color.white;
                c.a = 0.5f;

                PreviewImage.sprite  = obj.Sprite;
                PreviewImage.color   = obj.ValidSpot ? c : Color.red;
                PreviewImage.enabled = true;
                PreviewImage.rectTransform.rotation = Quaternion.Euler(0, 0, obj.Angle);

                var vp = Camera.main.WorldToViewportPoint(obj.WorldPosition);
                PreviewImage.rectTransform.anchorMin = vp;
                PreviewImage.rectTransform.anchorMax = vp;
            }
        }
    }
예제 #2
0
    // ----------------------------------------------------------------------------
    private void Awake()
    {
        _mouseDrag         = new MouseDragData();
        _preplacementTable = new Dictionary <int, PrePlacementInstance>();
        _preplacements     = new List <PrePlacementInstance>();
        _startingObjects   = new List <PreplacementObject>();
        _resultBuffer      = new Collider2D[20];
        _cachedArgs        = new PreviewUpdateArgs();

        // Find existing level objects in the scene.
        var startingObjects = GameObject.FindObjectsOfType <PreplacementObject>();

        _startingObjects.AddRange(startingObjects);


        GameObject container = new GameObject("Container");

        container.transform.localPosition = Vector3.zero;
        container.transform.localRotation = Quaternion.identity;
        _preplacementContainer            = container.transform;

        GameEvents.ItemButtonClicked += OnItemButtonClicked;
    }
예제 #3
0
 public static void TriggerPreviewUpdated(PreviewUpdateArgs args) => ItemPreviewUpdated?.Invoke(args);