예제 #1
0
        private void OnDeleteSelectedItem(object obj)
        {
            WaypointList.Remove(SelectedWaypointItem);
            var availableWaipoints = new Waypoints();

            availableWaipoints.AddRange(WaypointList);
            Task.Run(() => _repository.SaveAsync(availableWaipoints));
            NotifyOfPropertyChange(() => WaypointList);
        }
예제 #2
0
        private void OnTriggerEnter(Collider other)
        {
            if (!other.gameObject.CompareTag("Waypoint"))
            {
                return;
            }
            if (waypointsToFollow.waypoints.Count < 1)
            {
                return;
            }

            waypointsToFollow.Remove(other.gameObject.transform);
        }
예제 #3
0
 private void RemoveWaypoint(LinkedListNode <Vector2> node)
 {
     if (!IsEmpty())
     {
         if (node == current)
         {
             SetNextWaypoint();
             WaypointList.Remove(node);
             if (IsEmpty())
             {
                 current = null;
             }
         }
         else
         {
             WaypointList.Remove(node);
         }
     }
     else
     {
         throw new InvalidOperationException();
     }
 }
예제 #4
0
        public override void Use(Player p, string message)
        {
            if (p == null)
            {
                MessageInGameOnly(p); return;
            }
            string[] command = message.ToLower().Split(' ');
            string   cmd     = String.Empty;
            string   par1    = String.Empty;

            try
            {
                cmd  = command[0].ToLower();
                par1 = command[1];
            }
            catch { }
            if (cmd == "create" || cmd == "new" || cmd == "add")
            {
                if (!WaypointList.Exists(par1, p))
                {
                    WaypointList.Create(par1, p);
                    Player.SendMessage(p, "Created waypoint");
                    return;
                }
                else
                {
                    Player.SendMessage(p, "That waypoint already exists"); return;
                }
            }
            else if (cmd == "goto")
            {
                if (WaypointList.Exists(par1, p))
                {
                    WaypointList.Goto(par1, p);
                    return;
                }
                else
                {
                    Player.SendMessage(p, "That waypoint doesn't exist"); return;
                }
            }
            else if (cmd == "replace" || cmd == "update" || cmd == "edit")
            {
                if (WaypointList.Exists(par1, p))
                {
                    WaypointList.Update(par1, p);
                    Player.SendMessage(p, "Updated waypoint");
                    return;
                }
                else
                {
                    Player.SendMessage(p, "That waypoint doesn't exist"); return;
                }
            }
            else if (cmd == "delete" || cmd == "remove")
            {
                if (WaypointList.Exists(par1, p))
                {
                    WaypointList.Remove(par1, p);
                    Player.SendMessage(p, "Deleted waypoint");
                    return;
                }
                else
                {
                    Player.SendMessage(p, "That waypoint doesn't exist"); return;
                }
            }
            else if (cmd == "list")
            {
                Player.SendMessage(p, "Waypoints:");
                foreach (Waypoint wp in p.Waypoints)
                {
                    if (LevelInfo.Find(wp.lvlname) != null)
                    {
                        Player.SendMessage(p, wp.name + ":" + wp.lvlname);
                    }
                }
                return;
            }
            else
            {
                if (WaypointList.Exists(cmd, p))
                {
                    WaypointList.Goto(cmd, p);
                    Player.SendMessage(p, "Sent you to waypoint");
                    return;
                }
                else
                {
                    Player.SendMessage(p, "That waypoint or command doesn't exist"); return;
                }
            }
        }