Пример #1
0
        public static void StartListening()
        {
            client.Headers.Add("content-type", "application/json");//set your header here, you can add multiple headers
            sendEvent("lyokoconnect", "{\"user\":\"davcrox\"}");
            if (_listening)
            {
                return;
            }                                                      //dont do anything if we're already listening
            LyokoAPI.Events.LyokoLogger.Log("Test", "Subscribe");
            TowerActivationEvent.Subscribe(OnTowerActivation);     //Give the method name without '()'.
            XanaDefeatEvent.Subscribe(DoAThing);                   //the name of the method doesn't matter as long as the return value and parameters are the same

            TowerDeactivationEvent.Subscribe(onTowerdeactivation); //single statement lambda with one parameter

            XanaAwakenEvent.Subscribe(onXanaAwaken);               //single statement lambda with no parameters
            TowerHijackEvent.Subscribe(onHijack);

            /*TowerHijackEvent.Subscribe((tower, oldactivator, newactivator) => //multi statement lambda with 3 parameters
             * {
             *  //SoundPlayer.PlaySound(Sounds.Thief);
             *  Console.WriteLine("subscribe HIJACK");
             *  OnTowerActivation(tower); //you can re-use methods if you want, they're still methods.
             * });*/
            _listening = true;
        }
Пример #2
0
        public void Activate(string activator = "XANA")
        {
            var newactivator = LyokoParser.ParseActivator(activator.ToUpper());

            if (!Activated)
            {
                if (newactivator == APIActivator.NONE)
                {
                    return;
                }

                Activator = newactivator;
                TowerActivationEvent.Call(VirtualWorld.Name, Sector.Name, Number, newactivator.ToString());
            }
            else
            {
                if (newactivator == APIActivator.NONE)
                {
                    Deactivate();
                    return;
                }
                if (newactivator != Activator)
                {
                    Hijack(newactivator.ToString());
                }
            }
        }
Пример #3
0
 public static void Initialize()
 {
     XanaAwakenEvent.Subscribe(onXanaAwaken);
     XanaDefeatEvent.Subscribe(onXanaDefeat);
     TowerActivationEvent.Subscribe(onTowerActivation);
     TowerDeactivationEvent.Subscribe(onTowerDeactivation);
     TowerHijackEvent.Subscribe(onTowerHijacked);
 }
Пример #4
0
 public void Activate(APIActivator activator)
 {
     if (!Activated && activator != APIActivator.NONE)
     {
         Activator = activator;
         TowerActivationEvent.Call(this);
     }
 }
 public static void StopSuperscanner()
 {
     TowerActivationEvent.Unsubscribe(OnTowerActive);
     TowerDeactivationEvent.Unsubscribe(OnTowerDeactive);
     TowerHijackEvent.Unsubscribe(OnTowerHijack);
     XanaAwakenEvent.Unsubscribe(OnXANAWake);
     XanaDefeatEvent.Unsubscribe(onXANASleep);
 }
Пример #6
0
 internal void Activate(APIActivator activator = APIActivator.XANA)
 {
     if (Activated)
     {
         return;                      // for APITower, Activated checks if the activator isn't NONE
     }
     this.Activator = Activator;      //assign activator first
     TowerActivationEvent.Call(this); //call event second
 }
Пример #7
0
        public void StopListening()
        {
            if (!_listening)
            {
                return;
            }

            TowerActivationEvent.Unsubscribe(OnTowerActivation);
            TowerDeactivationEvent.Unsubscribe(OnTowerDeactivation);
        }
Пример #8
0
        public void StartListening()
        {
            if (_listening)
            {
                return;
            }

            TowerActivationEvent.Subscribe(OnTowerActivation);
            TowerDeactivationEvent.Subscribe(OnTowerDeactivation);

            _listening = true;
        }
Пример #9
0
        public static void StopListening()
        {
            if (!_listening)
            {
                return;
            }

            TowerActivationEvent.Unsubscribe(OnTowerActivation);
            TowerDeactivationEvent.Unsubscribe(OnTowerDeactivation);
            TowerHijackEvent.Unsubscribe(OnTowerHijack);

            _listening = false;
        }
Пример #10
0
        public void Activate(string activator)
        {
            if (Activated)
            {
                return;
            }
            if (!PossibleActivators.Contains(activator.ToLower()))
            {
                return;
            }

            Activator = activator;
            TowerActivationEvent.Call("lyoko", Sector, Number, Activator); //you can call the event with only strings, using the info from your class.
                                                                           //This will also give 0 control over this class to the listeners.
        }
Пример #11
0
        public static void StopListening()
        {
            if (!_listening)
            {
                return;
            }                            //dont stop listening if we've already stopped (unregistering events that haven't been registered is harmless though)
            TowerActivationEvent.Unsubscribe(OnTowerActivation);
            XanaDefeatEvent.Unsubscribe(DoAThing);
            sendEvent("lyokodisconnect", "{\"user\":\"davcrox\"}");

            /*
             * these unregister the listeners by using the delegate returned by Subscribe()
             */
            TowerDeactivationEvent.Unsubscribe(onTowerdeactivation);
            XanaAwakenEvent.Unsubscribe(onXanaAwaken);
            TowerHijackEvent.Unsubscribe(onHijack);
        }
Пример #12
0
        public Listener(ICollection <Command> commands, int port)
        {
            Commands = new List <Command>(commands);

            /*ServicePointManager.ServerCertificateValidationCallback +=
             *  (sender, certificate, chain, sslPolicyErrors) => true;*/
            connection = new HubConnectionBuilder().WithUrl($"http://localhost:{port}/MiniLyokoHub").Build();

            StartConnection();
            connection.Closed += async(error) =>
            {
                await Task.Delay(new Random().Next(0, 5) * 1000);

                await connection.StartAsync();
            };

            TowerActivationEvent.Subscribe(OnTowerActivation);
            TowerDeactivationEvent.Subscribe(OnTowerDeactivation);
            TowerHijackEvent.Subscribe(OnTowerHijack);
            CommandOutputEvent.Subscribe(OnCommandOutput);
            LyokoLogger.Subscribe(OnLogger);
            CommandInputEvent.Subscribe(OnCommand);
        }
Пример #13
0
 private APISuperScan()
 {
     TowerActivationEvent.Subscribe(OnTowerActivation);
     TowerDeactivationEvent.Subscribe(OnTowerDeactivation);
     TowerHijackEvent.Subscribe(OnTowerHijack);
 }