// Update Event public virtual void Update() { if (!isBeingHeld) { step_time += Time.deltaTime; field_snap = false; velocity = Vector2.zero; if (field != null & windmill != null) { if (Vector2.Distance(new Vector2(transform.position.x, transform.position.y), new Vector2(field.transform.position.x, field.transform.position.y)) > 0.25f) { velocity = Vector2.MoveTowards(Vector2.zero, field.transform.position - transform.position, Time.deltaTime * 3f); anim.Play("walk"); } else { harvest_time += Time.deltaTime; if (harvest_time > harvest_delay) { field.grow(); harvest_time = 0; } anim.Play("harvest"); } } else { if (step_time > step_delay) { anim.Play("idle"); if (windmill != null) { if (field == null) { field = windmill.getField(); if (field != null) { field.being_farmed = true; } } } step_time = 0; } } } else { transform.localPosition = new Vector3(0f, -0.05f, 0f); } }
public override void pickUp(Tile tilePickingUsUp) { transform.parent = null; if (field != null) { field.being_farmed = false; } field = null; windmill = null; anim.Play("idle"); Physics2D.IgnoreCollision(tilePickingUsUp.GetComponent <Collider2D>(), GetComponent <Collider2D>(), true); base.pickUp(tilePickingUsUp); }