internal static bool Prepare(GameObject gameObject, Container template, Vector3 referencePoint) { if (gameObject.GetComponent <RepairableContainer>() != null) { return(false); } RepairableContainer repairable = GetOrCreateComponent <RepairableContainer>(gameObject); repairable.Template = template.gameObject; repairable.ParentContainer = GetParent(repairable.Template); repairable.TargetPosition = RepairableContainer.GetTargetPosition(repairable.ParentContainer, referencePoint); repairable.TargetRotation = Quaternion.identity; repairable.RequiresTools = gameObject.CompareTag("Metal"); GetOrCreateComponent <BoxCollider>(gameObject); gameObject.layer = vp_Layer.Container; return(true); }
internal static bool Prepare(GameObject gameObject, Container template, Vector3 referencePoint) { if (gameObject.GetComponent <RepairableContainer>() != null) { return(false); } RepairableContainer repairable = gameObject.AddComponent <RepairableContainer>(); repairable.Template = GetParent(template); repairable.ParentContainer = GetParent(repairable.Template); repairable.TargetPosition = RepairableContainer.GetTargetPosition(repairable.ParentContainer, referencePoint); repairable.TargetRotation = repairable.Template.transform.localRotation; repairable.RequiresTools = true; if (gameObject.GetComponent <Collider>() == null) { gameObject.AddComponent <BoxCollider>(); } gameObject.layer = vp_Layer.Container; return(true); }