public static void DrawClips(int i, AmbientManager targ)
    {
        EditorGUILayout.BeginVertical("Box");

        if (targ.ambGroups[i].clips != null)
        {
            for (int j = 0; j < targ.ambGroups[i].clips.Count; j++)
            {
                //If there is an empty entry that isn't the last in the list.
                if (j < targ.ambGroups[i].clips.Count - 1 && targ.ambGroups[i].clips[j] == null)
                {
                    //Remove it and set our index back by one.
                    targ.ambGroups[i].clips.RemoveAt(j);
                    j--;
                }
                //Otherwise, draw an objectfield selector.
                else
                {
                    targ.ambGroups[i].clips[j] = (AudioClip)EditorGUILayout.ObjectField(targ.ambGroups[i].clips[j], typeof(AudioClip));
                }
            }
        }
        else
        {
            targ.ambGroups[i].clips = new List<AudioClip>();
        }

        //Add new clip
        if (GUILayout.Button("Add Clip"))
        {
            targ.ambGroups[i].clips.Add(new AudioClip());
        }
        EditorGUILayout.EndVertical();
    }
Esempio n. 2
0
        private IEnumerator LoadGame(int[] size)
        {
            yield return(null);

            var biomeConfig = ConfigImporter.GetAllConfigs <BiomeConfiguration>("World/Biomes").First();
            var treeManager = new TreeManager();

            yield return(treeManager.GenerateTrees((int)(size[0] * size[1] * 0.003f), Map.Instance.MapData, null));

            AmbientManager.SpawnAmbientPlants(biomeConfig);
            //Map.Instance.transform.parent.transform.localScale = Vector3.one * 0.05f;
        }
Esempio n. 3
0
	private void Start()
	{
		_musicManager =	GameObject.FindObjectOfType<MusicManager> ();
		_recipeManager = GameObject.FindObjectOfType<RecipeManager>();
		_ambientManager = GameObject.FindObjectOfType<AmbientManager>();
		_gameOverManager = GameObject.FindObjectOfType<GameOverManager>();
		//_gameOverManager.OnGameStart += Init;
		_shaker = Camera.main.GetComponent<ProCamera2DShake> ();

		if(_recipeManager == null)
			Debug.LogError("Recipe Manager is Missing!");

		Init ();
	}
    public static void DrawAmbients(AmbientManager targ, List<string> localSounds)
    {
        if (targ.ambGroups != null)
        {
            for (int i = 0; i < targ.ambGroups.Count; i++)
            {
                if (localSounds.Contains(targ.ambGroups[i].name))
                {
                    DrawAmbientSound(i, targ);
                }
                else
                {

                }
            }
        }
    }
	public override void OnInspectorGUI()
	{
		AmbientSource targ = (AmbientSource)target;

		#region How do we know about the manager?
		if (Application.isPlaying)
		{
			manager = AmbientManager.Instance;
		}
		else
		{
			manager = GameObject.Find("AmbientManager").GetComponent<AmbientManager>();
		}
		#endregion

		DrawLocalSounds(targ);

		#region If Manager's ambient audios is null
		if (manager.ambGroups != null)
		{
			if (manager.ambGroups.Count > 0)
			{
				EditorGUILayout.LabelField("Sound Families: " + manager.ambGroups.Count, EdStyles.GetTitleLabel()); 
				GUILayout.Space(4);
				AmbientManagerEditor.DrawAmbients(manager, targ.localSounds);
			}
			if(EdStyles.ToolbarButton("Ambient Sound Manager"))
			{
				Selection.activeGameObject = manager.gameObject;
			}
			GUILayout.Space(4);
		}
		else
		{
			Debug.Log("Ambient Audio is null\n");
			manager.ambGroups = new List<AmbientGroup>();
		}
		#endregion
	}
    public static void DrawAmbientSound(int i, AmbientManager targ)
    {
        EditorGUILayout.BeginVertical();

        if(EdStyles.FoldoutButton(targ.ambGroups[i].name))
        {
            targ.ambGroups[i].expanded = !targ.ambGroups[i].expanded;
        }

        if (targ.ambGroups[i].expanded)
        {
            targ.ambGroups[i].name = EditorGUILayout.TextField("Name", targ.ambGroups[i].name);
            targ.ambGroups[i].volume = EditorGUILayout.Slider("Volume", targ.ambGroups[i].volume, 0, 1);

            DrawClips(i, targ);

            DrawSliders(i, targ);
        }

        EditorGUILayout.EndVertical();

        EditorGUILayout.Space();
    }
Esempio n. 7
0
        IEnumerator LoadGame()
        {
            Time.timeScale = 0;
            yield return(null);

            _loadingScreen = FindObjectOfType <LoadingScreen>();
            _loadingScreen.IsVisible.Value = true;

            //Load Materials
            SetStatus("Loading Materials", 0.01f);
            yield return(null);

            MaterialRegistry.Instance.Preload();
            yield return(null);

            //Load Map
            SetStatus("Loading Map", 0.02f);
            yield return(null);

            var biomeConfig = ConfigImporter.GetAllConfigs <BiomeConfiguration>("World/Biomes").First();

            yield return(Map.Instance.CreateMap(biomeConfig, this));

            //Trees
            SetStatus("Loading Tree of Life", 0.8f);
            yield return(null);

            var treeManager = new TreeManager();

            //treeManager.BuildTreeOfLife();
            SetStatus("Loading Trees", 0.85f);
            yield return(null);

            yield return(treeManager.GenerateTrees((int)(Map.Instance.MapData.Chunks.GetLength(0) * Map.Instance.MapData.Chunks.GetLength(0) * 0.3f), Map.Instance.MapData, this));

            //Ressources
            SetStatus("Loading Ressources", 0.95f);
            yield return(null);

            var resourceManager = new ResourceManager();

            resourceManager.SpawnAllResources(Map.Instance.MapData, biomeConfig.OreConfiguration);
            yield return(null);

            //Characters
            SetStatus("Loading Characters", 0.96f);
            yield return(null);

            for (int i = 0; i < 5; i++)
            {
                UnitManager.SpawnUnitAtRandomPosition(Bunny);
            }

            //AmbientPlants
            SetStatus("Loading Ambient Plants", 0.97f);
            yield return(null);

            AmbientManager.SpawnAmbientPlants(biomeConfig);

            //AddT1Nodes
            SetStatus("Finish Pathfinder", 0.98f);
            yield return(null);

            Map.Instance.AStarNetwork.AddTier1Nodes(20);

            SetStatus("Done", 1f);
            //Start Time Again
            Time.timeScale = 1;
            yield return(null);

            GameLoaded = true;

            _loadingScreen.IsVisible.Value = false;
            SetCameraValues();
        }
 void Awake()
 {
     instance = this;
 }
    public static void DrawSliders(int i, AmbientManager targ)
    {
        if (GUILayout.Button("Show Nuts and Bolts", EdStyles.GetFoldout()))
        {
            targ.ambGroups[i].expandedSliders = !targ.ambGroups[i].expandedSliders;
        }

        if (targ.ambGroups[i].expandedSliders)
        {
            targ.ambGroups[i].minFreq = EditorGUILayout.Slider("Min Frequency", targ.ambGroups[i].minFreq, .5f, 30);

            targ.ambGroups[i].playChance = EditorGUILayout.Slider("Play Chance", targ.ambGroups[i].playChance, 0f, 1f);

            targ.ambGroups[i].sleepDuration = EditorGUILayout.Slider("Sleep Duration", targ.ambGroups[i].sleepDuration, -.2f, 30);

            targ.ambGroups[i].sleepCounter = EditorGUILayout.Slider("Sleep Counter", targ.ambGroups[i].sleepCounter, -.2f, 30);

            EditorGUILayout.BeginHorizontal();

            targ.ambGroups[i].sleeping = EditorGUILayout.Toggle("Currently Sleeping", targ.ambGroups[i].sleeping);

            if (GUILayout.Button("Delete"))
            {
                if (EditorUtility.DisplayDialog("Confirm Ambient Group Deletion", "Are you sure you want to delete audio group " + targ.ambGroups[i].name + "?", "Delete", "Cancel"))
                {
                    targ.ambGroups.RemoveAt(i);
                }
            }

            EditorGUILayout.EndHorizontal();
        }
        //GUILayout.EndVertical();

        GUILayout.Space(12);
    }
    public void DrawAmbientSources(AmbientManager targ)
    {
        GUILayout.Space(8);
        if (EdStyles.FoldoutButton("Source Objects"))
        {
            collapsedSources = !collapsedSources;
        }

        if (collapsedSources)
        {
            List<GameObject> sourceObject = GameObject.FindGameObjectsWithTag("AmbientSource").ToList();

            for (int i = 0; i < sourceObject.Count; i++)
            {
                if (EdStyles.ToolbarButton(sourceObject[i].name))
                {
                    Selection.activeGameObject = sourceObject[i];
                }
            }
        }

        GUILayout.Space(8);
    }
 public void DrawAmbients(AmbientManager targ)
 {
     if (targ.ambGroups != null)
     {
         for (int i = 0; i < targ.ambGroups.Count; i++)
         {
             DrawAmbientSound(i, targ);
         }
     }
 }