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; } } }
// ---------------------------------------------------------------------------- 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; }
public static void TriggerPreviewUpdated(PreviewUpdateArgs args) => ItemPreviewUpdated?.Invoke(args);