예제 #1
0
 public bool Remove(string id)
 {
     if (_default_main != null)
     {
         IPlayerInputDevice device;
         if (_dict.TryGetValue(id, out device) && device == _default_main)
         {
             if (_dict.Remove(id))
             {
                 _default_main = null;
                 return(true);
             }
             else
             {
                 return(false);
             }
         }
         else
         {
             return(_dict.Remove(id));
         }
     }
     else
     {
         return(_dict.Remove(id));
     }
 }
        public void Add(string id, IPlayerInputDevice dev)
        {
            if (this.Contains(dev) && !(_dict.ContainsKey(id) && _dict[id] == dev))
            {
                throw new System.ArgumentException("Manager already contains input device for other player.");
            }

            _dict[id] = dev;
        }
        public string GetId(IPlayerInputDevice dev)
        {
            foreach (var pair in _dict)
            {
                if (pair.Value == dev)
                {
                    return(pair.Key);
                }
            }

            throw new System.ArgumentException("Unknown input device.");
        }
 public bool Contains(IPlayerInputDevice dev)
 {
     return((_dict.Values as ICollection <IPlayerInputDevice>).Contains(dev));
 }