public bool Pickup(GameObject obj) { _obj = obj; _booster = obj.GetComponent <BoosterModBroadcaster>(); _obj.SetActive(false); GameObject renderer = new GameObject("BoosterSprite"); _spriteRenderer = renderer.AddComponent <SpriteRenderer>(); _spriteRenderer.sprite = _booster.Mod.Sprite.Get(); _spriteRenderer.color = Colorization.ColorInfo.Get(_booster.Mod.Color).DisplayColor; return(_booster != null); }
public void Handle(Item pick) { BoosterItem expItem = pick as BoosterItem; BoosterPlacement placement = new BoosterPlacement(); placement.OnPlaced += (go) => OnPlaced(expItem); BoosterModBroadcaster broadcaster = Instantiate(BoosterPrefab).GetComponent <BoosterModBroadcaster>(); Mod mod = Instantiate(expItem.Mod); mod.Coeffecient = expItem.Coeffecient; broadcaster.Mod = mod; placement.Pickup(broadcaster.gameObject); PlacementController.Instance.TakePlacement(placement); }
public bool Place() { if (_target != null) { if (_placeRequirements.All(x => x() == true)) { GameObject cardGO = UnityEngine.Object.Instantiate(_obj, _target.transform.root); BoosterModBroadcaster card = cardGO.GetComponent <BoosterModBroadcaster>(); card.gameObject.SetActive(true); OnPlaced?.Invoke(cardGO); PlacementController.Instance.CancelAll(); return(true); } } return(false); }