示例#1
0
    public void CmdGenerateCardAlreadyLaid(NetworkInstanceId networkIdJoueur)
    {
        Debug.Log("Begin CmdGenerateCardAlreadyLaid");
        CarteMetierAbstract[] listeCarteDejaPose = GameObject.FindObjectsOfType <CarteMetierAbstract> ();

        if (null != listeCarteDejaPose)
        {
            for (int index = 0; index < listeCarteDejaPose.Length; index++)
            {
                CarteMetierAbstract carteDejaPosee = listeCarteDejaPose [index];
                if (null != carteDejaPosee)
                {
                    //carteDejaPosee.generateGOCard ();

                    if (carteDejaPosee is CartePlaneteMetier)                      //pas besoin de serialisation pour les planete
                    {
                        RpcGeneratePlanete(carteDejaPosee.gameObject, networkIdJoueur);
                    }
                    else if (carteDejaPosee is CarteConstructionMetierAbstract)
                    {
                        byte[] carteRefData = SerializeUtils.SerializeToByteArray(carteDejaPosee.getCarteDTORef());
                        ((CarteConstructionMetierAbstract)carteDejaPosee).RpcGenerate(carteRefData, networkIdJoueur);
                    }
                    else
                    {
                        //TODO carteAmeliration
                    }
                }
            }
        }

        Debug.Log("End CmdGenerateCardAlreadyLaid");
    }
        private static bool CheckForUnprotectedTranslation(string path)
        {
            var fi = new FileInfo(path);

            if (fi.Extension.ToLower() != ".json")
            {
                return(true);
            }
            var uiLang = SerializeUtils.DeserializeDataJson <UiTranslation>(path);

            if (uiLang == null)
            {
                return(true);
            }
            var langPath = path.Substring(0, path.Length - fi.Extension.Length) + ".catchemLang";

            if (!File.Exists(langPath))
            {
#if DEBUG
                uiLang.CryptData(langPath, _entropy);
                LangList.Add(fi.Name.Substring(0, fi.Name.Length - fi.Extension.Length));
#else
                File.Delete(path);
#endif
            }
            return(true);
        }
示例#3
0
        public void Test()
        {
            // Creating entity
            using (var session = Domain.OpenSession())
            {
                using (var transactionScope = session.OpenTransaction())
                {
                    //AddVersion_1_0_0_0(session);
                    AddVersion_1_0_5_0(session);

                    transactionScope.Complete();
                }
            }

            // Checking the result entity
            using (var session = Domain.OpenSession())
            {
                using (var transactionScope = session.OpenTransaction())
                {
                    var productVersions            = session.Query.All <ProductVersion>().ToList();
                    var productVersionDtos         = productVersions.TransformToDto <ProductVersion, ProductVersionDto>(session);
                    ProductVersionsDto versionsBag = new ProductVersionsDto(productVersionDtos);
                    string             xml         = SerializeUtils.SerializeDataContract(versionsBag);
                    File.WriteAllText(@"c:\doemd-versions.xml", xml);

                    var dataContract = SerializeUtils.DeserializeDataContract <ProductVersionsDto>(xml);

                    transactionScope.Complete();
                }
            }

            // Writing message to log
            Log.Info("Test passed.");
        }
示例#4
0
 /// <summary>
 /// Saves room user data into the current XML node.
 /// </summary>
 /// <param name="room"></param>
 /// <param name="editor"></param>
 /// <param name="writer"></param>
 private static void SaveDataToXML(Room room, RoomSettingsEditor editor, XmlTextWriter writer)
 {
     // We do not have a distinct class which would only describe necessary fields,
     // so we do this part by hand for now, trying to be compliant with SerializeUtils.
     writer.WriteStartElement(XML_ROOM_NODE);
     writer.WriteStartElement(XML_ROOM_LAYERS_NODE);
     foreach (IRoomEditorFilter layer in editor.Layers)
     {
         writer.WriteStartElement(layer.Name);
         writer.WriteElementString(XML_LAYER_ELEM_VISIBLE, layer.Visible.ToString());
         writer.WriteElementString(XML_LAYER_ELEM_LOCKED, layer.Locked.ToString());
         writer.WriteStartElement(XML_LAYER_ITEMS_NODE);
         foreach (var item in layer.DesignItems)
         {
             writer.WriteStartElement(XML_LAYER_ITEM_NODE);
             writer.WriteAttributeString(XML_ITEM_ATTRIB_ID, item.Key);
             // Let our generic serializer handle this
             SerializeUtils.SerializePropertiesToXML(item.Value, writer);
             writer.WriteEndElement(); // item node
         }
         writer.WriteEndElement();     // Items collection node
         writer.WriteEndElement();     // Layer node
     }
     writer.WriteEndElement();         // Layers collection node
     writer.WriteEndElement();         // Room node
 }
示例#5
0
    /// <summary>
    /// 异步模式发送消息;  TODO, 不应该写在 此处;
    /// </summary>
    public void SendMessage(Message message)
    {
        // 重置发送缓存;
        _sendStream.SetLength(0);
        _sendStream.Position = 0;

        // 占位;
        SerializeUtils.WriteInt(_sendStream, 0);        // 消息长度

        // 写入消息ID;
        SerializeUtils.WriteInt(_sendStream, message.MsgId);
        // 填充信息;
        SerializeUtils.WriteBean(_sendStream, message);

        // 消息长度, 除去存储长度本身的数据外, 剩余数据所占长度;
        int msgLength = (int)_sendStream.Length - sizeof(int);

        _sendStream.Position = 0;
        SerializeUtils.WriteInt(_sendStream, msgLength);

        // 发起发送;
        var data       = _sendStream.ToArray();
        var dataLength = data.Length;

        SendMessage(data, dataLength);
    }
        internal static void TestSelectExpandWrapperConverter <T>() where T : SelectExpandWrapper
        {
            // Arrange
            T wrapper = (T)Activator.CreateInstance(typeof(T));
            MockPropertyContainer container = new MockPropertyContainer();

            wrapper.Container = new MockPropertyContainer();
            wrapper.Model     = _edmModel;
            wrapper.UseInstanceForProperties = true;

            SelectExpandWrapper <SelectExpandWrapperEntity> selectExpandWrapper = wrapper as SelectExpandWrapper <SelectExpandWrapperEntity>;

            Assert.NotNull(selectExpandWrapper);
            selectExpandWrapper.Instance = new SelectExpandWrapperEntity
            {
                Name = "abc"
            };

            JsonSerializerOptions        options          = new JsonSerializerOptions();
            SelectExpandWrapperConverter converterFactory = new SelectExpandWrapperConverter();
            JsonConverter <T>            typeConverter    = converterFactory.CreateConverter(typeof(T), options) as JsonConverter <T>;

            // Act
            string json = SerializeUtils.SerializeAsJson(jsonWriter => typeConverter.Write(jsonWriter, wrapper, options));

            // Assert
            Assert.Equal("{\"Name\":\"abc\"}", json);
        }
        public void SingleResultValueConverter_CanSerializeSingleResultOfT()
        {
            // Arrange & Act & Assert
            IEnumerable <Customer> customers = new Customer[]
            {
                new Customer {
                    Id = 1, Name = "abc"
                },
                new Customer {
                    Id = 2, Name = "efg"
                }
            };

            SingleResult <Customer> result = new SingleResult <Customer>(customers.AsQueryable());

            JsonSerializerOptions      options          = new JsonSerializerOptions();
            SingleResultValueConverter converterFactory = new SingleResultValueConverter();
            Type type = typeof(SingleResult <Customer>);
            SingleResultConverter <Customer> typeConverter = converterFactory.CreateConverter(type, options) as SingleResultConverter <Customer>;

            // Act
            string json = SerializeUtils.SerializeAsJson(jsonWriter => typeConverter.Write(jsonWriter, result, options));

            // Assert
            Assert.Equal("{\"Id\":1,\"Name\":\"abc\"}", json);
        }
示例#8
0
    public static void invoquerCarteServer(GameObject carteAInvoquer, int niveauInvocation, IConteneurCarte emplacementCible, Joueur joueurPossesseur)
    {
        NetworkServer.Spawn(carteAInvoquer);

        CarteMetierAbstract carteScript = carteAInvoquer.GetComponent <CarteMetierAbstract> ();

        if (carteScript is CarteConstructionMetierAbstract)
        {
            ((CarteConstructionMetierAbstract)carteScript).NiveauActuel = niveauInvocation;
        }

        if (joueurPossesseur.isServer)
        {
            EmplacementUtils.putCardFromServer(emplacementCible, carteScript);
        }
        else
        {
            emplacementCible.putCard(carteScript);
        }

        NetworkUtils.assignObjectToPlayer(carteScript.GetComponent <NetworkIdentity> (), joueurPossesseur.GetComponent <NetworkIdentity> (), .2f);
        byte[] carteRefData = SerializeUtils.SerializeToByteArray(carteScript.getCarteDTORef());


        if (carteScript is CarteConstructionMetierAbstract)
        {
            ((CarteConstructionMetierAbstract)carteScript).RpcGenerate(carteRefData, NetworkInstanceId.Invalid);
        }         //TODO carte amelioration
    }
示例#9
0
        private ProductVersionsDto GetAllProductVersions(string fileName)
        {
            ProductVersionsDto result = HttpContext.Current.Application.Get("AllProductVersions") as ProductVersionsDto;

            if (result == null)
            {
                try
                {
                    string content = File.ReadAllText(fileName);
                    result = SerializeUtils.DeserializeDataContract <ProductVersionsDto>(content);
                }
                catch
                {}

                if (result == null)
                {
                    result = new ProductVersionsDto();
                }

                HttpContext.Current.Application.Set("AllProductVersions", result);
            }


            return(result);
        }
        public bool LoadSettings()
        {
            var settingsFileName = Path.GetFileNameWithoutExtension(AssemblyUtils.AssemblyLocation) + ".xml";

            settingsFileName = Path.Combine(AssemblyUtils.AssemblyDirectoryName, settingsFileName);
            if (File.Exists(settingsFileName))
            {
                try
                {
                    var xml = File.ReadAllText(settingsFileName, Encoding.UTF8);
                    Settings = SerializeUtils.Deserialize <ProgramSettings>(xml);
                    return(true);
                }
                catch (Exception e)
                {
                    MessageBox.Show($"Failed to load settings from the file {settingsFileName}{Environment.NewLine}{e.Message}", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    return(false);
                }
            }
            else
            {
                Settings.VideoFileExtensions = new List <string> {
                    "*.mp4", "*.mp3", "*.mpg", "*.mpeg", "*.avi"
                };
                Settings.GalleryFileExtensions = new List <string> {
                    "*.bmp", "*.jpg", "*.jpeg", "*.png", "*.gif", "*.tiff"
                };
                return(true);
            }
        }
示例#11
0
        private void open()
        {
            openFileDialog.Filter           = "Data (*.dat)|*.dat";
            openFileDialog.FilterIndex      = 2;
            openFileDialog.RestoreDirectory = true;
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    // Clear.
                    questions.Clear();
                    questionTabControl.TabPages.Clear();

                    // Load data.
                    var localPath = openFileDialog.FileName;
                    var set       = SerializeUtils.DeserializeObject(localPath);
                    questionSet = set;
                    questions   = questionSet.QuestionList;

                    // Visualization.
                    foreach (var q in questions)
                    {
                        addQuestionTab(q);
                    }
                    MessageBox.Show("Open question set successfully.");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Open question set faield.\n" + ex.Message);
                }
            }
        }
示例#12
0
        public void SerializeToFileTest()
        {
            string path = "SerializeToFileTest.xml";

            {
                var list1 = new List <string>();
                list1.Add("abc");
                list1.Add("あいうえお");
                list1.Add("");
                list1.Add("<\n>");
                list1.Add(null);

                //Obj -> XmlFile
                SerializeUtils.SerializeToFile(list1, path);

                //XmlFile -> Obj
                var list2 = (List <string>)SerializeUtils.DeserializeFromFile(typeof(List <string>), path);

                //Check
                Assert.AreEqual(list1.Count, list2.Count);
                for (int i = 0; i < list1.Count; i++)
                {
                    Assert.AreEqual(list1[i], list2[i]);
                }
            }
        }
示例#13
0
    private void ReceiveMessage()
    {
        // 阻塞式接收消息;
        Stream msgStream = _tc.ReceiveMessage();

        if (msgStream == null)
        {
            return;
        }

        // 消息ID;
        int msgID = SerializeUtils.ReadInt(msgStream);


        Message msg = _pros.GetMessage(msgID);

        if (msg != null)
        {
            // 消息解析;
            msg.Deserialize(msgStream);

            // 加入待处理列表;
            lock (_protocolList)
            {
                _protocolList.Enqueue(msg);
            }
        }
    }
        public void PageResultValueConverter_CanSerializePageResultOfT()
        {
            // Arrange & Act & Assert
            IEnumerable <Customer> customers = new Customer[]
            {
                new Customer {
                    Id = 1, Name = "abc"
                },
                new Customer {
                    Id = 2, Name = "efg"
                },
            };
            Uri  nextPageLink            = new Uri("http://any");
            long?count                   = 2;
            PageResult <Customer> result = new PageResult <Customer>(customers, nextPageLink, count);

            JsonSerializerOptions    options          = new JsonSerializerOptions();
            PageResultValueConverter converterFactory = new PageResultValueConverter();
            Type type = typeof(PageResult <Customer>);
            PageResultConverter <Customer> typeConverter = converterFactory.CreateConverter(type, options) as PageResultConverter <Customer>;

            // Act
            string json = SerializeUtils.SerializeAsJson(jsonWriter => typeConverter.Write(jsonWriter, result, options));

            // Assert
            Assert.Equal("{\"items\":[{\"Id\":1,\"Name\":\"abc\"},{\"Id\":2,\"Name\":\"efg\"}],\"nextpagelink\":\"http://any\",\"count\":2}", json);
        }
示例#15
0
 void LoadVariables(SerializeUtils <GameVariables> gameVariables)
 {
     bulletDamage = gameVariables.Data.bulletDamage;
     bulletSpeed  = gameVariables.Data.bulletSpeed;
     gravity      = gameVariables.Data.gravity;
     //person1.Life = gameVariables.Data.playerHealth;
 }
示例#16
0
        public void ComputeWrapperOfTypeConverter_Works_ComputeWrapper()
        {
            // Arrange & Act & Assert
            TestDynamicTypeWrapperConverterRead <ComputeWrapper <object> >();

            // Arrange
            GroupByWrapper wrapper = new GroupByWrapper();

            wrapper.GroupByContainer = new AggregationPropertyContainer()
            {
                Name  = "TestProp",
                Value = "TestValue"
            };

            ComputeWrapper <GroupByWrapper> computeWrapper = new ComputeWrapper <GroupByWrapper>
            {
                Instance = wrapper
            };

            JsonSerializerOptions options = new JsonSerializerOptions();
            ComputeWrapperConverter <GroupByWrapper> converter = new ComputeWrapperConverter <GroupByWrapper>();

            // Act
            string json = SerializeUtils.SerializeAsJson(jsonWriter => converter.Write(jsonWriter, computeWrapper, options));

            // Assert
            Assert.Equal("{\"TestProp\":\"TestValue\"}", json);
        }
示例#17
0
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();

            sb.Append($"File Path: {FilePath};");
            sb.Append($"\nConfiguration: {SerializeUtils.ToJson(Configuration)}");
            return(sb.ToString());
        }
示例#18
0
文件: Form1.cs 项目: palasa/FuckWZJ
 private void ReadAllLivesFromServer()
 {
     MessageBox.Show("从服务器读取票务数据中...");
     // 从服务器读取
     Task.Factory.StartNew(GetTickets).ContinueWith(task => GetTicketsDetail()).ContinueWith(task =>
     {
         SerializeUtils.Serialize(allLives, dataXML);
     }).ContinueWith(task => MessageBox.Show("票务信息读取完毕"));
 }
    public override void CmdPiocheCard(NetworkInstanceId netIdJoueurPioche)
    {
        this.idJoueurProprietaire = netIdJoueurPioche;

        this.JoueurProprietaire.RpcPutCardInHand(this.netId);

        byte[] carteRefData = SerializeUtils.SerializeToByteArray(this.getCarteRef());
        this.RpcGenerate(carteRefData, NetworkInstanceId.Invalid);
    }
        public void SerializeToBinaryTest()
        {
            string path = @"E:\1\5\1.dat";

            SerializeUtils.SerializeToBinary(new Student {
                Name = "王彦兰", Sex = "男", Age = 27
            }, path);
            var result = SerializeUtils.DeserializeFromBinary <Student>(path);
        }
示例#21
0
文件: Form1.cs 项目: palasa/FuckWZJ
        private void ReadAllLivesFromCache()
        {
            this.allLives = SerializeUtils.DeSerialize <List <Live> >(dataXML);

            foreach (var item in this.allLives)
            {
                item.Team.TeamColor = ColorTranslator.FromHtml(item.Team.TeamColorHTMLString);
            }
            MessageBox.Show("从缓存中读取票务数据完毕");
        }
示例#22
0
    public void RpcSyncCapaciteListDeck(byte[] listeCapaData, string type)
    {
        List <CapaciteMetier> listCapacite = SerializeUtils.Deserialize <List <CapaciteMetier> > (listeCapaData);
        DeckMetierAbstract    deckCible    = getDeckByType(type);

        if (null != deckCible)
        {
            deckCible.syncListCapacityFromServer(listCapacite);
        }
    }
示例#23
0
 public void SaveSettings()
 {
     try
     {
         SerializeUtils.SerializeObjectToXmlFile(App.FolderManager.TabsConfigFileName, this, m_FactoryManager.ToArray());
     }
     catch (Exception ex)
     {
         Debug.Print(ex.Message);
     }
 }
 public void SerializeToXmlTest()
 {
     SerializeUtils.SerializeToXml(new Student {
         Name = "折宝鹏", Sex = "男", Age = 27
     }, @"E:\1\5\1.xml", new XmlWriterSettings {
         CheckCharacters = false
     });
     var reault = SerializeUtils.DeserializeFromXml <Student>(@"E:\1\4\1.xml", new XmlReaderSettings {
         CheckCharacters = false
     });
 }
示例#25
0
    public void RpcSyncCapaciteListRessource(byte[] listeCapaData, string type)
    {
        List <CapaciteMetier> listCapacite = SerializeUtils.Deserialize <List <CapaciteMetier> > (listeCapaData);

        RessourceMetier ressource = getRessourceByType(type);

        if (null != ressource)
        {
            ressource.syncListCapacityFromServer(listCapacite);
        }
    }
示例#26
0
    public void RpcSyncCapaciteList(byte[] listeCapaData)
    {
        List <CapaciteMetier> listCapacite = SerializeUtils.Deserialize <List <CapaciteMetier> > (listeCapaData);

        if (null != listCapacite)
        {
            this.listEffetCapacite = listCapacite;
        }

        //TODO update visual
    }
示例#27
0
 public void LoadSettings()
 {
     if (File.Exists(fileManager.settingsFilePath))
     {
         string settingsString = FileDownloader.LoadTextFile(fileManager.settingsFilePath);
         settings = SerializeUtils <GameSettings> .Deserialize(settingsString);
     }
     else
     {
         SaveSettings();
     }
 }
示例#28
0
    public void synchroniseListCapacite()
    {
        byte[] listeCapaData = SerializeUtils.SerializeToByteArray(this.listCapaciteDeck);
        string typeDeck      = "";

        if (this is DeckConstructionMetier)
        {
            joueurProprietaire.RpcSyncCapaciteListDeck(listeCapaData, "Construction");
        }         /*else if (this is DeckAmelirationMetier) {
                   *    joueurProprietaire.RpcSyncCapaciteListDeck (listeCapaData, "Amelioration");
                   * }*/
    }
示例#29
0
        public void Save()
        {
            var fileName = App.FolderManager.ConfigFileName;

            try
            {
                SerializeUtils.SerializeObjectToXmlFile(fileName, this);
            }
            catch (Exception ex)
            {
                Debug.Print(ex.Message);
            }
        }
示例#30
0
    public override void Serialize(Stream stream)
    {
        // 序列化消息对象到stream,  依据 SerializeUtils.WriteBytes 的写入规则;
        long bodyBeginPos = stream.Position;

        SerializeUtils.WriteInt(stream, 0);                 // _msgObj 长度占位;
        ProtoBuf.Serializer.Serialize <T>(stream, _msgObj); // _msgObj 内容;
        long bodyEndPos = stream.Position;                  // 记录结束时的 Position

        // 写入 _msgObj 长度信息;
        stream.Position = bodyBeginPos;
        SerializeUtils.WriteInt(stream, (int)(bodyEndPos - bodyBeginPos - sizeof(int)));
        stream.Position = bodyEndPos;                       // 还原 Position;
    }
示例#31
0
文件: Game1.cs 项目: bradleat/trafps
 public void OpenLevel(string filename)
 {
     form.IncrementProgressBar(25);
     IAsyncResult result = null;
     SerializeUtils<LevelData> levelData = new SerializeUtils<LevelData>();
     if (!Guide.IsVisible)
     {
         result = Guide.BeginShowStorageDeviceSelector(PlayerIndex.One, null, null);
     }
     if (result.IsCompleted)
     {
         StorageDevice device = Guide.EndShowStorageDeviceSelector(result);
         levelData.LoadData(device, filename);
         form.IncrementProgressBar(25);
         LoadLevel(levelData);
     }
 }
示例#32
0
文件: Game1.cs 项目: bradleat/trafps
 private void LoadLevel(SerializeUtils<LevelData> levelData)
 {
     models.Clear();
     foreach (GameModel model in levelData.Data.models)
     {
         string name = GetName();
         Model modelType = Content.Load<Model>(name);
         DrawableModel newModel = new DrawableModel(modelType, Matrix.Identity);
         newModel.Position = model.position;
         models.Add(newModel);
         form.AddToListBox(newModel);
         form.Prop_ChangeSelected(newModel);
     }
     form.IncrementProgressBar(50);
 }