private void DropComponent() { if (currentObject == null) //just drop it on the floor { holdingComponent.transform.SetParent(null); holdingComponent.gameObject.SetActive(true); holdingComponent.SetAffectedByGravity(true); } else if (currentObject.AddPickableComponent(holdingComponent)) { } holdingComponent = null; }
public override bool AddPickableComponent(PickAbleObject pickAbleObject) { if (pickAbleObject is ConstructedRepairComponent) { ConstructedRepairComponent newComponent = (ConstructedRepairComponent)pickAbleObject; if (currentIssue.seekedWord.ToString() == newComponent.partName) { Destroy(newComponent.gameObject); FixObject(); return(true); } return(false); } return(false); }
private void PickUpComponent() { if (currentObject == null) { List <PickAbleObject> componentsInScene = new List <PickAbleObject>(); componentsInScene.AddRange(FindObjectsOfType <PickAbleObject>()); componentsInScene.RemoveAll(i => Vector3.Distance(i.transform.position, transform.position) > 3f); PickAbleObject componentToPick = null; if (componentsInScene.Count > 0) { componentToPick = componentsInScene.OrderBy(i => Vector3.Distance(i.transform.position, transform.position)).First(); } if (componentToPick != null && componentToPick.pickable) { holdingComponent = componentToPick; holdingComponent.transform.SetParent(transform); holdingComponent.gameObject.SetActive(true); holdingComponent.transform.position = holdingTransform.position; holdingComponent.SetAffectedByGravity(false); } else { componentToPick = null; } } else { holdingComponent = currentObject.GetRepairComponent(); if (holdingComponent != null) { holdingComponent.transform.SetParent(transform); holdingComponent.gameObject.SetActive(true); holdingComponent.transform.position = holdingTransform.position; holdingComponent.SetAffectedByGravity(false); } } //component.gameObject.GetComponent<Renderer>().enabled = false; }
public virtual bool AddPickableComponent(PickAbleObject pickAbleObject) => false;
//================= Overide Methods ===================== public override bool AddPickableComponent(PickAbleObject pickAbleObject) { return(AddComponentToConstructionPlace((RepairComponent)pickAbleObject)); }