- Home /
Question by
ganesh_be · Mar 24, 2020 at 07:00 PM ·
drag-and-dropreplace
Drag, drop items from inventory and replace a specific object with inventory item present in the game world.
1)When I drag and drop the object from inventory on the second object, the second object is replaced by the object present in inventory
2) But When I drag the object from inventory and place the object at some other position the object moves to original position from where I picked but I want to keep in the inventory only
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Photo : InventoryItemBase
{
public GameObject replace;
public Inventory inventory;
public HUD Hud;
// Start is called before the first frame update
public override string Name
{
get
{
return "Photo";
}
}
public override void OnDrop()
{
RaycastHit hit = new RaycastHit();
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
replace = GameObject.FindGameObjectWithTag("replace");
if (Physics.Raycast(ray, out hit, 1000))
{
//TODO item drop functionality on a fixed wall
if (hit.collider.gameObject.CompareTag("replace"))
{
gameObject.SetActive(true);
gameObject.transform.position = replace.gameObject.transform.position;
gameObject.transform.rotation = replace.gameObject.transform.rotation;
Destroy(replace.gameObject);
}
else
{
// Note sure
}
}
}
}
Any sort of help will be appreciated.
Comment
Your answer
Follow this Question
Related Questions
SOLVED - String replace % with " in C# 1 Answer
AssetDatabase: Replacing an asset, but leaving reference intact 2 Answers
Replacing an FBX model - I keep having to re-apply all scripts/etc 2 Answers
replacing currently painted trees 1 Answer
How Change one object to another in animation? ( change Sphere to cube) 0 Answers