private void OnCollisionEnter(Collision collision) { if (collision.gameObject.tag == "pickup") { PickupHolder ph = collision.gameObject.GetComponent <PickupHolder>(); attachNewGuns(ph.item, ph.type); } }
private void Awake() { playerCamera = GetComponentInParent <Camera>(); // Debug.Log("playerCamera: " + playerCamera); pickupHolder = GetComponent <PickupHolder>(); EventBus.Subscribe <ExitHomeEvent>(OnExitHomeEvent); EventBus.Subscribe <ExitCityEvent>(OnExitCityEvent); }
public virtual void OnTriggerEnter2D(Collider2D other) { PickupHolder pickupHolder = other.GetComponent <PickupHolder>(); if (pickupHolder != null) { pickupHolder.AddPickup(OnUse); ConsumePickup(); } }
private void OnCollisionEnter2D(Collision2D col) { if (col.gameObject.tag == "Pickup") { PickupRequirements pickupReqs = col.gameObject.GetComponent <PickupRequirements>(); if (pickupReqs != null && !pickupReqs.requirementsMet()) { return; } pickupReqs?.takeRequirements(); PickupHolder pickup = col.gameObject.GetComponent <PickupHolder>(); if (pickup != null) { if (pickup.coolDownForPickup > 0) { return; } if (pickup.itemPickup) { //shold probably add some check so you don't waste pickups? is anyone going to pick up 100 bombs? I sure hope not pickup.statUpgrade.activateInstantEffects(); soundPlayer.clip = pickupClip; soundPlayer.Play(); } else { PlayerInfo.Instance.giveStatUpgrade(pickup.statUpgrade); } Destroy(col.gameObject); } else { MultipickupPickup multiPickup = col.gameObject.GetComponent <MultipickupPickup>(); if (multiPickup != null) { multiPickup.spawnPickups(); Destroy(col.gameObject); } } } else if (col.gameObject.tag == "Part") { CharacterPartHolder pickup = col.gameObject.GetComponent <CharacterPartHolder>(); PlayerInfo.Instance.givePart(pickup.characterPart); Destroy(col.gameObject); } }
protected override void DoAwake() { // Debug.Log("PlayerInputDefaultState.DoAwake()"); base.DoAwake(); movement = GetComponentInChildren <PlayerMovement>(); playerView = GetComponentInChildren <PlayerView>(); interactionDetector = GetComponentInChildren <InteractionDetector>(); pickupHolder = GetComponentInChildren <PickupHolder>(); photo = GetComponentInChildren <Photo>(); // gameStateMachine = FindObjectOfType<GameStateTitleScreen>().GetComponent<StateMachine>(); EventBus.Subscribe <EnterTitleScreenEvent>(e => canPause = false); EventBus.Subscribe <PhotoLoweredAtStartEvent>(e => canPause = true); EventBus.Subscribe <ObjectiveCompletedCutsceneStartEvent>(e => canPause = false); EventBus.Subscribe <ObjectiveCompletedCutsceneEndEvent>(e => canPause = true); EventBus.Subscribe <PlayerHasWonEvent>(e => canPause = false); }
IEnumerator FadeOut() { Destroy(GameObject.Find("BootupText")); // Why are we doing this? So the glitch effect plays? Debug.Log("IT'S Gone"); textCanvasGrewp.alpha = 0; while (textCanvasGrewp.alpha < 1) { textCanvasGrewp.alpha += Time.deltaTime / textFadeDuration; yield return(null); } yield return(new WaitForSeconds(textShowDuration)); while (fadeCanvasGrewp.alpha < 1) { fadeCanvasGrewp.alpha += Time.deltaTime / textFadeDuration; yield return(null); } // Set scene transition fade up before moving the player in preparation for the handoff to GameStateHome fading it out CanvasGroup sceneTransitionFade = GameObject.Find("SceneTransitionFade").GetComponent <CanvasGroup>(); sceneTransitionFade.alpha = 1f; // Before sending player back home, destroy held item PickupHolder pickupHolder = FindObjectOfType <PickupHolder>(); if (pickupHolder) { Pickupable heldItem = pickupHolder.GetHeldItem(); if (heldItem) { Object.Destroy(heldItem.gameObject); } } FindObjectOfType <PlayableDirector>().enabled = false; EventBus.PublishEvent(new ReturnHomeEvent()); }
// Use this for initialization void Start() { pickupHold = GetComponent <PickupHolder>(); }