Ejemplo n.º 1
0
    // Use this for initialization
    void Start()
    {
        m_way.start();
        foreach (PathMovementAnchor anchor in m_items)
        {
            if (anchor.m_target == null)
            {
                continue;
            }
            Vector3 on_path   = get_pos_on_path_local(anchor.m_offset);
            Vector3 local_pos = transform.InverseTransformPoint(anchor.m_target.transform.position);
            anchor.pos_offset = local_pos - on_path;
        }
        int num_items = m_items.Count;

        for (int idx = 0; idx < num_items; ++idx)
        {
            PathMovementAnchor source = m_items[idx];
            if (source.m_target == null)
            {
                continue;
            }
            for (int i = 0; i < source.m_duplicate_amount; ++i)
            {
                PathMovementAnchor copy = new PathMovementAnchor();
                copy.m_offset   = (source.m_offset + (float)(i + 1) * source.m_duplicate_distance) % 1.0f;
                copy.pos_offset = source.pos_offset;
                Vector3 on_path = get_pos_on_path_local(copy.m_offset);
                copy.m_target = (GameObject)Object.Instantiate(source.m_target, transform.TransformPoint(on_path), source.m_target.transform.rotation);
                m_items.Add(copy);
            }
        }
    }
Ejemplo n.º 2
0
 // Use this for initialization
 void Start()
 {
     m_start_position = transform.localPosition;
     m_way.start();
 }