示例#1
0
    void Start()
    {
        for (int i = 0; i < count; ++i)
        {
            GameObject overrideDuplicationElement = GetOverrideDuplicationElement(i);
            GameObject prefab = (overrideDuplicationElement != null) ? overrideDuplicationElement : this.gameObject;
            prefab.SetActive(true);
            GameObject clone = GameObject.Instantiate(prefab) as GameObject;

            clone.name = gameObject.name + "_Clone_" + i;
            clone.transform.SetParent(this.transform.parent);
            clone.transform.localPosition = this.transform.localPosition + offset * (i + 1);
            clone.transform.localScale    = (i % 2 == 1) ? Vector3.one : oddLocalScale;
            clone.transform.localRotation = Quaternion.identity;

            DuplicationUtility clonedDuplicationUtility = clone.GetComponent <DuplicationUtility>();
            if (clonedDuplicationUtility != null)
            {
                Destroy(clonedDuplicationUtility);
            }
        }

        HidePrefabs();
    }
示例#2
0
        static void Main(string[] args)
        {
            Console.WriteLine("FileDuplication Utility");
            Console.WriteLine();

            bool   bShowDuplicates   = true;
            string sFileDatabaseFile = "";
            string sTarget           = "";

            for (int i = 0; i < args.Length; i++)
            {
                if (args[i] == "-d" && i < args.Length - 1)
                {
                    sFileDatabaseFile = args[++i];
                }
                else
                if (args[i] == "-q")
                {
                    bShowDuplicates = false;
                }
                else
                {
                    sTarget = args[i];
                }
            }

            FileDatabase fileDatabase = null;

            if (sFileDatabaseFile == "")
            {
                fileDatabase = new FileDatabase();
            }
            else
            {
                if (File.Exists(sFileDatabaseFile))
                {
                    fileDatabase = DuplicationUtility.LoadFileDatabase(sFileDatabaseFile);
                }

                if (fileDatabase == null)
                {
                    fileDatabase = new FileDatabase();
                }
            }

            if (sTarget != "")
            {
                if (File.Exists(sTarget))
                {
                    DuplicationUtility.AddFileToDatabase(fileDatabase, sTarget);
                }
                if (Directory.Exists(sTarget))
                {
                    DuplicationUtility.AddDirectoryToDatabase(fileDatabase, sTarget);
                }

                if (sFileDatabaseFile != "")
                {
                    DuplicationUtility.SaveFileDatabase(fileDatabase, sFileDatabaseFile);
                }
            }

            if (bShowDuplicates)
            {
                List <DuplicateRecord> lstDuplicates = fileDatabase.GetDuplicateRecords();
                foreach (DuplicateRecord dr in lstDuplicates)
                {
                    Console.WriteLine(":{0}", dr.Hash);
                    foreach (FileMetaData fmd in dr.DuplicatedFiles)
                    {
                        Console.WriteLine("\t{0}", fmd.FilePath);
                    }
                }
            }
        }