コード例 #1
0
    private MeatTable GetClosest()
    {
        var stacks = COMPONENT_DATABASE.RetrieveComponents <MeatTable>();

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

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

        foreach (var s in stacks)
        {
            var stack = (MeatTable)s;

            if (stack.count <= 0)
            {
                continue;
            }

            float dist = (stack.gameObject.transform.position - transform.position).magnitude;

            if (dist < closestDist)
            {
                closest     = stack;
                closestDist = dist;
            }
        }

        return(closest);
    }
コード例 #2
0
    public override void SetTarget()
    {
        MeatTable closest = GetClosest();

        if (closest != null)
        {
            m_TargetDeposit = closest;
            target          = m_TargetDeposit.transform;
        }
    }
コード例 #3
0
    public override void SetTarget()
    {
        var closest = GetClosest();

        if (closest != null)
        {
            m_TargetStack = closest;
            target        = m_TargetStack.transform;
        }
    }
コード例 #4
0
    private MeatTable GetClosest()
    {
        var tables = COMPONENT_DATABASE.RetrieveComponents <MeatTable>();

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

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

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

        return(closest);
    }
コード例 #5
0
 protected override void DoReset()
 {
     m_DepositedMeat = false;
     m_TargetDeposit = null;
 }