Example #1
0
        private void HandleItemCreation()
        {
            if (Input.GetKeyUp(KeyCode.LeftShift))
            {
                _selected = null;
            }
            if (!Input.GetMouseButtonDown(0) || _selected == null)
            {
                return;
            }

            var        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;

            if (!Physics.Raycast(ray, out hit))
            {
                return;
            }

            var go = MapLoader.Instance.CreateItem(new MapItem {
                PrefabName = _selected.ItemName
            });

            go.transform.position   = hit.point;
            _dragging               = go.GetComponent <MapItemHolder>();
            _dragging.Item.Position = go.transform.position;

            MapLoader.Instance.BindItem(go);

            if (!Input.GetKey(KeyCode.LeftShift))
            {
                _selected = null;
            }
        }
Example #2
0
        private void Start()
        {
            var repository = ItemRepository.Instance;

            foreach (var definition in repository.MapItems)
            {
                var uiItem = Instantiate(ItemTemplate, transform);
                uiItem.GetComponent <Image>().sprite = Sprite.Create(
                    definition.Icon,
                    new Rect(
                        Vector2.zero,
                        new Vector2(definition.Icon.width, definition.Icon.height)
                        ),
                    Vector2.zero
                    );
                uiItem.GetComponent <Button>().onClick.AddListener(() => _selected = definition);
            }
        }