예제 #1
0
    private CutableTree GetClosest()
    {
        var trees = COMPONENT_DATABASE.RetrieveComponents <CutableTree>();

        if (trees.Count == 0)
        {
            return(null);
        }

        CutableTree closest     = null;
        float       closestDist = float.MaxValue;

        foreach (var tree in trees)
        {
            float dist = (tree.gameObject.transform.position - transform.position).magnitude;

            if (dist < closestDist)
            {
                closest     = (CutableTree)tree;
                closestDist = dist;
            }
        }

        return(closest);
    }
예제 #2
0
    public override void SetTarget()
    {
        var closest = GetClosest();

        if (closest != null)
        {
            m_TargetTree = closest;
            target       = m_TargetTree.transform;
        }
    }
예제 #3
0
 protected override void DoReset()
 {
     m_TreeChopped = false;
     m_TargetTree  = null;
     m_StartTime   = 0f;
 }