protected IEnumerator Extract_Ore(Vector3Int i_pos) { Block_Interactable temp_block = vision.Grab_Seen_Interactable(i_pos); if (memory.Check_Pos(i_pos) != 3) { does_copper_find = false; next_state = Check_Priorities(); yield break; } while (temp_block == null) { Look_At_Point(i_pos); temp_block = vision.Grab_Seen_Interactable(i_pos); yield return(null); } inventory.Set_Target(temp_block.Get_Inventory()); inventory.Take_Item("Copper Ore", 1); does_copper_find = false; next_state = Check_Priorities(); yield return(null); }
// Update is called once per frame void Update() { if (memory.Check_Pos(transform.position + transform.forward) <= 0) { rb.MovePosition(transform.position + (transform.forward * 1.0f * Time.deltaTime)); } else { Quaternion rotation_delta = Quaternion.Euler(rotation * Time.deltaTime); rb.MoveRotation(rb.rotation * rotation_delta); } }