// Update is called once per frame void Update() { if (StartMenu.activeInHierarchy) { Time.timeScale = 0f; Cursor.lockState = CursorLockMode.None; Cursor.visible = true; WeaponPickup wp = FindObjectOfType <WeaponPickup> (); if (wp != null) { wp.SetAlive(false); } SwitchWeapon sw = GameObject.Find("Camera").GetComponent <SwitchWeapon> (); if (sw != null) { sw.SetAlive(false); } MouseLook ml = FindObjectOfType <MouseLook> (); if (ml != null) { ml.SetAlive(false); } player.GetComponent <MouseLook> ().enabled = false; } }
private void OnTriggerExit(Collider other) { if (other.tag == "WeaponDrop") { currentPickup = null; } }
public SavedPickup(Pickup pickup) { tilePos = new SavedTilePos(pickup.position); if (pickup is ResourcePickup) { ResourcePickup resourcePickup = pickup as ResourcePickup; pickupType = 0; index = resourcePickup.info.ToIndex(); stackHeight = pickup.gameObjects.Count; } else if (pickup is WeaponPickup) { WeaponPickup weaponPickup = pickup as WeaponPickup; pickupType = 1; index = weaponPickup.info.ToIndex(); stackHeight = 1; } else if (pickup is AugmentPickup) { AugmentPickup augmentPickup = pickup as AugmentPickup; pickupType = 2; index = augmentPickup.info.ToIndex(); stackHeight = 1; } else { Debug.LogError("Unrecognized pickup type"); pickupType = -1; index = -1; stackHeight = -1; } }
// Update is called once per frame void Update() { WeaponPickup wp = FindObjectOfType <WeaponPickup> (); if (wp != null) { alive = wp.GetAlive(); } if (alive) { if (Input.GetMouseButtonDown(0)) { if (weapon1pictext.activeInHierarchy && sammo > 0) { sammo--; weapon1pictext.GetComponent <UnityEngine.UI.Text> ().text = sammo.ToString(); } else if (weapon2pictext.activeInHierarchy && lammo > 0) { lammo--; weapon2pictext.GetComponent <UnityEngine.UI.Text> ().text = lammo.ToString(); } } } }
void OnTriggerEnter(Collider other) { ammoBox.SetActive(false); Ammo a = FindObjectOfType <Ammo> (); if (a != null) { lammo = a.getLammo(); sammo = a.getSammo(); } WeaponPickup wp = FindObjectOfType <WeaponPickup> (); if (wp != null) { string name = wp.getPlayerWeapon(); if (name.Contains("Handgun")) { a.setSammo(sammo + ammo); } else { a.setLammo(lammo + ammo); } } }
void OnDrawGizmos() { if (GAMERUNNING && interactables.Count > 0) { // draw a line to all weapons foreach (Interactable interactable in interactables) { if (interactable == null) { continue; } WeaponPickup weapon = interactable.GetComponent <WeaponPickup>(); if (weapon) { // set the line color to red Gizmos.color = Color.red; float dist = Mathf.Abs((transform.parent.position - interactable.transform.position).magnitude); // set the line color to green for weapons in reach if (dist <= weapon.pickupRadius) { Gizmos.color = Color.green; } } Gizmos.DrawLine(transform.parent.position, interactable.transform.position); } } }
public WeaponPickup SpawnWeapon(Vector3 position, WeaponInfo info, Island island) { Vector2 posV2 = PosToV2(position); if (island == null || GetBuildingAtPosition(posV2) != null || GetPickupAtPosition(posV2) != null) { return(null); } if (!Crafting.instance.weaponInfos.Contains(info)) { Debug.LogError("Weapon info not found in list"); return(null); } GameObject weaponGO = Instantiate(info.pickupPrefab, island.transform); weaponGO.transform.position = position; WeaponPickup weapon = new WeaponPickup(info, weaponGO, island); pickups.Add(posV2, weapon); island.pickups.Add(weapon); SavedGame.UpdatePickups(); return(weapon); }
public void Enter(AIAgent agent) { WeaponPickup pickup = FindClosestWeapon(agent); agent.navMeshAgent.destination = pickup.transform.position; agent.navMeshAgent.speed = 5; }
// Assign old active weapon to weapon loot on floor. void EquipWeapon(WeaponPickup weaponOnFloor) { SO_Weapon weapToDrop = charEquippedWeapons.activeWeapon; float weapOnFloorDurability = weaponOnFloor.durability; if (charEquippedWeapons.inactiveWeapon == null) { charEquippedWeapons.inactiveWeapon = charEquippedWeapons.activeWeapon; charEquippedWeapons.activeWeapon = weaponOnFloor.weaponBase; charEquippedWeapons.WeaponSwap(true); charEquippedWeapons.SetActiveWeaponDurability(weapOnFloorDurability); weaponOnFloor.TurnOff(); } else { weaponOnFloor.durability = charEquippedWeapons.GetActiveWeaponDurability(); charEquippedWeapons.activeWeapon = weaponOnFloor.weaponBase; weaponOnFloor.weaponBase = weapToDrop; weaponOnFloor.SwapWeaponLoot(weapToDrop); charEquippedWeapons.WeaponSwap(false); charEquippedWeapons.SetActiveWeaponDurability(weapOnFloorDurability); } // Change the HUD image of the active weapon. HUDManager.playerWeapons.PickUpWeapon(charEquippedWeapons.activeWeapon.weaponSprite, weapOnFloorDurability); Debug.Log("Dropped weapon: " + weapToDrop + " and equipped: " + charEquippedWeapons.activeWeapon); }
public void OnTriggerEnter(Collider collider) { if (collider.tag == "Pickup") { activePickup = collider.GetComponent <WeaponPickup>(); } }
private void OnTriggerEnter(Collider other) { print(other.gameObject.tag); switch (other.gameObject.tag) { case "Weapon Pickup": WeaponPickup weaponPickup = other.gameObject.GetComponent <WeaponPickup>(); switch (weaponPickup.type) { case WeaponType.MachineGun: PlayerWeaponManager.instance.FindWeapon("Machine Gun").ammo += 75; UIManager.instance.UpdateWeaponAmmoText(PlayerWeaponManager.instance.FindWeapon("Machine Gun").ammo); break; case WeaponType.TripleGun: PlayerWeaponManager.instance.FindWeapon("Triple Gun").ammo += 90; UIManager.instance.UpdateWeaponAmmoText(PlayerWeaponManager.instance.FindWeapon("Triple Gun").ammo); break; } AudioManager.instance.Play("Weapon Pickup Collected"); Destroy(other.gameObject); break; } }
protected override void SpawnItem() { WeaponPickup weaponToSpawn = null; foreach (Interactable weapon in itemPool) { if (!weapon.gameObject.activeInHierarchy) { weaponToSpawn = weapon.GetComponent <WeaponPickup>(); break; } } if (weaponToSpawn) { weaponToSpawn.gameObject.SetActive(true); weaponToSpawn.MakeAvailable(); weaponToSpawn.transform.position = transform.position + itemOffset; weaponToSpawn.transform.rotation = Quaternion.identity; weaponToSpawn.transform.localScale = Vector3.one; hasItem = true; } else { hasItem = false; } }
public void PickupWeapon(WeaponPickup weapon) { List <Pickup> objectsToPickup = new List <Pickup> { weapon.ToPickup() }; PickupObjects(objectsToPickup); }
public void RemoveNearbyWeaponPickup(WeaponPickup nearby_pickup) { nearby_weapon_pickups.Remove(nearby_pickup); if (pickupkey_down_item == nearby_pickup) { pickupkey_down_item = null; } }
public void AddWeapon(GameObject WeaponToAdd, WeaponPickup Pickup) { Weapon NewWeapon = WeaponToAdd.GetComponent <Weapon>(); //If what we're picking up does not actually contain a weapon component, stop functionality if (NewWeapon == null) { if (Pickup != null) { Pickup.CleanupPickup(false); } return; } //Get Weapon Name string WeaponName = NewWeapon.GetWeaponName(); //Checks to see if we're trying to pick up a weapon we already own foreach (Weapon WeaponCheck in Weapons) { if (WeaponCheck.GetWeaponName() == WeaponName) { if (Pickup != null) { Pickup.CleanupPickup(false); } return; } } //Assigning weapon owner, used for determining who dealt damage NewWeapon.Owner = gameObject; //adding to array of owned weapons, childing weapon to owner Weapons.Add(NewWeapon); WeaponToAdd.transform.parent = transform; //reseting position and rotation WeaponToAdd.transform.rotation = new Quaternion(0, 0, 0, 0); WeaponToAdd.transform.position = WeaponAttachPoint.position; //If picked up from weapon pickup, say pickup was successful if (Pickup != null) { Pickup.CleanupPickup(true); } //If this is the first weapon we're picking up, switch to it if (Weapons.Count == 1) { SwitchWeapon(true); } UpdateCooldown(Weapons.Count - 1, NewWeapon); }
public void OnTriggerExit(Collider collider) { if (collider.tag == "Pickup") { if (activePickup == collider.GetComponent <WeaponPickup>()) { activePickup = null; } } }
public void PickupWeapon(WeaponPickup newWeapon) { if (body.weapon.info.ToIndex() != 0) { return; } tm.PickupWeapon(newWeapon); SwitchWeapons(newWeapon.info.ToIndex()); }
void OnTriggerEnter(Collider other) { PlayerCharacter player = other.GetComponent <PlayerCharacter>(); if (safe) { missiontext.SetActive(true); resett.SetActive(true); exitt.SetActive(true); FPSInput f = FindObjectOfType <FPSInput> (); if (f != null) { f.SetAlive(false); } WeaponPickup wp = FindObjectOfType <WeaponPickup> (); if (wp != null) { wp.SetAlive(false); } SwitchWeapon sw = GameObject.Find("Camera").GetComponent <SwitchWeapon> (); if (sw != null) { sw.SetAlive(false); } GameObject[] e = GameObject.FindGameObjectsWithTag("Enemy"); Shooting[] s = new Shooting[e.Length]; for (int i = 0; i < e.Length; i++) { s[i] = e [i].GetComponent <Shooting> (); if (s [i] != null) { s[i].SetAlive(false); } } CrateShooting[] cs = new CrateShooting[e.Length]; for (int i = 0; i < e.Length; i++) { cs[i] = e [i].GetComponent <CrateShooting> (); if (cs [i] != null) { cs[i].SetAlive(false); } } StartCoroutine(startCutScene()); } }
void OnGUI() { GUILayout.Label ("Select pickup and DB", EditorStyles.boldLabel); UID = EditorGUILayout.IntField("UID: ",UID); WP = (WeaponPickup)EditorGUILayout.ObjectField("Pickup:",WP, typeof(WeaponPickup), true); WA = (WeaponAsset)EditorGUILayout.ObjectField("Asset List:",WA, typeof(WeaponAsset), true); if (GUILayout.Button("Add weapon to DB")) { UID = WeaponHandler.saveWeapon(WP.thisGun); } }
public void Release() { if (CurrentWeapon != null) { CurrentWeapon.Release(); CurrentWeapon.transform.parent = null; CurrentWeapon.transform.position = transform.position; CurrentWeapon.transform.localRotation = transform.rotation; CurrentWeapon = null; } }
void OnTriggerStay(Collider objeto) { if (objeto.CompareTag("Melee") || objeto.CompareTag("Rango")) { if (Input.GetKeyDown(KeyCode.E)) { WeaponPickup weapon = objeto.GetComponent <WeaponPickup>(); ChangeWeapon(weapon.type, weapon.rarity, PhotonConnection.GetInstance().randomSeed); } } }
private void OnTriggerEnter(Collider other) { if (other.tag == "WeaponDrop") { currentPickup = other.gameObject.GetComponent <WeaponPickup>(); /*if(OnNearPickup != null) * { * OnNearPickup(currentPickup); * }*/ } }
void OnGUI() { GUILayout.Label("Select pickup and DB", EditorStyles.boldLabel); UID = EditorGUILayout.IntField("UID: ", UID); WP = (WeaponPickup)EditorGUILayout.ObjectField("Pickup:", WP, typeof(WeaponPickup), true); WA = (WeaponAsset)EditorGUILayout.ObjectField("Asset List:", WA, typeof(WeaponAsset), true); if (GUILayout.Button("Add weapon to DB")) { UID = WeaponHandler.saveWeapon(WP.thisGun); } }
private int CheckWeaponType(Collider2D coll) { WeaponPickup pickup = coll.GetComponent <WeaponPickup>(); for (int i = 0; i < weaponSync.weaponType.Length; i++) { if (weaponSync.weaponType[i] == pickup.weaponReference) { return(i + 1); } } return(0); }
private bool Grab(WeaponPickup weapon) { if (weapon.TryHold()) { CurrentWeapon = weapon; weapon.transform.parent = transform; weapon.transform.localPosition = Vector3.zero; weapon.transform.localRotation = Quaternion.identity; weapon.transform.localScale = new Vector3(1, 1, 1); return(true); } return(false); }
void SwitchWeapon(WeaponPickup _pickup) { // Drop current Weapon DropWeapon(_pickup.weaponIndexPosition, true); // equip new weapon weapons[_pickup.weaponIndexPosition].isEquipped = true; // apply unique stats to new weapon on pickup weapons[_pickup.weaponIndexPosition].ApplyUniqueWeaponStats(_pickup.stats); // run SFX switchWeaponSFX.Invoke(); // destroiy pickup object once clip has played (double time to be safe) Destroy(_pickup.gameObject); }
// Update is called once per frame void FixedUpdate() { PlayerInputClass inputState = manager.PlayerInputState; HealingGun.ammunition.UpdateHealthPackAmmo(); if (inputState != null) { if (inputState.Switch) { if (HealingGun.gameObject.activeSelf) { HealingGun.Shoot(); } else if (!switchingWeapons) { SwitchWeapon(); } } if (inputState.Swap) { WeaponPickup p = manager.GetPickup(); if (!HealingGun.gameObject.activeSelf && p != null) { int c = p.AmmoInClip; int a = p.ammo; Debug.Log("Swapping: (" + c.ToString() + "," + a.ToString() + ")"); if (p.nonreloadable && p.worldSpawned && PowerupManager.GetPowerupStatus(Powerups.ExtraAmmo)) { c += Mathf.CeilToInt((float)c / 4); } bool taken = SwapWeapon(p.weaponType, p.transform, a, c); if (taken) { p.TakePickup(); } } } if (inputState.Heal && HealingGun.ammunition.remainingAmmo > 0 && playerHealth.currentHealth < playerHealth.maxHealth - 1) { if (!switchingWeapons) { SwitchWeapon(HealingGun, GetCurrentWeapon()); } } } }
public void Start() { weaponPickup = gameObject.GetComponent <WeaponPickup>(); dead = false; sprite = GetComponent <SpriteRenderer>(); child_transform = gameObject.transform.GetChild(0); child_object = child_transform.gameObject; child_sprite = child_object.GetComponent <SpriteRenderer>(); portal = GameObject.FindGameObjectWithTag("Portal"); main = GameObject.FindGameObjectWithTag("Main"); score = GameObject.FindGameObjectWithTag("Score"); player = GameObject.FindGameObjectWithTag("Player"); }
// Update is called once per frame void Update() { if (!ControlManager.IsInputEnabled()) { return; } if (Input.GetButton("Fire1")) { TryFireWeapon(); } List <Tuple <float, WeaponPickup> > nearby_weapons_distnaces = new List <Tuple <float, WeaponPickup> >(); nearby_weapon_pickups.ForEach((WeaponPickup pickup) => { var pickup_distance = Vector3.Distance(gameObject.transform.position, pickup.gameObject.transform.position); nearby_weapons_distnaces.Add(new Tuple <float, WeaponPickup>(pickup_distance, pickup)); }); nearby_weapons_distnaces.Sort((x, y) => x.Item1.CompareTo(y.Item1)); for (int i = 0; i < nearby_weapons_distnaces.Count; i++) { if (i == 0) { nearby_weapons_distnaces[i].Item2.DisplayPickupKey(true); } else { nearby_weapons_distnaces[i].Item2.DisplayPickupKey(false); } } if (Input.GetButton("TryPickup")) { if (nearby_weapons_distnaces.Count > 0) { pickupkey_down_item = nearby_weapons_distnaces[0].Item2; } } else if (Input.GetButtonUp("TryPickup") && pickupkey_down_item) { if (nearby_weapons_distnaces.Count > 0) { if (pickupkey_down_item == nearby_weapons_distnaces[0].Item2) { var weapon_pickup = nearby_weapons_distnaces[0].Item2; var weapon_prefab = weapon_pickup.GetWeaponTypePrefab(); PickupWeapon(weapon_prefab); weapon_pickup.DoPickup(); pickupkey_down_item = null; } } } }
public void Enter(AiAgent agent) { if (agent.weapons.hasWeapon) { agent.stateMachine.ChangeState(AiStateId.Idle); } if (!agent.weapons.hasWeapon) { WeaponPickup pickup = FindClosetWeapon(agent); agent.navMeshAgent.destination = pickup.transform.position; agent.navMeshAgent.speed = 5; } }
public static void dropWeapon(string weaponName, Vector3 position) { Debug.Log("Dropping a weapon: " + weaponName); var pickupObject = Resources.Load("Pickup_Weapon"); //generic pickup object var pickupInstance = (GameObject)Instantiate(pickupObject, position, Quaternion.identity); var pickupMesh = pickupInstance.transform.Find("Mesh"); var weaponObject = WeaponGenerator.getWeaponGameObject(weaponName); var weaponInstance = Instantiate(weaponObject, position, Quaternion.identity, pickupMesh); WeaponController weaponController = weaponInstance.GetComponentInChildren(typeof(WeaponController)) as WeaponController; WeaponGenerator.modWeapon(weaponController, weaponName); WeaponPickup weaponPickupComponent = pickupInstance.AddComponent(typeof(WeaponPickup)) as WeaponPickup; weaponPickupComponent.weaponPrefab = weaponController; }