Пример #1
0
    public override bool Load()
    {
        HeroConfigRepresentation targetData = target as HeroConfigRepresentation;

        var    client = new DatabaseClient("", "");
        string error  = string.Empty;
        var    db     = client.GetDatabase(targetData.SheetName, ref error);
        var    table  = db.GetTable <HeroConfigRepresentationData>(targetData.WorksheetName) ?? db.CreateTable <HeroConfigRepresentationData>(targetData.WorksheetName);

        List <HeroConfigRepresentationData> myDataList = new List <HeroConfigRepresentationData>();

        var all = table.FindAll();

        foreach (var elem in all)
        {
            HeroConfigRepresentationData data = new HeroConfigRepresentationData();

            data = Cloner.DeepCopy <HeroConfigRepresentationData>(elem.Element);
            myDataList.Add(data);
        }

        targetData.dataArray = myDataList.ToArray();

        EditorUtility.SetDirty(targetData);
        AssetDatabase.SaveAssets();

        return(true);
    }
Пример #2
0
        /// <summary>
        /// Drops the target_ preview drop.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="DragEventArgs"/> instance containing the event data.</param>
        void DropTarget_PreviewDrop(Object sender, DragEventArgs e)
        {
            var draggedItem  = e.Data.GetData(this._format.Name);
            var indexRemoved = -1;

            var dropSourceListBox = (ListBox)e.Source;

            var isDropSourceMasterListControl   = (Boolean)dropSourceListBox.GetValue(DragDropHelper.IsMasterListControlProperty);
            var isNonBindingControlsListControl = (Boolean)dropSourceListBox.GetValue(DragDropHelper.IsNonBindingControlsListControlProperty);

            var propertyInformation = (PropertyInformationViewModel)draggedItem;

            if (propertyInformation.IsNonBindingControl)
            {
                propertyInformation = Cloner.DeepCopy <PropertyInformationViewModel>((PropertyInformationViewModel)draggedItem);
            }

            if (draggedItem != null)
            {
                if ((e.Effects & DragDropEffects.Move) != 0)
                {
                    if (isNonBindingControlsListControl || isDropSourceMasterListControl || !propertyInformation.IsNonBindingControl)
                    {
                        indexRemoved = Utilities.RemoveItemFromItemsControl(this._sourceItemsControl, draggedItem);
                    }
                }

                // This happens when we drag an item to a later position within the same ItemsControl.
                if (indexRemoved != -1 && this._sourceItemsControl == this._targetItemsControl && indexRemoved < this._insertionIndex)
                {
                    this._insertionIndex--;
                }

                if (!isNonBindingControlsListControl)
                {
                    Utilities.InsertItemInItemsControl(this._targetItemsControl, propertyInformation, this._insertionIndex);

                    if (isDropSourceMasterListControl)
                    {
                        propertyInformation.ResetUserEnteredValues();
                    }
                }

                RemoveDraggedAdorner();
                RemoveInsertionAdorner();
                e.Handled = true;
            }
        }
Пример #3
0
    public static void loadGoogleSheet <T, D> (T tableAsset) where T : BaseScriptableObject <D> where D : new()
    {
        // resolves TlsException error
        ServicePointManager.ServerCertificateValidationCallback = Validator;

        GoogleDataSettings settings = GoogleDataSettings.Instance;

        if (settings != null)
        {
            if (string.IsNullOrEmpty(settings.OAuth2Data.client_id) ||
                string.IsNullOrEmpty(settings.OAuth2Data.client_secret))
            {
                Debug.LogWarning("Client_ID and Client_Sceret is empty. Reload .json file.");
            }

            if (string.IsNullOrEmpty(settings._AccessCode))
            {
                Debug.LogWarning("AccessCode is empty. Redo authenticate again.");
            }
        }
        else
        {
            Debug.LogError("Failed to get google data settings. See the google data setting if it has correct path.");
            return;
        }

        T      targetData = tableAsset;
        var    client     = new DatabaseClient("", "");
        string error      = string.Empty;
        var    db         = client.GetDatabase(targetData.SheetName, ref error);
        var    table      = db.GetTable <D> (targetData.WorksheetName) ?? db.CreateTable <D> (targetData.WorksheetName);

        List <D> myDataList = new List <D> ();

        var all = table.FindAll();

        foreach (var elem in all)
        {
            D data = new D();

            data = Cloner.DeepCopy <D> (elem.Element);
            myDataList.Add(data);
        }

        targetData.dataArray = myDataList.ToArray();
        EditorUtility.SetDirty(targetData);
        AssetDatabase.SaveAssets();
    }
Пример #4
0
        public void WhenClonerDeepCopiesAnObjectTheReturnedObjectHasSamePropertyValuesButIsNotTheSameReferenceObject()
        {
            // arrange
            var sut = new Customer {
                Count = -1, DateHired = DateTime.Now, FirstName = "Oceanware"
            };

            // act
            var sutDeepCopy = Cloner.DeepCopy <Customer>(sut);

            // assert
            Assert.False(ReferenceEquals(sut, sutDeepCopy));
            Assert.Equal(sut.FirstName, sutDeepCopy.FirstName);
            Assert.Equal(sut.Count, sutDeepCopy.Count);
            Assert.Equal(sut.DateHired, sutDeepCopy.DateHired);
        }
Пример #5
0
    public override bool Load()
    {
        if (!base.Load())
        {
            return(false);
        }

        MySpreadSheet targetData = target as MySpreadSheet;

        var client = new DatabaseClient(username, password);
        var db     = client.GetDatabase(targetData.SheetName) ?? client.CreateDatabase(targetData.SheetName);
        var table  = db.GetTable <MyData>(targetData.WorksheetName) ?? db.CreateTable <MyData>(targetData.WorksheetName);

        List <MyData> myDataList = new List <MyData>();

        var all = table.FindAll();

        foreach (var elem in all)
        {
            MyData data = new MyData();

            data = Cloner.DeepCopy <MyData>(elem.Element);
            myDataList.Add(data);
        }

#if UNITY_EDITOR
        Debug.Log("=== MyData ===");
        foreach (var e in myDataList)
        {
            Debug.Log("Key: " + e.Key);
            Debug.Log("Text: " + e.Text);
        }
#endif

        targetData.dataArray = myDataList.ToArray();

        EditorUtility.SetDirty(targetData);
        AssetDatabase.SaveAssets();

        return(true);
    }
Пример #6
0
        public static bool Load(MasterDataRoadLevelParameter target)
        {
            var client     = new DatabaseClient("", "");
            var error      = string.Empty;
            var db         = client.GetDatabase(SpreadSheetName, ref error);
            var table      = db.GetTable <RoadLevelParameterData>(WorkSheetName) ?? db.CreateTable <RoadLevelParameterData>(WorkSheetName);
            var myDataList = new List <MasterDataRoadLevelParameter.Record>();
            var all        = table.FindAll();

            foreach (var element in all)
            {
                var data = new RoadLevelParameterData();
                data = Cloner.DeepCopy <RoadLevelParameterData>(element.Element);
                myDataList.Add(new MasterDataRoadLevelParameter.Record(data));
            }

            target.Records = myDataList.ToArray();

            EditorUtility.SetDirty(target);
            AssetDatabase.SaveAssets();

            return(true);
        }