示例#1
0
 /// <summary>
 /// Maakt een nieuwe waypoint na de huidige aan
 /// </summary>
 public void InsertAfter(V3WayPointObject wo)
 {
     // Doe hetzelfde als append als het geselecteerde object de laatste is.
     if (wo.indexInWayPointSystem == elements.Count - 1)
     {
         Append();
     }
     // Voeg in alle andere gevallen gewoon in na de huidige.
     else
     {
         V3WayPointObject woNext = elements[wo.indexInWayPointSystem + 1];
         V3WayPointObject woNew  = CreateWayPoint();
         woNew.indexInWayPointSystem = wo.indexInWayPointSystem + 1;
         woNew.transform.parent      = transform;
         woNew.transform.SetSiblingIndex(woNew.indexInWayPointSystem);
         woNew.name = currentPrefab.name + woNew.indexInWayPointSystem;
         elements.Insert(woNew.indexInWayPointSystem, woNew);
         //UpdateNamesAndIndicesFromIndex(woNew.indexInWayPointSystem + 1);
         woNew.transform.position = Vector3.Lerp(wo.transform.position, woNext.transform.position, .5f);
         UpdateEverything();
     }
 }
示例#2
0
    /// <summary>
    /// Voeg een nieuwe waypoint aan het begin of einde toe.
    /// </summary>
    /// <param name="append"></param>
    private void AppendOrPrepend(bool append)
    {
        V3WayPointObject wo = CreateWayPoint();

        wo.indexInWayPointSystem = append ? transform.childCount : 0;
        wo.transform.parent      = transform;
        wo.transform.SetSiblingIndex(wo.indexInWayPointSystem);
        wo.name = currentPrefab.name + wo.indexInWayPointSystem;
        elements.Insert(wo.indexInWayPointSystem, wo);
        Vector3 tmpPos = transform.position;

        if (wo.indexInWayPointSystem > 0)
        {
            V3WayPointObject woPrev = elements[wo.indexInWayPointSystem - 1];
            tmpPos = woPrev.transform.position + woPrev.transform.forward * -10;
        }
        else if (elements.Count > 1)
        {
            V3WayPointObject woPrev = elements[wo.indexInWayPointSystem + 1];
            tmpPos = woPrev.transform.position + woPrev.transform.forward * 10;
        }
        wo.transform.position = tmpPos;
        UpdateEverything();
    }
示例#3
0
 /// <summary>
 /// Verwijdert een waypoint van de lijst en werkt alle andere bij.
 /// </summary>
 /// <param name="wo"></param>
 /// <param name="index"></param>
 public void RemoveWayPoint(V3WayPointObject wo, int index)
 {
     elements.Remove(wo);
     UpdateEverything();
     //UpdateNamesAndIndicesFromIndex(index);
 }