public static GameObject Instantiate(ENTITY e) { GameObject instantiated = new GameObject(e.Classname); TriggerLink script = instantiated.AddComponent <TriggerLink>(); script.ForceFadeColor = e.GetSpawnflagValue(0, 4); script.LinkToSpecificLevel = e.GetSpawnflagValue(1, 4); script.ForceSpawnPoint = e.GetSpawnflagValue(2, 4); script.PlayLinkSound = e.GetSpawnflagValue(3, 4); if (script.LinkToSpecificLevel) { script.LinkedLevel = IOUtil.PathCombine("levels", e.GetPropertyValue("Linked level")); } if (script.ForceFadeColor) { script.ForcedLinkColor = EntityUtil.TryParseColor("Forced link color", e); } if (script.ForceSpawnPoint) { script.SpawnPointName = e.GetPropertyValue("Spawn point name"); } EntityUtil.SetInstantiatedObjectTransform(e, ref instantiated); instantiated.AddComponent <BoxCollider>().isTrigger = true; return(instantiated); }
public static GameObject Instantiate(ENTITY e) { GameObject instantiated = new GameObject(e.Classname); PlayerSpawn script = instantiated.AddComponent <PlayerSpawn>(); script.Name = e.GetPropertyValue("Name"); if (script.Name.Equals(string.Empty)) { Debug.LogWarning("Found player_spawn without name! Please set name in Torii."); } script.ExcludeFromRandomSpawns = e.GetSpawnflagValue(0, 2); script.ForceSpawnOnDayOne = e.GetSpawnflagValue(1, 2); EntityUtil.SetInstantiatedObjectTransform(e, ref instantiated); DreamDirector.PlayerSpawns.Add(script); if (script.ForceSpawnOnDayOne) // player spawn should be forced if it's day 1 { DreamDirector.PlayerSpawnForced = true; DreamDirector.ForcedSpawnIndex = DreamDirector.PlayerSpawns.Count - 1; } return(instantiated); }
public static GameObject Instantiate(ENTITY e) { GameObject instantiated = new GameObject(e.Classname); TriggerTeleport script = instantiated.AddComponent <TriggerTeleport>(); script.TargetName = e.GetPropertyValue("Target name"); if (script.TargetName.Equals(string.Empty)) { Debug.LogWarning("Trigger_teleport has no target, please fix in Torii!"); } script.FadeOnTeleport = e.GetSpawnflagValue(0, 1); if (script.FadeOnTeleport) { script.FadeColor = EntityUtil.TryParseColor("Fade color", e); script.FadeInTime = EntityUtil.TryParseFloat("Fade in time", e); script.FadeOutTime = EntityUtil.TryParseFloat("Fade out time", e); } EntityUtil.SetInstantiatedObjectTransform(e, ref instantiated); instantiated.AddComponent <BoxCollider>().isTrigger = true; return(instantiated); }
public static GameObject Instantiate(ENTITY e) { GameObject instantiated = new GameObject(e.Classname); AudioSourceObject script = instantiated.AddComponent <AudioSourceObject>(); script.Source = instantiated.AddComponent <AudioSource>(); script.AudioClip = e.GetPropertyValue("Audio clip"); script.MinDistance = EntityUtil.TryParseFloat("Min distance", e); script.LoopAudio = e.GetSpawnflagValue(0, 1); if (script.LoopAudio) { script.LoopDelay = EntityUtil.TryParseFloat("Loop delay", e); } script.Source.loop = script.LoopAudio; script.Source.minDistance = script.MinDistance; script.Source.spatialBlend = 1; // 3D audio script.Source.outputAudioMixerGroup = _masterMixer.FindMatchingGroups("SFX")[0]; EntityUtil.SetInstantiatedObjectTransform(e, ref instantiated); script.StartCoroutine(IOUtil.LoadOGGIntoSource(IOUtil.PathCombine("sfx", script.AudioClip), script.Source)); return(instantiated); }
public static GameObject Instantiate(ENTITY e) { GameObject instantiated = new GameObject(e.Classname); DreamEnvironment dreamEnvironment = instantiated.AddComponent <DreamEnvironment>(); dreamEnvironment.Staticity = EntityUtil.TryParseInt("Staticity", e); dreamEnvironment.Happiness = EntityUtil.TryParseInt("Happiness", e); dreamEnvironment.SpawnGreyman = e.GetSpawnflagValue(0, 10); dreamEnvironment.ForceSkyColor = e.GetSpawnflagValue(1, 10); dreamEnvironment.ForceFogColor = e.GetSpawnflagValue(2, 10); dreamEnvironment.MusicEnabled = e.GetSpawnflagValue(3, 10); dreamEnvironment.UseSun = e.GetSpawnflagValue(4, 10); dreamEnvironment.UseClouds = e.GetSpawnflagValue(5, 10); dreamEnvironment.UseSunburst = e.GetSpawnflagValue(6, 10); dreamEnvironment.ForceCloudColor = e.GetSpawnflagValue(7, 10); dreamEnvironment.UseGradient = e.GetSpawnflagValue(8, 10); dreamEnvironment.ForceSunColor = e.GetSpawnflagValue(9, 10); if (dreamEnvironment.ForceSkyColor) { dreamEnvironment.SkyColor = EntityUtil.TryParseColor("Sky color", e); } if (dreamEnvironment.ForceFogColor) { dreamEnvironment.FogColor = EntityUtil.TryParseColor("Fog color", e); } if (dreamEnvironment.ForceCloudColor) { dreamEnvironment.CloudColor = EntityUtil.TryParseColor("Cloud color", e); } if (dreamEnvironment.ForceSunColor) { dreamEnvironment.SunColor = EntityUtil.TryParseColor("Sun color", e); } EntityUtil.SetInstantiatedObjectTransform(e, ref instantiated); GameObject.FindGameObjectWithTag("EnvironmentController") .GetComponent <EnvironmentController>() .EnvironmentEntity = dreamEnvironment; DreamDirector.CanSpawnGreyman = dreamEnvironment.SpawnGreyman; return(instantiated); }
public static GameObject Instantiate(ENTITY e) { GameObject instantiated = new GameObject(e.Classname); MapObject script = instantiated.AddComponent <MapObject>(); script.MapSrc = e.GetPropertyValue("Map src"); script.LinkedLevel = e.GetPropertyValue("Linked level"); script.ForceFadeColor = e.GetSpawnflagValue(0, 4); script.LinkToSpecificLevel = e.GetSpawnflagValue(1, 4); script.DisableLinking = e.GetSpawnflagValue(2, 4); script.IsSolid = e.GetSpawnflagValue(3, 4); if (script.ForceFadeColor) { script.FadeColor = EntityUtil.TryParseColor("Fade color", e); } GameObject meshObject = IOUtil.LoadMap(script.MapSrc, ResourceLifespan.LEVEL); meshObject.transform.SetParent(instantiated.transform); if (!script.DisableLinking) { MeshCollider[] colliders = instantiated.GetComponentsInChildren <MeshCollider>(); foreach (MeshCollider c in colliders) { c.gameObject.tag = "Linkable"; } } EntityUtil.SetInstantiatedObjectTransform(e, ref instantiated); return(instantiated); }
public static GameObject Instantiate(ENTITY e) { GameObject instantiated = new GameObject(e.Classname); ActionSequence actionSequence = instantiated.AddComponent <ActionSequence>(); actionSequence.SequenceName = e.GetPropertyValue("Sequence name"); if (actionSequence.SequenceName.Equals(string.Empty)) { Debug.Log("Found action_sequence without name! Please set name in Torii."); } actionSequence.NextSequence = e.GetPropertyValue("Next sequence"); actionSequence.TimesToLoop = EntityUtil.TryParseInt("Times to loop", e); actionSequence.BeginOnLevelLoad = e.GetSpawnflagValue(0, 3); actionSequence.LoopSequence = e.GetSpawnflagValue(1, 3); actionSequence.HasNextSequence = e.GetSpawnflagValue(2, 3); Sequences.Add(actionSequence); EntityUtil.SetInstantiatedObjectTransform(e, ref instantiated); return(instantiated); }
public static GameObject Instantiate(ENTITY e) { GameObject instantiated = new GameObject(e.Classname); ModelObject script = instantiated.AddComponent <ModelObject>(); script.ModelSrc = e.GetPropertyValue("Model src"); script.LinkedLevel = e.GetPropertyValue("Linked level"); script.AudioClip = e.GetPropertyValue("Audio clip"); script.MinDistance = EntityUtil.TryParseFloat("Min distance", e); script.SequenceName = e.GetPropertyValue("Sequence name"); script.ForceFadeColor = e.GetSpawnflagValue(0, 6); script.LinkToSpecificLevel = e.GetSpawnflagValue(1, 6); script.DisableLinking = e.GetSpawnflagValue(2, 6); script.IsSolid = e.GetSpawnflagValue(3, 6); script.PlayAudio = e.GetSpawnflagValue(4, 6); script.HasActionSequence = e.GetSpawnflagValue(5, 6); GameObject meshObject = IOUtil.LoadObject(script.ModelSrc, script.IsSolid, ResourceLifespan.LEVEL); meshObject.transform.SetParent(instantiated.transform); script.Source = instantiated.AddComponent <AudioSource>(); script.Source.playOnAwake = false; script.Source.loop = false; script.Source.spatialBlend = 1; // 3D audio script.Source.minDistance = script.MinDistance; if (!script.DisableLinking) { MeshCollider[] colliders = instantiated.GetComponentsInChildren <MeshCollider>(); foreach (MeshCollider c in colliders) { c.gameObject.tag = "Linkable"; } } if (script.ForceFadeColor) { script.FadeColor = EntityUtil.TryParseColor("Fade color", e); } if (script.PlayAudio) { script.StartCoroutine(IOUtil.LoadOGGIntoSource(IOUtil.PathCombine("sfx", script.AudioClip), script.Source)); script.LoopDelay = EntityUtil.TryParseFloat("Loop delay", e); } if (script.HasActionSequence) { DreamDirector.PostLoadEvent += script.PostLoad; } EntityUtil.SetInstantiatedObjectTransform(e, ref instantiated); return(instantiated); }
public static GameObject Instantiate(ENTITY e) { GameObject instantiated = new GameObject(e.Classname); MoveAction actionScript = instantiated.AddComponent <MoveAction>(); actionScript.Name = e.GetPropertyValue("Sequence name"); actionScript.SequencePosition = EntityUtil.TryParseInt("Sequence position", e); actionScript.TargetName = e.GetPropertyValue("Target name"); actionScript.MoveSpeed = EntityUtil.TryParseFloat("Move speed", e); actionScript.FaceMovementDir = e.GetSpawnflagValue(0, 1); DreamDirector.PostLoadEvent += actionScript.PostLoad; EntityUtil.SetInstantiatedObjectTransform(e, ref instantiated); return(instantiated); }
public static GameObject Instantiate(ENTITY e) { GameObject instantiated = new GameObject(e.Classname); TriggerSound script = instantiated.AddComponent <TriggerSound>(); script.SoundSrc = e.GetPropertyValue("Sound src"); script.OnceOnly = e.GetSpawnflagValue(0, 1); script.Source = instantiated.AddComponent <AudioSource>(); script.Source.loop = false; script.Source.spatialBlend = 0; // 2D audio script.Source.playOnAwake = false; script.Source.outputAudioMixerGroup = _masterMixer.FindMatchingGroups("SFX")[0]; script.StartCoroutine(IOUtil.LoadOGGIntoSource(IOUtil.PathCombine("sfx", script.SoundSrc), script.Source)); EntityUtil.SetInstantiatedObjectTransform(e, ref instantiated); instantiated.AddComponent <BoxCollider>().isTrigger = true; return(instantiated); }
public static GameObject Instantiate(ENTITY e) { GameObject instantiated = new GameObject(e.Classname); MusicController script = instantiated.AddComponent <MusicController>(); script.Source = instantiated.AddComponent <AudioSource>(); script.Source.loop = true; script.Source.spatialBlend = 0; // 2d audio script.Source.outputAudioMixerGroup = _masterMixer.FindMatchingGroups("Music")[0]; script.MusicDirectory = IOUtil.PathCombine("music", e.GetPropertyValue("Music directory")); script.UseSubDirectories = e.GetSpawnflagValue(0, 1); string selectedDir = IOUtil.PathCombine(Application.streamingAssetsPath, script.MusicDirectory); if (script.UseSubDirectories) { string[] dirsToChooseFrom = Directory.GetDirectories(IOUtil.PathCombine(Application.streamingAssetsPath, script.MusicDirectory)); selectedDir = RandUtil.RandomArrayElement(dirsToChooseFrom); Debug.Log("Selected " + selectedDir); } string[] tracksToChooseFrom = Directory.GetFiles(selectedDir, "*.ogg"); string selectedTrack = RandUtil.RandomArrayElement(tracksToChooseFrom); Debug.Log("Chose track: " + selectedTrack); DreamDirector.CurrentlyPlayingSong = Path.GetFileNameWithoutExtension(selectedTrack); script.StartCoroutine(IOUtil.LoadOGGIntoSource(selectedTrack, script.Source, true, true)); EntityUtil.SetInstantiatedObjectTransform(e, ref instantiated); return(instantiated); }