public LoadComputerXmlReadEvent(Hacknet.Computer com, XmlReader red, string fnam, bool prevNetmap, bool prevDaeInit) : base(com)
 {
     Reader            = red;
     Filename          = fnam;
     PreventNetmapAdd  = prevNetmap;
     PreventDaemonInit = prevDaeInit;
 }
Esempio n. 2
0
 public static bool RemoveFrom(Instance ins, Hacknet.Computer c)
 {
     if (!compToInst.ContainsKey(c) || !compToInst[c].Contains(ins))
     {
         return(false);
     }
     return(compToInst[c].Remove(ins));
 }
Esempio n. 3
0
        public static Instance GetInstanceIn(Hacknet.Computer c, Type type)
        {
            Instance r = null;

            if (compToInst.ContainsKey(c))
            {
                r = compToInst[c].Find(i => i.Port == type);
            }
            return(r);
        }
Esempio n. 4
0
        public bool RemoveFrom(Hacknet.Computer c)
        {
            var i = GetWithin(c);

            if (i != null)
            {
                return(i.RemoveFrom(c));
            }
            return(false);
        }
Esempio n. 5
0
        /// <summary>
        /// Adds a link to linkStart connecting to linkEnd.
        /// </summary>
        /// <returns><c>true</c>, if the link was added, <c>false</c> otherwise.</returns>
        /// <param name="netmap">The NetworkMap</param>
        /// <param name="linkStart">The link start.</param>
        /// <param name="linkEnd">The link end.</param>
        public static bool AddLink(this Hacknet.NetworkMap netmap, Hacknet.Computer linkStart, Hacknet.Computer linkEnd)
        {
            var i = netmap.nodes.IndexOf(linkEnd);

            if (i < 0)
            {
                return(false);
            }
            linkStart.links.Add(i);
            return(linkStart.links.Contains(i));
        }
Esempio n. 6
0
        public bool AssignTo(Hacknet.Computer c, bool unlocked = false, bool replace = false)
        {
            var i = GetWithin(c);

            if (i == null)
            {
                return(new Instance(this, unlocked).AssignTo(c, replace));
            }
            i.Unlocked = unlocked;
            return(false);
        }
Esempio n. 7
0
 public static bool AssignTo(Instance ins, Hacknet.Computer c)
 {
     if (!compToInst.ContainsKey(c))
     {
         compToInst.Add(c, new List <Instance>());
     }
     if (!compToInst[c].Contains(ins))
     {
         compToInst[c].Add(ins);
         return(true);
     }
     return(false);
 }
Esempio n. 8
0
        /// <summary>
        /// Discovers a Computer node if it exists.
        /// </summary>
        /// <returns><c>true</c>, if node exists and was discovered, <c>false</c> otherwise.</returns>
        /// <param name="netmap">The NetworkMap</param>
        /// <param name="comp">The Computer node to discover</param>
        /// <param name="flashTime">The flash time length for the discovery</param>
        public static bool DiscoverNode(this Hacknet.NetworkMap netmap, Hacknet.Computer comp, float flashTime = 1f)
        {
            var i = netmap.nodes.IndexOf(comp);

            if (i != -1)
            {
                if (!netmap.visibleNodes.Contains(i))
                {
                    netmap.visibleNodes.Add(i);
                }
                if (flashTime > 0)
                {
                    comp.highlightFlashTime = flashTime;
                }
                netmap.lastAddedNode = comp;
            }
            return(i != -1 && netmap.visibleNodes.Contains(i));
        }
Esempio n. 9
0
        public static Instance CreateInstance(string id,
                                              Hacknet.Computer computer,
                                              Dictionary <string, string> objects)
        {
            var inter = Handler.GetDaemonById(ref id);

            if (inter == null)
            {
                return(null);
            }
            var i = new Instance(computer, inter.InitialServiceName, computer.os, inter)
            {
                InterfaceId = id
            };

            i.Interface.LoadInstance(i, objects ?? new Dictionary <string, string>());
            return(i);
        }
Esempio n. 10
0
 public bool RemoveFrom(Hacknet.Computer c) => RemoveFrom(this, c);
Esempio n. 11
0
 public bool AssignTo(Hacknet.Computer c) => AssignTo(this, c);
Esempio n. 12
0
 public Instance GetWithin(Hacknet.Computer c) => Instance.GetInstanceIn(c, this);
Esempio n. 13
0
 internal Instance(Hacknet.Computer computer, string serviceName, Hacknet.OS os, IInterface daeInterface)
     : base(computer, serviceName, os)
 {
     Interface = daeInterface;
     Interface.OnCreate(this);
 }
 public ComputerEvent(Hacknet.Computer com)
 {
     Computer = com;
 }