コード例 #1
0
    IEnumerator DelayFall()
    {
        if (falldelay > 0)
        {
            yield return(new WaitForSeconds(falldelay));
        }
        Fall();
        NavMeshAgentDisabler dis = GetComponent <NavMeshAgentDisabler>();

        if (dis)
        {
            dis.SetAgent(false);
        }
        yield return(new WaitForSeconds(deathDelayAfterFall));

        if (dis)
        {
            dis.SetAgent(true);
        }
        Destroy(gameObject);
        yield return(null);
    }
コード例 #2
0
    void FixedUpdate()
    {
        if (transform.localPosition != currentTarget)
        {
            MovePlatform();
            moving   = true;
            setLinks = false;
        }
        else
        {
            dif = Vector3.zero;
            UpdateTarget();
            moving = false;
        }

        if (dis)
        {
            dis.SetAgent(!moving);
        }
        if (!moving && links != null && !setLinks)
        {
            setLinks = true;
            foreach (NavMeshLinkPoints link in links)
            {
                link.AlighPoints();
            }
        }

        /*
         * for (int i = 0; i < obj.Count; i++)
         * {
         *  if (obj[i]==null) obj.RemoveAt(i);
         *  else {
         *      //Rigidbody r = obj[i].GetComponent<Rigidbody>();
         *      //if (r) r.velocity -= dif;
         *      obj[i].position += dif;
         *  }
         * }
         */
    }