Exemple #1
0
        void OnDisable()
        {
            PreviewOutput previewOutput = MapMagic.instance.gens.GetGenerator <PreviewOutput>();

            if (previewOutput == null)
            {
                return;
            }
            previewOutput.OnObjectChanged -= SetObject;
            MapMagic.instance.gens.DeleteGenerator(previewOutput);
        }
Exemple #2
0
			public void Purge ()
			{
				HeightOutput ho = MapMagic.instance.gens.GetGenerator<HeightOutput>(); if (ho==null || !ho.enabled) HeightOutput.Purge(this);
				
				SplatOutput so = MapMagic.instance.gens.GetGenerator<SplatOutput>();
				PreviewOutput po = MapMagic.instance.gens.GetGenerator<PreviewOutput>();
				if ( (po == null || !po.enabled) && (so==null || !so.enabled) ) SplatOutput.Purge(this);
				if (po == null || !po.enabled) previewObjs = null;
				
				GrassOutput go = MapMagic.instance.gens.GetGenerator<GrassOutput>(); if (go==null || !go.enabled) GrassOutput.Purge(this);
				ObjectOutput oo = MapMagic.instance.gens.GetGenerator<ObjectOutput>(); if (oo==null || !oo.enabled) ObjectOutput.Purge(this);
				TreesOutput to = MapMagic.instance.gens.GetGenerator<TreesOutput>(); if (to==null || !to.enabled) TreesOutput.Purge(this);
				purge = false;
			}
Exemple #3
0
        void OnEnable()
        {
            if (MapMagic.instance == null)
            {
                MapMagic.instance = FindObjectOfType <MapMagic>();
            }
            PreviewOutput previewOutput = MapMagic.instance.gens.GetGenerator <PreviewOutput>();

            if (previewOutput == null)
            {
                Close();
            }
            previewOutput.OnObjectChanged += SetObject;
        }
Exemple #4
0
			void PreviewOutput (Generator gen, Generator.Output output, bool inWindow)
			{
				PreviewOutput previewOutput = MapMagic.instance.gens.GetGenerator<PreviewOutput>();
				
				//removing an old one preview generator
				if (previewOutput != null)
					MapMagic.instance.gens.DeleteGenerator(previewOutput);

				//do nothing else if it is a 'clear' command (gen is null)
				if (gen==null || output==null) { PreviewWindow.CloseWindow(); MapMagic.instance.gens.ChangeGenerator(null); return; }
				
				//creating new preview and connecting it
				previewOutput = (PreviewOutput)MapMagic.instance.gens.CreateGenerator(typeof(PreviewOutput), gen.guiRect.position + new Vector2(200,10));
				previewOutput.input.Link(output, gen);

				if (inWindow)
				{
					previewOutput.inWindow = true;
					PreviewWindow.ShowWindow();
				}
				
				else previewOutput.onTerrain = true;

				MapMagic.instance.gens.ChangeGenerator(previewOutput);

				/*if (gen==null) 
				{ 
					MapMagic.instance.previewInWindow=false; MapMagic.instance.previewOnTerrain=false; 
					MapMagic.instance.previewGenerator=null; MapMagic.instance.previewOutput=null;

					if (MapMagic.instance.generators.GetOutput<SplatOutput>() != null) OnGeneratorChanged(MapMagic.instance.generators.GetOutput<SplatOutput>());
					else 
						foreach (MapMagic.Chunk chunk in MapMagic.instance.terrains.Objects())
							chunk.terrain.terrainData.splatPrototypes = new SplatPrototype[] { new SplatPrototype() { texture = Extensions.ColorTexture(2,2,new Color(0.5f, 0.5f, 0.5f, 0f)) } };

					return; 
				}
				
				RecordGeneratorUndo();
				MapMagic.instance.previewGenerator = gen;
				MapMagic.instance.previewOutput = previewOutput;
				
				if (inWindow) { MapMagic.instance.previewInWindow = true; PreviewWindow.ShowWindow(); }
				else { MapMagic.instance.previewOnTerrain = true; }

				OnGeneratorChanged(gen);*/
			}