예제 #1
0
 public void Save(BulletPrefabSerializable serializable)
 {
     serializable.Shape           = Shape;
     serializable.Image           = Image;
     serializable.Size            = Size.Value;
     serializable.Margins         = Margins.Value;
     serializable.MainColor       = Helpers.ColorToString(MainColor);
     serializable.MainColorMode   = MainColorMode;
     serializable.SecondColor     = Helpers.ColorToString(SecondColor);
     serializable.SecondColorMode = SecondColorMode;
     OnDataSerialized(ref serializable);
 }
예제 #2
0
 private BulletPrefabData(BulletPrefabSerializable serializable, Database database)
 {
     ItemId          = new ItemId <BulletPrefabData>(serializable.Id, serializable.FileName);
     Shape           = serializable.Shape;
     Image           = new SpriteId(serializable.Image);
     Size            = new NumericValue <float>(serializable.Size, 0.01f, 100f);
     Margins         = new NumericValue <float>(serializable.Margins, 0f, 1f);
     MainColor       = Utils.ColorUtils.ColorFromString(serializable.MainColor);
     MainColorMode   = serializable.MainColorMode;
     SecondColor     = Utils.ColorUtils.ColorFromString(serializable.SecondColor);
     SecondColorMode = serializable.SecondColorMode;
 }
예제 #3
0
        public BulletPrefab(BulletPrefabSerializable serializable, Database database)
        {
            Id              = new ItemId <BulletPrefab>(serializable.Id, serializable.FileName);
            Shape           = serializable.Shape;
            Image           = serializable.Image;
            Size            = new NumericValue <float>(serializable.Size, 0.01f, 100f);
            Margins         = new NumericValue <float>(serializable.Margins, 0f, 1f);
            MainColor       = Helpers.ColorFromString(serializable.MainColor);
            MainColorMode   = serializable.MainColorMode;
            SecondColor     = Helpers.ColorFromString(serializable.SecondColor);
            SecondColorMode = serializable.SecondColorMode;

            OnDataDeserialized(serializable, database);
        }
예제 #4
0
        private BulletPrefab(BulletPrefabSerializable serializable, Database.Loader loader)
        {
            Id = new ItemId <BulletPrefab>(serializable.Id);
            loader.AddBulletPrefab(serializable.Id, this);

            Shape           = serializable.Shape;
            Image           = new SpriteId(serializable.Image, SpriteId.Type.Ammunition);
            Size            = UnityEngine.Mathf.Clamp(serializable.Size, 0.01f, 100f);
            Margins         = UnityEngine.Mathf.Clamp(serializable.Margins, 0f, 1f);
            MainColor       = new ColorData(serializable.MainColor);
            MainColorMode   = serializable.MainColorMode;
            SecondColor     = new ColorData(serializable.SecondColor);
            SecondColorMode = serializable.SecondColorMode;

            OnDataDeserialized(serializable, loader);
        }
예제 #5
0
        public BulletPrefabSerializable Serialize()
        {
            var serializable = new BulletPrefabSerializable();

            serializable.Id              = ItemId.Id;
            serializable.FileName        = ItemId.Name;
            serializable.ItemType        = (int)ItemType.BulletPrefab;
            serializable.Shape           = Shape;
            serializable.Image           = Image.ToString();
            serializable.Size            = Size.Value;
            serializable.Margins         = Margins.Value;
            serializable.MainColor       = Utils.ColorUtils.ColorToString(MainColor);
            serializable.MainColorMode   = MainColorMode;
            serializable.SecondColor     = Utils.ColorUtils.ColorToString(SecondColor);
            serializable.SecondColorMode = SecondColorMode;
            return(serializable);
        }
예제 #6
0
 public static BulletPrefabData Deserialize(BulletPrefabSerializable serializable, Database database)
 {
     return(new BulletPrefabData(serializable, database));
 }
예제 #7
0
 public static BulletPrefab Create(BulletPrefabSerializable serializable, Database.Loader loader)
 {
     return(new BulletPrefab(serializable, loader));
 }
예제 #8
0
 partial void OnDataDeserialized(BulletPrefabSerializable serializable, Database.Loader loader);
예제 #9
0
 partial void OnDataSerialized(ref BulletPrefabSerializable serializable);
예제 #10
0
 partial void OnDataDeserialized(BulletPrefabSerializable serializable, Database database);