Exemplo n.º 1
0
    // 游戏服务器
    public static void ConnectGameServer()
    {
        ProtoMsg.MsgNetAddress address = LoginDC.GetGameServerNetInfo();
        if (address == null)
        {
            IGGDebug.Log("未获取游戏服务器ip");
            return;
        }
        // 发送登录请求
        Communicate.Disconnect();
        if (Communicate.IsConnected() == false)
        {
            Communicate.SetGSConnetorGame(true);
            NetConnectState.SetConnetOverTime(3.0f, OnConnectOverTime);

            string ip = address.u32Ip.ToString();
            if (!isDomainAddrIp(address.u32Ip.ToString().ToCharArray()))
            {
                // data.netAdd.ip  转  ip 地址
                ip = IntToIp((Int32)address.u32Ip);
            }

            IGGDebug.Log("游戏服务器:" + ip + "," + address.u32Port);
            Communicate.Connect2GS(ip, (int)address.u32Port);
        }
    }
Exemplo n.º 2
0
 public CommunicateRecv(Communicate communicate, Session session, CommunicateListener listener)
 {
     this.communicate = communicate;
     this.listener = listener;
     this.session = session;
     //this.sessionListener = sessionListener;
 }
Exemplo n.º 3
0
        public IDataReader Select_Group(int transGroupID, bool isOfficial)
        {
            dbComm = new Communicate();
            IDataReader idr = dbComm.SelectCMD(string.Format("exec SP_fin_SelectVouchar @transGroupId={0}, @isOfficial={1}", transGroupID, Convert.ToInt32(isOfficial)));

            return(idr);
        }
Exemplo n.º 4
0
        public IDataReader Select_Group(int transGroupID)
        {
            dbComm = new Communicate();
            IDataReader idr = dbComm.SelectCMD(string.Format("exec SP_fin_SelectVouchar @transGroupId={0}", transGroupID));

            return(idr);
        }
Exemplo n.º 5
0
 private static void OnConnect(bool succ)
 {
     if (succ == true)
     {
         if (Communicate.IsConnectedGS() == true)
         {
             IGGDebug.Log("连接游戏服务器");
             LoginDC.SendGSMsgCL2GS();
         }
         else
         {
             IGGDebug.Log("连接登录服务器");
             LoginDC.SendLoginMsgCL2LS();
         }
     }
     else
     {
         IGGDebug.Log("连接服务器失败");
         if (g_failfp != null)
         {
             g_failfp();
             g_failfp = null;
         }
     }
 }
Exemplo n.º 6
0
    public void VerifFormule()
    {
        Jardin jardin = terrainHandler.getJardin();
        Communicate comm = new Communicate(SCRIPT_PYTHON, jardin);
        //lance le script
        comm.GetSource().Execute(comm.GetScope());
        for (int i = 1; i <= NB_FORMULE; i++)
        {
            iField = (InputField)GameObject.Find(PATH + "Form_" + i).GetComponent<InputField>();
            output = (Text)GameObject.Find(PATH + "VerifPan_" + i + "/verif_resultat_" + i).GetComponent<Text>();

            if (iField.text == "")
            {
                continue;
            }
            try
            {
                Formule formule = FormuleFactory.parse(iField.text);

                foreach (Element el in jardin.GetElements())
                {
                    Debug.Log(el);
                }

                object pythonForm = comm.HandleForm(formule);
                Func<Jardin, object> unity_my_interp_formul = comm.GetScope().GetVariable<Func<Jardin, object>>("unity_my_interp_formul");
                object pythonJardin = unity_my_interp_formul(jardin);
                Func<object, object, object> unity_eval_one_form = comm.GetScope().GetVariable<Func<object, object, object>>("unity_eval_one_form");
                var res = unity_eval_one_form(pythonJardin, pythonForm);

                //Affiche résultat
                if ((bool)res == true)
                {
                    output.color = Color.green;
                    output.text = "Vrai";
                }
                else
                {
                    output.color = Color.red;
                    output.text = "Faux";
                }
            }
            catch (ParserLogException)
            {
                output.color = Color.red;
                output.text = "Erreur";
                Debug.Log("Erreur formule");
            }
            catch (ValueErrorException)
            {
                output.color = new Color32(255, 128, 0, 255);
                output.text = "Var libre";
            }
            catch (Exception)
            {
                output.color = Color.red;
                output.text = "Erreur imprévue";
            }
        }
    }
Exemplo n.º 7
0
 private static void StartCommunication(WebSocket socket, IServiceProvider provider)
 {
     using (socket)
     {
         Communicate communication = BuildCommunication(socket, provider);
         communication.Execute().Wait();
     }
 }
Exemplo n.º 8
0
    public void VerifFormule()
    {
        iField = focusHandler.getCurrentFormule();
        output = focusHandler.getCurrentVerif();

        if (string.IsNullOrEmpty(iField.text))
        {
            return;
        }
        try
        {
            Formule     formule = FormuleFactory.parse(iField.text);
            Jardin      jardin  = terrainHandler.getJardin();
            Communicate comm    = new Communicate(SCRIPT_PYTHON, jardin);
            foreach (Element el in jardin.GetElements())
            {
                Debug.Log(el);
            }


            //lance le script
            comm.GetSource().Execute(comm.GetScope());
            object pythonForm = comm.HandleForm(formule);
            Func <Jardin, object> unity_my_interp_formul = comm.GetScope().GetVariable <Func <Jardin, object> >("unity_my_interp_formul");
            object pythonJardin = unity_my_interp_formul(jardin);
            Func <object, object, object> unity_eval_one_form = comm.GetScope().GetVariable <Func <object, object, object> >("unity_eval_one_form");
            var res = unity_eval_one_form(pythonJardin, pythonForm);
            Debug.Log("res=" + res);

            //Affiche résultat
            if ((bool)res == true)
            {
                output.color = Color.green;
                output.text  = "Vrai";
            }
            else
            {
                output.color = Color.red;
                output.text  = "Faux";
            }
        }
        catch (ParserLogException)
        {
            output.color = Color.red;
            output.text  = "Erreur";
            Debug.Log("Erreur formule");
        }
        catch (ValueErrorException)
        {
            output.color = new Color32(255, 128, 0, 255);
            output.text  = "Var libre";
        }
        catch (Exception)
        {
            output.color = Color.red;
            output.text  = "Erreur imprévue";
        }
    }
Exemplo n.º 9
0
    public void VerifFormule()
    {
        iField = focusHandler.getCurrentFormule();
        output = focusHandler.getCurrentVerif();

        if (string.IsNullOrEmpty(iField.text))
        {
            return;
        }
        try
        {
            Formule formule = FormuleFactory.parse(iField.text);
            Jardin jardin = terrainHandler.getJardin();
            Communicate comm = new Communicate(SCRIPT_PYTHON, jardin);
            foreach(Element el in jardin.GetElements())
            {
                Debug.Log(el);
            }

            //lance le script
            comm.GetSource().Execute(comm.GetScope());
            object pythonForm = comm.HandleForm(formule);
            Func<Jardin, object> unity_my_interp_formul = comm.GetScope().GetVariable<Func<Jardin, object>>("unity_my_interp_formul");
            object pythonJardin = unity_my_interp_formul(jardin);
            Func<object, object, object> unity_eval_one_form = comm.GetScope().GetVariable<Func<object, object, object>>("unity_eval_one_form");
            var res = unity_eval_one_form(pythonJardin, pythonForm);
            Debug.Log("res=" + res);

            //Affiche résultat
            if ((bool)res == true)
            {
                output.color = Color.green;
                output.text = "Vrai";
            }
            else
            {
                output.color = Color.red;
                output.text = "Faux";
            }
        }
        catch (ParserLogException)
        {
            output.color = Color.red;
            output.text = "Erreur";
            Debug.Log("Erreur formule");
        }
        catch (ValueErrorException)
        {
            output.color = new Color32(255, 128, 0, 255);
            output.text = "Var libre";
        }
        catch (Exception)
        {
            output.color = Color.red;
            output.text = "Erreur imprévue";
        }
    }
Exemplo n.º 10
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            Communicate communicate = await _context.Communicate.FindAsync(id);

            _context.Communicate.Remove(communicate);
            await _context.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Exemplo n.º 11
0
    void Start()
    {
        FormuleTest ft = new FormuleTest();
        Jardin jardin = jardin2();
        Communicate comm = new Communicate("psar_python.py", jardin);
        //lance le script
        comm.GetSource().Execute(comm.GetScope());

        ft.test_formules(comm, jardin);
    }
Exemplo n.º 12
0
 internal Session(Communicate communicate, Socket socket)
 {
     if (communicate.IsServer)
     {
         sequeue = 2;
     }
     this.Socket = socket;
     Attributes = new Util.MapIndexProperty<string, object>();
     this.communicate = communicate;
 }
Exemplo n.º 13
0
        public async Task <ActionResult> Edit(Communicate communicate)
        {
            if (ModelState.IsValid)
            {
                _context.Entry(communicate).State = EntityState.Modified;
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(communicate));
        }
Exemplo n.º 14
0
    void Start()
    {
        FormuleTest ft     = new FormuleTest();
        Jardin      jardin = jardin2();
        Communicate comm   = new Communicate("psar_python.py", jardin);

        //lance le script
        comm.GetSource().Execute(comm.GetScope());

        ft.test_formules(comm, jardin);
    }
Exemplo n.º 15
0
        public async Task <ActionResult> Create(Communicate communicate)
        {
            if (ModelState.IsValid)
            {
                _context.Communicate.Add(communicate);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(communicate));
        }
Exemplo n.º 16
0
        // GET: Admin/Communicates/Delete/5
        public async Task <ActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            Communicate communicate = await _context.Communicate.FindAsync(id);

            if (communicate == null)
            {
                return(NotFound());
            }
            return(View(communicate));
        }
Exemplo n.º 17
0
        //public static Dictionary<string, Action> commandList { get; set; }
        public static Dictionary <string, Action> Commands(string commandOptions, string commandKey, PlayerSetup.Player playerData, Room.Room room)
        {
            var commandList = new Dictionary <String, Action>();

            commandList.Add("north", () => Movement.Move(playerData, room, "North"));
            commandList.Add("south", () => Movement.Move(playerData, room, "South"));
            commandList.Add("east", () => Movement.Move(playerData, room, "East"));
            commandList.Add("west", () => Movement.Move(playerData, room, "West"));
            commandList.Add("down", () => Movement.Move(playerData, room, "Down"));
            commandList.Add("up", () => Movement.Move(playerData, room, "Up"));
            //commandList.Add("look at", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "look"));
            commandList.Add("look", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "look"));
            commandList.Add("l in", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "look in"));
            commandList.Add("look in", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "look in"));
            commandList.Add("examine", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "examine"));
            commandList.Add("touch", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "touch"));
            commandList.Add("smell", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "smell"));
            commandList.Add("taste", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "taste"));
            commandList.Add("score", () => Score.ReturnScore(playerData));
            commandList.Add("inventory", () => Inventory.ReturnInventory(playerData.Inventory, playerData));
            commandList.Add("equipment", () => Equipment.ShowEquipment(playerData));
            commandList.Add("garb", () => Equipment.ShowEquipment(playerData));
            commandList.Add("get", () => ManipulateObject.GetItem(room, playerData, commandOptions, commandKey, "item"));
            commandList.Add("take", () => ManipulateObject.GetItem(room, playerData, commandOptions, commandKey, "item"));
            commandList.Add("drop", () => ManipulateObject.DropItem(room, playerData, commandOptions, commandKey));
            commandList.Add("put", () => ManipulateObject.DropItem(room, playerData, commandOptions, commandKey));
            commandList.Add("save", () => Save.UpdatePlayer(playerData));
            commandList.Add("'", () => Communicate.Say(commandOptions, playerData, room));
            commandList.Add("say", () => Communicate.Say(commandOptions, playerData, room));
            commandList.Add("sayto", () => Communicate.SayTo(commandOptions, room, playerData));
            commandList.Add(">", () => Communicate.SayTo(commandOptions, room, playerData));
            commandList.Add("quit", () => HubContext.Quit(playerData.HubGuid, room));
            commandList.Add("wear", () => Equipment.WearItem(playerData, commandOptions));
            commandList.Add("remove", () => Equipment.RemoveItem(playerData, commandOptions));
            commandList.Add("wield", () => Equipment.WearItem(playerData, commandOptions, true));
            commandList.Add("unwield", () => Equipment.RemoveItem(playerData, commandOptions, false, true));
            commandList.Add("kill", () => Fight2.PerpareToFight(playerData, room, commandOptions));
            commandList.Add("flee", () => Flee.fleeCombat(playerData, room));
            commandList.Add("unlock", () => ManipulateObject.UnlockItem(room, playerData, commandOptions, commandKey));
            commandList.Add("lock", () => ManipulateObject.LockItem(room, playerData, commandOptions, commandKey));
            commandList.Add("open", () => ManipulateObject.Open(room, playerData, commandOptions, commandKey));
            commandList.Add("close", () => ManipulateObject.Close(room, playerData, commandOptions, commandKey));
            commandList.Add("punch", () => Punch.StartPunch(playerData, room));
            commandList.Add("help", () => Help.ShowHelp(commandOptions, playerData));
            commandList.Add("time", Update.Time.ShowTime);
            commandList.Add("clock", Update.Time.ShowTime);
            return(commandList);
        }
Exemplo n.º 18
0
        override protected int _execute(Communicate request)
        {
            // Perform task:

            var tmpArr = Session.getInstance().GetLoginUsernames.ToArray();

            string msg = string.Join(",", tmpArr);

            _response.header  = "userlist";
            _response.message = new Message()
            {
                content = msg
            };

            return(Command.OK);
        }
Exemplo n.º 19
0
        public ICommand ResolveCommand(JObject joCommand)
        {
            ICommand result = null;

            var commandName = JSONUtil.GetCommandName(joCommand);

            if (commandName == null)
            {
                return(null);
            }
            if (commandName == "load-json")
            {
                result = new LoadJSON();
            }
            else if (commandName == "save-json")
            {
                result = new SaveJSON();
            }
            else if (commandName == "prompt")
            {
                result = new PromptCommand();
            }
            else if (commandName == "run-script")
            {
                result = new RunScript();
            }
            else if (commandName == "communicate")
            {
                result = new Communicate();
            }
            else if (commandName == "say")
            {
                result = new Communicate();
            }
            //else if (commandName == "run-rules") { return new RunRules(); }
            else if (commandName == "assert")
            {
                return(new Assert());
            }
            else if (commandName == "store")
            {
                return(new Store());
            }

            return(result);
        }
Exemplo n.º 20
0
    public object formules(Communicate comm)
    {
        String[] formuleTab = new string[]
        {
            "Rose(d)",
            "∀xRose(x)",
            "∃xRose(x)",
            "∀x(est_blanc(x) ⇒ ∃y(plus_petit_que(x,y) ∧ a_l_est_de(y,x)))"
        };

        object pythonArray = comm.pythonEmptyArray();

        foreach (String str in formuleTab)
        {
            comm.pythonAddInArray(pythonArray, comm.HandleForm(FormuleFactory.parse(str)));
        }
        return(pythonArray);
    }
Exemplo n.º 21
0
    public object formules(Communicate comm)
    {
        String[] formuleTab = new string[]
            {
                "Rose(d)",
                "∀xRose(x)",
                "∃xRose(x)",
                "∀x(est_blanc(x) ⇒ ∃y(plus_petit_que(x,y) ∧ a_l_est_de(y,x)))"
            };

        object pythonArray = comm.pythonEmptyArray();

        foreach (String str in formuleTab)
        {
            comm.pythonAddInArray(pythonArray, comm.HandleForm(FormuleFactory.parse(str)));
        }
        return pythonArray;
    }
Exemplo n.º 22
0
 void ProcessMessage(ClientConnection client, Communicate message)
 {
     if (message.CommunicationType == CommunicationType.Chat)
     {
         _world.NotifyMobiles(new Network.Messages.ToClient.Communication(
                                  client.Avatar.TemplateObjectName, message.Message,
                                  message.CommunicationType));
     }
     else if (message.CommunicationType == CommunicationType.PartyTalk)
     {
         var ma = (MobileAvatar)client.Avatar;
         ma.SendPartyTalk(message.Message);
     }
     else
     {
         _log.Error("Unexpected CommunicationType " + message.CommunicationType);
     }
 }
Exemplo n.º 23
0
        private static void KillPlex()
        {
            string processes = string.Empty;

            ProcessCpuUsages.Get().ForEach(d =>
                                           processes += $"\n{d.Value:00.00}% - {d.Key}"
                                           );
            Communicate.SendNotification($"CPU Usage is high\n\n{processes}");

            foreach (Process process in Process.GetProcessesByName("PlexScriptHost"))
            {
                process.Kill();
            }
            foreach (Process process in Process.GetProcessesByName("python"))
            {
                process.Kill();
            }
        }
Exemplo n.º 24
0
 // 登录服务器
 public static void ConnectLoginServer()
 {
     // 发送登录请求
     if (Communicate.IsConnected() == false)
     {
         Communicate.Disconnect();
         Communicate.SetGSConnetorGame(false);
         NetConnectState.SetConnetOverTime(3.0f, OnConnectOverTime);
         //Communicate.Connect2GS(g_ip, g_port);
         ServerInfo sInfo = GetServerInfo();
         if (null != sInfo)
         {
             Communicate.Connect2GS(sInfo.iP, sInfo.Port);
         }
         else
         {
             IGGDebug.Log("未获取登入服务器ip");
         }
     }
 }
Exemplo n.º 25
0
        /// <summary>
        ///   链接LS成功后 登入流程 开启
        /// </summary>
        public static void SendLoginMsgCL2LS()
        {
            ProtoMsg.MsgCl2lgRegist requestRegist = new ProtoMsg.MsgCl2lgRegist();
            MsgRegServerInfo        info          = new MsgRegServerInfo();
            MsgNetAddress           andress       = new MsgNetAddress();

            andress.u32Port = 0;
            andress.u32Ip   = 0;

            info.uType     = 1;
            info.uServerId = 0;
            info.netAddr   = andress;

            requestRegist.Info = info;
            Communicate.Send2GS(eMsgTypes.MsgCl2lgRegist, protobufM.Serializerobject <ProtoMsg.MsgCl2lgRegist>(requestRegist));

            ProtoMsg.MsgCl2lgLogin requestLogin = new ProtoMsg.MsgCl2lgLogin();
            requestLogin.strWebSession = "testtest";
            requestLogin.strAccount    = "6685";
            Communicate.Send2GS(eMsgTypes.MsgCl2lgLogin, protobufM.Serializerobject <ProtoMsg.MsgCl2lgLogin>(requestLogin));
        }
Exemplo n.º 26
0
        /// <summary>
        ///   链接LS成功后 登入流程 开启
        /// </summary>
        public static void SendGSMsgCL2GS()
        {
            ProtoMsg.MsgCl2gsRegist requestRegist = new ProtoMsg.MsgCl2gsRegist();
            MsgRegServerInfo        info          = new MsgRegServerInfo();
            MsgNetAddress           andress       = new MsgNetAddress();

            andress.u32Port = 0;
            andress.u32Ip   = 0;

            info.uType     = 1;
            info.uServerId = 0;
            info.netAddr   = andress;

            requestRegist.Info = info;
            Communicate.Send2GS(eMsgTypes.MsgCl2gsRegist, protobufM.Serializerobject <ProtoMsg.MsgCl2gsRegist>(requestRegist));

            ProtoMsg.MsgCl2gsLogin requestLogin = new ProtoMsg.MsgCl2gsLogin();
            requestLogin.u64UUID         = g_LSLogin.u64UUID;
            requestLogin.strLoginSession = g_LSLogin.strLoginSession;
            requestLogin.strAccount      = g_LSLogin.u64UUID.ToString();
            Communicate.Send2GS(eMsgTypes.MsgCl2gsLogin, protobufM.Serializerobject <ProtoMsg.MsgCl2gsLogin>(requestLogin));
        }
Exemplo n.º 27
0
    public void test_one_form(String form, int name, Communicate comm, Jardin jardin)
    {
        Debug.Log("====================" + "f" + name + "====================");
        Formule f = FormuleFactory.parse(form);

        try
        {
            object pythonForm = comm.HandleForm(f);
            Debug.Log(name + " = " + pythonForm.ToString());

            Func<Jardin, object> unity_my_interp_formul = comm.GetScope().GetVariable<Func<Jardin, object>>("unity_my_interp_formul");
            object pythonJardin = unity_my_interp_formul(jardin);
            Func<object, object, object> unity_eval_one_form = comm.GetScope().GetVariable<Func<object, object, object>>("unity_eval_one_form");

            Debug.Log("f" + name + " = " + unity_eval_one_form(pythonJardin, pythonForm));
            Debug.Log("===========================================================");
        }
        catch (CommException c)
        {
            Debug.Log(c);
        }
    }
Exemplo n.º 28
0
    public void test_one_form(String form, int name, Communicate comm, Jardin jardin)
    {
        Debug.Log("====================" + "f" + name + "====================");
        Formule f = FormuleFactory.parse(form);

        try
        {
            object pythonForm = comm.HandleForm(f);
            Debug.Log(name + " = " + pythonForm.ToString());

            Func <Jardin, object> unity_my_interp_formul = comm.GetScope().GetVariable <Func <Jardin, object> >("unity_my_interp_formul");
            object pythonJardin = unity_my_interp_formul(jardin);
            Func <object, object, object> unity_eval_one_form = comm.GetScope().GetVariable <Func <object, object, object> >("unity_eval_one_form");

            Debug.Log("f" + name + " = " + unity_eval_one_form(pythonJardin, pythonForm));
            Debug.Log("===========================================================");
        }
        catch (CommException c)
        {
            Debug.Log(c);
        }
    }
Exemplo n.º 29
0
    public void test_formules(Communicate comm, Jardin jardin)
    {
        String[] formuleTab = new string[]
            {
                "Rose(d)",
                "∀xRose(x)",
                "∃xRose(x)",
                "∀x(est_blanc(x) ⇒ ∃y(plus_petit_que(x,y) ∧ a_l_est_de(y,x)))",
                "∀x(a_l_est(x) ∨ a_l_ouest(x) ∨ au_sud(x) ∨ au_nord(x))",
                "(∀x(est_grand(x) ⇒ est_rouge(x)) ∧ ¬∃x(est_blanc(x) ∧ ∃y(est_rouge(y) ∧ au_sud_de(x,y))))",
                "∃x(est_rouge(x) ∧ au_nord_de(x,d))",
                "∃x((Rose(x) ∧ est_rouge(x)) ∧ (∀y((Rose(y) ∧ est_rouge(y)) ⇒ au_sud_de(x, y))))"

            };

        List<Formule> formules = new List<Formule>();
        int i = 1;
        foreach (String str in formuleTab)
        {
            test_one_form(str, i, comm, jardin);
            i++;
        }
    }
Exemplo n.º 30
0
        public static void ListenStart()
        {
            try
            {
                Communice = new Communicate(comPort, 9600, 15);

                DateTime dtNow = DateTime.Now;
                Console.WriteLine(" >> QPU Serial sistemi başlatıldı...");
                Console.WriteLine("Sistemden gelecek olan istekler dinleniyor...");
                Console.WriteLine("Sistem dinleme başlama zamanı: {0}.{1}", dtNow, dtNow.Millisecond);
                Console.WriteLine("------------------------------------------------");

                Communice.RequestedDataReceived += new Communicate.DataReceivedEventHandler(tryIt_RequestedDataReceived);
                Communice.ComPortCannotOpened   += new Communicate.OnComPortCannotOpened(Communice_ComPortCannotOpened);

                Communice.Start();
            }
            catch (Exception hata)
            {
                Console.WriteLine("ListenStart. Hata:" + hata.Message);
                OlayGunluk.Olay("ListenStart. Hata:" + hata.Message);
            }
        }
Exemplo n.º 31
0
    public void test_formules(Communicate comm, Jardin jardin)
    {
        String[] formuleTab = new string[]
        {
            "Rose(d)",
            "∀xRose(x)",
            "∃xRose(x)",
            "∀x(est_blanc(x) ⇒ ∃y(plus_petit_que(x,y) ∧ a_l_est_de(y,x)))",
            "∀x(a_l_est(x) ∨ a_l_ouest(x) ∨ au_sud(x) ∨ au_nord(x))",
            "(∀x(est_grand(x) ⇒ est_rouge(x)) ∧ ¬∃x(est_blanc(x) ∧ ∃y(est_rouge(y) ∧ au_sud_de(x,y))))",
            "∃x(est_rouge(x) ∧ au_nord_de(x,d))",
            "∃x((Rose(x) ∧ est_rouge(x)) ∧ (∀y((Rose(y) ∧ est_rouge(y)) ⇒ au_sud_de(x, y))))"
        };

        List <Formule> formules = new List <Formule>();
        int            i        = 1;

        foreach (String str in formuleTab)
        {
            test_one_form(str, i, comm, jardin);
            i++;
        }
    }
Exemplo n.º 32
0
        private static void tryIt_RequestedDataReceived(DataRequestEventArgs args)
        {
            try
            {
                DateTime dtNow = DateTime.Now;
                requestCount++;
                lineCount += 1;

                if (lineCount % 10 == 0)
                {
                    lineCount = 0;
                    Console.Clear();
                }

                Console.WriteLine("------------------------------------------------");
                Console.WriteLine("[{0}. isteğe ait datalar:]", requestCount);

                for (int i = 0; i < args.RequestedData.Length; i++)
                {
                    Console.WriteLine("\tGelen data {0} : {1}", i + 1, args.RequestedData[i].ToString());
                }

                Console.WriteLine("Gelen komut          : {0}", Communicate.GetCommandName(args.RequestedData[1].ToString()));
                //Console.WriteLine("Anket tmp bilgi btn  : {0}", args.RequestedData[2].ToString());
                //Console.WriteLine("Anket tmp bilgi elt  : {0}", args.RequestedData[5].ToString());
                Console.WriteLine("Checksum değeri      : {0}", args.RequestedData[6]);
                Console.WriteLine("İstek zamanı         : {0}.{1}", dtNow, dtNow.Millisecond);
                Console.WriteLine("------------------------------------------------");

                Communicating.DecideCommandResponse(args.RequestedData);
            }
            catch (Exception hata)
            {
                Console.WriteLine("tryIt_RequestedDataReceived hata:" + hata.Message);
                OlayGunluk.Olay("tryIt_RequestedDataReceived hata:" + hata.Message);
            }
        }
Exemplo n.º 33
0
        //public static Dictionary<string, Action> commandList { get; set; }
        public static Dictionary <string, Action> Commands(string commandOptions, string commandKey, PlayerSetup.Player playerData, Room.Room room)
        {
            var commandList = new Dictionary <String, Action>
            {
                { "north", () => Movement.Move(playerData, room, "North") },
                { "south", () => Movement.Move(playerData, room, "South") },
                { "east", () => Movement.Move(playerData, room, "East") },
                { "west", () => Movement.Move(playerData, room, "West") },
                { "down", () => Movement.Move(playerData, room, "Down") },
                { "up", () => Movement.Move(playerData, room, "Up") },
                { "look", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "look") },
                { "l in", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "look in") },
                { "look in", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "look in") },
                { "examine", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "examine") },
                { "touch", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "touch") },
                { "smell", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "smell") },
                { "taste", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "taste") },
                { "score", () => Score.ReturnScore(playerData) },
                { "inventory", () => Inventory.ReturnInventory(playerData.Inventory, playerData) },
                { "equipment", () => Equipment.ShowEquipment(playerData) },
                { "garb", () => Equipment.ShowEquipment(playerData) },
                { "get", () => ManipulateObject.GetItem(room, playerData, commandOptions, commandKey, "item") },
                { "take", () => ManipulateObject.GetItem(room, playerData, commandOptions, commandKey, "item") },
                { "drop", () => ManipulateObject.DropItem(room, playerData, commandOptions, commandKey) },
                { "give", () => ManipulateObject.GiveItem(room, playerData, commandOptions, commandKey, "killable") },
                { "put", () => ManipulateObject.DropItem(room, playerData, commandOptions, commandKey) },
                { "save", () => Save.UpdatePlayer(playerData) },
                { "'", () => Communicate.Say(commandOptions, playerData, room) },
                { "newbie", () => Communicate.NewbieChannel(commandOptions, playerData) },
                { "gossip", () => Communicate.GossipChannel(commandOptions, playerData) },
                { "ooc", () => Communicate.OocChannel(commandOptions, playerData) },
                { "say", () => Communicate.Say(commandOptions, playerData, room) },
                { "sayto", () => Communicate.SayTo(commandOptions, room, playerData) },
                { ">", () => Communicate.SayTo(commandOptions, room, playerData) },
                { "talkto", () => Talk.TalkTo(commandOptions, room, playerData) },
                { "emote", () => Emote.EmoteActionToRoom(commandOptions, playerData) },
                { "quit", () => HubContext.Quit(playerData.HubGuid, room) },
                { "wear", () => Equipment.WearItem(playerData, commandOptions) },
                { "remove", () => Equipment.RemoveItem(playerData, commandOptions) },
                { "doff", () => Equipment.RemoveItem(playerData, commandOptions) },
                { "wield", () => Equipment.WearItem(playerData, commandOptions, true) },
                { "unwield", () => Equipment.RemoveItem(playerData, commandOptions, false, true) },
                { "kill", () => Fight2.PerpareToFight(playerData, room, commandOptions) },
                { "flee", () => Flee.fleeCombat(playerData, room) },

                //spells
                { "c magic missile", () => MagicMissile.StartMagicMissile(playerData, room, commandOptions) },
                { "cast magic missile", () => MagicMissile.StartMagicMissile(playerData, room, commandOptions) },

                { "c armour", () => Armour.StartArmour(playerData, room, commandOptions) },
                { "cast armour", () => Armour.StartArmour(playerData, room, commandOptions) },

                { "c armor", () => Armour.StartArmour(playerData, room, commandOptions) },
                { "cast armor", () => Armour.StartArmour(playerData, room, commandOptions) },

                { "c continual light", () => ContinualLight.StarContinualLight(playerData, room, commandOptions) },
                { "cast continual light", () => ContinualLight.StarContinualLight(playerData, room, commandOptions) },

                { "c invis", () => Invis.StartInvis(playerData, room, commandOptions) },
                { "cast invis", () => Invis.StartInvis(playerData, room, commandOptions) },

                { "c weaken", () => Weaken.StartWeaken(playerData, room, commandOptions) },
                { "cast weaken", () => Weaken.StartWeaken(playerData, room, commandOptions) },

                { "c chill touch", () => ChillTouch.StartChillTouch(playerData, room, commandOptions) },
                { "cast chill touch", () => ChillTouch.StartChillTouch(playerData, room, commandOptions) },

                { "c fly", () => Fly.StartFly(playerData, room, commandOptions) },
                { "cast fly", () => Fly.StartFly(playerData, room, commandOptions) },

                { "c refresh", () => Refresh.StartRefresh(playerData, room, commandOptions) },
                { "cast refresh", () => Refresh.StartRefresh(playerData, room, commandOptions) },

                { "c faerie fire", () => FaerieFire.StartFaerieFire(playerData, room, commandOptions) },
                { "cast faerie fire", () => FaerieFire.StartFaerieFire(playerData, room, commandOptions) },

                { "c teleport", () => Teleport.StartTeleport(playerData, room) },
                { "cast teleport", () => Teleport.StartTeleport(playerData, room) },

                { "c blindness", () => Blindness.StartBlind(playerData, room, commandOptions) },
                { "cast blindess", () => Blindness.StartBlind(playerData, room, commandOptions) },

                { "c haste", () => Haste.StartHaste(playerData, room, commandOptions) },
                { "cast haste", () => Haste.StartHaste(playerData, room, commandOptions) },

                { "c create spring", () => CreateSpring.StartCreateSpring(playerData, room) },
                { "cast create spring", () => CreateSpring.StartCreateSpring(playerData, room) },

                //skills
                { "punch", () => Punch.StartPunch(playerData, room) },
                { "kick", () => Kick.StartKick(playerData, room) },

                //
                { "unlock", () => ManipulateObject.UnlockItem(room, playerData, commandOptions, commandKey) },
                { "lock", () => ManipulateObject.LockItem(room, playerData, commandOptions, commandKey) },
                { "open", () => ManipulateObject.Open(room, playerData, commandOptions, commandKey) },
                { "close", () => ManipulateObject.Close(room, playerData, commandOptions, commandKey) },
                { "drink", () => ManipulateObject.Drink(room, playerData, commandOptions, commandKey) },
                { "help", () => Help.ShowHelp(commandOptions, playerData) },
                { "time", Update.Time.ShowTime },
                { "clock", Update.Time.ShowTime },
                { "skills", () => ShowSkills.ShowPlayerSkills(playerData, commandOptions) },
                { "skills all", () => ShowSkills.ShowPlayerSkills(playerData, commandOptions) },
                { "practice", () => Trainer.Practice(playerData, room, commandOptions) },
                { "list", () => Shop.listItems(playerData, room) },
                { "buy", () => Shop.buyItems(playerData, room, commandOptions) },
                { "quest log", () => Quest.QuestLog(playerData) },
                { "qlog", () => Quest.QuestLog(playerData) },
                { "wake", () => Status.WakePlayer(playerData, room) },
                { "sleep", () => Status.SleepPlayer(playerData, room) },
                { "greet", () => Greet.GreetMob(playerData, room, commandOptions) },
                { "who", () => Who.Connected(playerData) },
                { "affects", () => Affect.Show(playerData) },
                { "follow", () => Follow.FollowThing(playerData, room, commandOptions) }
            };


            return(commandList);
        }
 public SensorDataSetController(DataContext Context, ILogger <SensorDataSetController> logger, Communicate communicate)
 {
     _Context     = Context;
     _Logger      = logger;
     _communicate = communicate;
 }
Exemplo n.º 35
0
        /// <summary>
        /// Command list for the game
        /// </summary>
        /// <param name="commandOptions">Everything after the 1st occurance of a space</param>
        /// <param name="commandKey">The string before the 1st occurance of a space</param>
        /// <param name="playerData">Player Data</param>
        /// <param name="room">Current room</param>
        /// <returns>Returns Dictionary of commands</returns>
        public static void Commands(string commandOptions, string commandKey, PlayerSetup.Player playerData, Room.Room room)
        {
            var context = HubContext.Instance;

            switch (commandKey)
            {
            case "north":
                Movement.Move(playerData, room, "North");
                break;

            case "east":
                Movement.Move(playerData, room, "East");
                break;

            case "south":
                Movement.Move(playerData, room, "South");
                break;

            case "west":
                Movement.Move(playerData, room, "West");
                break;

            case "up":
                Movement.Move(playerData, room, "Up");
                break;

            case "down":
                Movement.Move(playerData, room, "Down");
                break;

            case "look":
            case "look at":
            case "l at":
            case "search":
                LoadRoom.ReturnRoom(playerData, room, commandOptions, "look");
                break;

            case "l in":
            case "search in":
                LoadRoom.ReturnRoom(playerData, room, commandOptions, "look in");
                break;

            case "examine":
                LoadRoom.ReturnRoom(playerData, room, commandOptions, "examine");
                break;

            case "touch":
                LoadRoom.ReturnRoom(playerData, room, commandOptions, "touch");
                break;

            case "smell":
                LoadRoom.ReturnRoom(playerData, room, commandOptions, "smell");
                break;

            case "taste":
                LoadRoom.ReturnRoom(playerData, room, commandOptions, "taste");
                break;

            case "score":
                Score.ReturnScore(playerData);
                break;

            case "inventory":
                Inventory.ReturnInventory(playerData.Inventory, playerData);
                break;

            case "eq":
            case "equip":
            case "equipment":
            case "garb":
                Equipment.ShowEquipment(playerData);
                break;

            case "loot":
            case "get":
            case "take":
                ManipulateObject.GetItem(room, playerData, commandOptions, commandKey, "item");
                break;

            case "plunder":
                ManipulateObject.GetItem(room, playerData, "all " + commandOptions, commandKey, "item");
                break;

            case "drop":
            case "put":
                ManipulateObject.DropItem(room, playerData, commandOptions, commandKey);
                break;

            case "give":
                ManipulateObject.GiveItem(room, playerData, commandOptions, commandKey, "killable");
                break;

            case "save":
                Save.SavePlayer(playerData);
                break;

            case "say":
            case "'":
                Communicate.Say(commandOptions, playerData, room);
                break;

            case "sayto":
            case ">":
                Communicate.SayTo(commandOptions, room, playerData);
                break;

            case "newbie":
                Communicate.NewbieChannel(commandOptions, playerData);
                break;

            case "gossip":
                Communicate.GossipChannel(commandOptions, playerData);
                break;

            case "ooc":
                Communicate.OocChannel(commandOptions, playerData);
                break;

            case "yes":
                Communicate.Say("Yes", playerData, room);
                break;

            case "no":
                Communicate.Say("No", playerData, room);
                break;

            case "yell":
                Communicate.Yell(commandOptions, room, playerData);
                break;

            case "talkto":
                Talk.TalkTo(commandOptions, room, playerData);
                break;

            case "emote":
                Emote.EmoteActionToRoom(commandOptions, playerData);
                break;

            case "use":
            case "wear":
            case "wield":
                Equipment.WearItem(playerData, commandOptions);
                break;

            case "remove":
            case "doff":
            case "unwield":
                Equipment.RemoveItem(playerData, commandOptions);
                break;

            case "hit":
            case "kill":
            case "attack":
                Fight2.PerpareToFight(playerData, room, commandOptions);
                break;

            case "flee":
                Flee.fleeCombat(playerData, room);
                break;

            case "sacrifice":
            case "harvest":
                Harvest.Body(playerData, room, commandOptions);
                break;

            case "peek":
                Peak.DoPeak(context, playerData, room, commandOptions);
                break;

            case "steal":
                Steal.DoSteal(context, playerData, room, commandOptions);
                break;

            case "pick":
                LockPick.DoLockPick(context, playerData, room, commandOptions);
                break;

            case "c magic missile":
            case "cast magic missile":
                MagicMissile.StartMagicMissile(playerData, room, commandOptions);
                break;

            case "c armour":
            case "cast armour":
            case "c armor":
            case "cast armor":
                new Armour().StartArmour(playerData, room, commandOptions);
                break;

            case "c continual light":
            case "cast continual light":
                ContinualLight.StarContinualLight(playerData, room, commandOptions);
                break;

            case "c invis":
            case "cast invis":
                Invis.StartInvis(playerData, room, commandOptions);
                break;

            case "c weaken":
            case "cast weaken":
                Weaken.StartWeaken(playerData, room, commandOptions);
                break;

            case "c chill touch":
            case "cast chill touch":
                ChillTouch.StartChillTouch(playerData, room, commandOptions);
                break;

            case "c fly":
            case "cast fly":
                Fly.StartFly(playerData, room, commandOptions);
                break;

            case "c refresh":
            case "cast refresh":
                Refresh.StartRefresh(playerData, room, commandOptions);
                break;

            case "c faerie fire":
            case "cast faerie fire":
                FaerieFire.StartFaerieFire(playerData, room, commandOptions);
                break;

            case "c teleport":
            case "cast teleport":
                Teleport.StartTeleport(playerData, room);
                break;

            case "c blindness":
            case "cast blindness":
                Blindness.StartBlind(playerData, room, commandOptions);
                break;

            case "c haste":
            case "cast haste":
                Haste.StartHaste(playerData, room, commandOptions);
                break;

            case "c create spring":
            case "cast create spring":
                CreateSpring.StartCreateSpring(playerData, room);
                break;

            case "c shocking grasp":
            case "cast shocking grasp":
                new ShockingGrasp().StartShockingGrasp(playerData, room, commandOptions);
                break;

            case "c cause light":
            case "cast cause light":
                new CauseLight().StartCauseLight(context, playerData, room, commandOptions);
                break;

            case "c cure light":
            case "cast cure light":
                new CureLight().StartCureLight(context, playerData, room, commandOptions);
                break;

            case "c cure blindness":
                new CureBlindness().StartCureBlindness(context, playerData, room, commandOptions);
                break;

            case "c detect invis":
            case "cast detect invis":
                DetectInvis.DoDetectInvis(context, playerData, room);
                break;

            case "forage":
                new Foraging().StartForaging(playerData, room);
                break;

            case "fish":
            case "angle":
            case "line":
            case "trawl":
            case "lure":
                new Fishing().StartFishing(playerData, room);
                break;

            case "reel":
                Fishing.GetFish(playerData, room);
                break;

            case "dirt kick":
                new DirtKick().StartDirtKick(context, playerData, room, commandOptions);
                break;

            case "bash":
                new Bash().StartBash(context, playerData, room, commandOptions);
                break;

            case "shield bash":
                new ShieldBash().StartBash(context, playerData, room, commandOptions);
                break;

            case "punch":
                Punch.StartPunch(playerData, room);
                break;

            case "kick":
                new Kick().StartKick(context, playerData, room, commandOptions);
                break;

            case "spin kick":
                new SpinKick().StartKick(context, playerData, room, commandOptions);
                break;

            case "rescue":
                new Rescue().StartRescue(context, playerData, room, commandOptions);
                break;

            case "lunge":
                new Lunge().StartLunge(context, playerData, room, commandOptions);
                break;

            case "disarm":
                new Disarm().StartDisarm(context, playerData, room);
                break;

            case "backstab":
                new Backstab().StartBackstab(context, playerData, room, commandOptions);
                break;

            case "feint":
                new Feint().StartFeint(context, playerData, room, commandOptions);
                break;

            case "mount":
            case "ride":
                Mount.StartMount(playerData, room, commandOptions);
                break;

            case "dismount":
                Mount.Dismount(playerData, room, commandOptions);
                break;

            case "trip":
                new Trip().StartTrip(context, playerData, room, commandOptions);
                break;

            case "sneak":
                Sneak.DoSneak(context, playerData);
                break;

            case "hide":
                Hide.DoHide(context, playerData);
                break;

            case "lore":
                Lore.DoLore(context, playerData, commandOptions);
                break;

            case "unlock":
                ManipulateObject.UnlockItem(room, playerData, commandOptions, commandKey);
                break;

            case "lock":
                ManipulateObject.LockItem(room, playerData, commandOptions, commandKey);
                break;

            case "close":
            case "shut":
                ManipulateObject.Close(room, playerData, commandOptions, commandKey);
                break;

            case "drink":
                ManipulateObject.Drink(room, playerData, commandOptions, commandKey);
                break;

            case "help":
            case "/help":
            case "?":
            case "commands":
                Help.ShowHelp(commandOptions, playerData);
                break;

            case "time":
            case "clock":
                Update.Time.ShowTime();
                break;

            case "skills":
            case "spells":
            case "skills all":
                ShowSkills.ShowPlayerSkills(playerData, commandOptions);
                break;

            case "practice":
                Trainer.Practice(playerData, room, commandOptions);
                break;

            case "list":
                Shop.listItems(playerData, room);
                break;

            case "buy":
                Shop.buyItems(playerData, room, commandOptions);
                break;

            case "sell":
                Shop.sellItems(playerData, room, commandOptions);
                break;

            case "quest log":
            case "qlog":
                Quest.QuestLog(playerData);
                break;

            case "wake":
                Status.WakePlayer(context, playerData, room);
                break;

            case "sleep":
                Status.SleepPlayer(context, playerData, room);
                break;

            case "rest":
            case "sit":
                Status.RestPlayer(context, playerData, room);
                break;

            case "stand":
                Status.StandPlayer(context, playerData, room);
                break;

            case "greet":
                Greet.GreetMob(playerData, room, commandOptions);
                break;

            case "who":
                Who.Connected(playerData);
                break;

            case "affects":
                Effect.Show(playerData);
                break;

            case "follow":
                Follow.FollowThing(playerData, room, commandOptions);
                break;

            case "nofollow":
                Follow.FollowThing(playerData, room, "noFollow");
                break;

            case "quit":
                HubContext.Instance.Quit(playerData.HubGuid, room);
                break;

            case "craft":
                Craft.CraftItem(playerData, room, commandOptions, CraftType.Craft);
                break;

            case "chop":
                Craft.CraftItem(playerData, room, commandOptions, CraftType.Chop);
                break;

            case "cook":
                Craft.CraftItem(playerData, room, commandOptions, CraftType.Cook);
                break;

            case "brew":
                Craft.CraftItem(playerData, room, commandOptions, CraftType.Brew);
                break;

            case "forge":
                Craft.CraftItem(playerData, room, commandOptions, CraftType.Forge);
                break;

            case "carve":
                Craft.CraftItem(playerData, room, commandOptions, CraftType.Carve);
                break;

            case "knit":
                Craft.CraftItem(playerData, room, commandOptions, CraftType.Knitting);
                break;

            case "make":
            case "build":
                Craft.CraftItem(playerData, room, commandOptions, CraftType.Craft);
                break;

            case "show crafts":
            case "craftlist":
                Craft.CraftList(playerData);
                break;

            case "set up camp":
                Camp.SetUpCamp(playerData, room);
                break;

            case "repair":
                Events.Repair.RepairItem(playerData, room, commandOptions);
                break;

            case "/debug":
                PlayerSetup.Player.DebugPlayer(playerData);
                break;

            case "/setGold":
                PlayerSetup.Player.SetGold(playerData, commandOptions);
                break;

            case "/setAc":
                PlayerSetup.Player.SetAC(playerData, commandOptions);
                break;

            case "/map":
                SigmaMap.DrawMap(playerData.HubGuid);     //not what you think it does
                break;

            default:
                HubContext.Instance.SendToClient("Sorry you can't do that. Try help commands or ask on the discord channel.", playerData.HubGuid);
                var log = new Error.Error
                {
                    Date         = DateTime.Now,
                    ErrorMessage = commandKey + " " + commandOptions,
                    MethodName   = "Wrong command"
                };

                Save.LogError(log);
                break;
            }
        }
Exemplo n.º 36
0
    public void VerifFormule()
    {
        Jardin      jardin = terrainHandler.getJardin();
        Communicate comm   = new Communicate(SCRIPT_PYTHON, jardin);

        //lance le script
        comm.GetSource().Execute(comm.GetScope());
        for (int i = 1; i <= NB_FORMULE; i++)
        {
            iField = (InputField)GameObject.Find(PATH + "Form_" + i).GetComponent <InputField>();
            output = (Text)GameObject.Find(PATH + "VerifPan_" + i + "/verif_resultat_" + i).GetComponent <Text>();

            if (iField.text == "")
            {
                continue;
            }
            try
            {
                Formule formule = FormuleFactory.parse(iField.text);


                foreach (Element el in jardin.GetElements())
                {
                    Debug.Log(el);
                }

                object pythonForm = comm.HandleForm(formule);
                Func <Jardin, object> unity_my_interp_formul = comm.GetScope().GetVariable <Func <Jardin, object> >("unity_my_interp_formul");
                object pythonJardin = unity_my_interp_formul(jardin);
                Func <object, object, object> unity_eval_one_form = comm.GetScope().GetVariable <Func <object, object, object> >("unity_eval_one_form");
                var res = unity_eval_one_form(pythonJardin, pythonForm);

                //Affiche résultat
                if ((bool)res == true)
                {
                    output.color = Color.green;
                    output.text  = "Vrai";
                }
                else
                {
                    output.color = Color.red;
                    output.text  = "Faux";
                }
            }
            catch (ParserLogException)
            {
                output.color = Color.red;
                output.text  = "Erreur";
                Debug.Log("Erreur formule");
            }
            catch (ValueErrorException)
            {
                output.color = new Color32(255, 128, 0, 255);
                output.text  = "Var libre";
            }
            catch (Exception)
            {
                output.color = Color.red;
                output.text  = "Erreur imprévue";
            }
        }
    }
Exemplo n.º 37
0
        /// <summary>
        ///   心跳包
        /// </summary>
        public static void SendKeepLiveMsg()
        {
            ProtoMsg.MsgClientKeepLiveAck requestKeepLive = new ProtoMsg.MsgClientKeepLiveAck();

            Communicate.Send2GS(eMsgTypes.MsgClientKeepLiveAck, protobufM.Serializerobject <ProtoMsg.MsgClientKeepLiveAck>(requestKeepLive));
        }
Exemplo n.º 38
0
 public ValuesController(IUnitOfWork unitOfWork, ILogger <ValuesController> logger, Communicate communicate)
 {
     _UnitOfWork  = unitOfWork;
     _Logger      = logger;
     _Communicate = communicate;
 }