コード例 #1
0
 public void Save(CharacterSerializable serializable)
 {
     serializable.Name       = Name;
     serializable.AvatarIcon = AvatarIcon;
     serializable.Faction    = Faction.Value;
     serializable.Inventory  = Inventory.Value;
     serializable.Fleet      = Fleet.Value;
     serializable.Relations  = Relations.Value;
     serializable.IsUnique   = IsUnique;
     OnDataSerialized(ref serializable);
 }
コード例 #2
0
 private CharacterData(CharacterSerializable serializable, Database database)
 {
     ItemId     = new ItemId <CharacterData>(serializable.Id, serializable.FileName);
     Name       = serializable.Name;
     AvatarIcon = new SpriteId(serializable.AvatarIcon);
     Faction    = database.GetFactionId(serializable.Faction);
     Inventory  = database.GetLootId(serializable.Inventory);
     Fleet      = database.GetFleetId(serializable.Fleet);
     Relations  = new NumericValue <int>(serializable.Relations, 0, 100);
     IsUnique   = serializable.IsUnique;
 }
コード例 #3
0
        public Character(CharacterSerializable serializable, Database database)
        {
            Id         = new ItemId <Character>(serializable.Id, serializable.FileName);
            Name       = serializable.Name;
            AvatarIcon = serializable.AvatarIcon;
            Faction    = database.GetFactionId(serializable.Faction);
            Inventory  = database.GetLootId(serializable.Inventory);
            Fleet      = database.GetFleetId(serializable.Fleet);
            Relations  = new NumericValue <int>(serializable.Relations, -100, 100);
            IsUnique   = serializable.IsUnique;

            OnDataDeserialized(serializable, database);
        }
コード例 #4
0
        private Character(CharacterSerializable serializable, Database.Loader loader)
        {
            Id = new ItemId <Character>(serializable.Id);
            loader.AddCharacter(serializable.Id, this);

            Name       = serializable.Name;
            AvatarIcon = new SpriteId(serializable.AvatarIcon, SpriteId.Type.AvatarIcon);
            Faction    = loader.GetFaction(new ItemId <Faction>(serializable.Faction));
            Inventory  = loader.GetLoot(new ItemId <LootModel>(serializable.Inventory));
            Fleet      = loader.GetFleet(new ItemId <Fleet>(serializable.Fleet));
            Relations  = UnityEngine.Mathf.Clamp(serializable.Relations, -100, 100);
            IsUnique   = serializable.IsUnique;

            OnDataDeserialized(serializable, loader);
        }
コード例 #5
0
        public CharacterSerializable Serialize()
        {
            var serializable = new CharacterSerializable();

            serializable.Id         = ItemId.Id;
            serializable.FileName   = ItemId.Name;
            serializable.ItemType   = (int)ItemType.Character;
            serializable.Name       = Name;
            serializable.AvatarIcon = AvatarIcon.ToString();
            serializable.Faction    = Faction.Id;
            serializable.Inventory  = Inventory.Id;
            serializable.Fleet      = Fleet.Id;
            serializable.Relations  = Relations.Value;
            serializable.IsUnique   = IsUnique;
            return(serializable);
        }
コード例 #6
0
 public static CharacterData Deserialize(CharacterSerializable serializable, Database database)
 {
     return(new CharacterData(serializable, database));
 }
コード例 #7
0
 partial void OnDataSerialized(ref CharacterSerializable serializable);
コード例 #8
0
 partial void OnDataDeserialized(CharacterSerializable serializable, Database database);
コード例 #9
0
 public static Character Create(CharacterSerializable serializable, Database.Loader loader)
 {
     return(new Character(serializable, loader));
 }
コード例 #10
0
 partial void OnDataDeserialized(CharacterSerializable serializable, Database.Loader loader);