コード例 #1
0
    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);
    }
コード例 #2
0
 // 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);
     }
 }