Skip to content

Instantly share code, notes, and snippets.

View taibenvenuti's full-sized avatar

Tai Benvenuti taibenvenuti

View GitHub Profile
@taibenvenuti
taibenvenuti / ReleaseNonForestTrees.cs
Created April 5, 2018 15:30
Delete trees that are not in a forest resource area (To use with Ronyx69's resource from texture scripts)
var trees = TreeManager.instance.m_trees.m_buffer;
for (uint i = 0; i < trees.Length; i++)
{
var data = trees[i];
if (data.m_flags == (ushort)TreeInstance.Flags.None || data.Info == null) continue;
byte density;
NaturalResourceManager.instance.CheckForest(data.Position, out density);
double randomValue = Math.Round(UnityEngine.Random.value * 100, 0, MidpointRounding.AwayFromZero);
if (randomValue <= density || density == 0)
{
[Serializable]
public class SerializableColor
{
public float r;
public float g;
public float b;
public float a;
@taibenvenuti
taibenvenuti / EditPrefabInfo.cs
Last active April 30, 2017 22:38
Edit Prefab Info
var info = ToolsModifierControl.toolController.m_editPrefabInfo as BuildingInfo;
info.m_mesh.name = "MrMaison_CloudMod";
@taibenvenuti
taibenvenuti / GenerateAudioClipList.cs
Created March 23, 2017 13:42
Generate Audio Clip List
var audioClipList = new List<string>();
var audioClips = Resources.FindObjectsOfTypeAll<AudioClip>();
for (uint i = 0; i < audioClips.Length; i++)
{
var audioClip = audioClips[i];
if (audioClip == null) continue;
Debug.Log(audioClip);
audioClipList.Add(audioClip.ToString());
}
audioClipList.Sort();
@taibenvenuti
taibenvenuti / ListDecals.cs
Created March 21, 2017 17:07
Generate Decals List
var propsList = new List<string>();
var props = Resources.FindObjectsOfTypeAll<PropInfo>();
for (uint i = 0; i < props.Length; i++)
{
var prop = props[i];
if (prop == null || !prop.m_isDecal) continue;
prop.
Debug.Log(prop);
propsList.Add(prop.ToString() + ". Category: " + prop.category + ". Class: " + prop.m_class + ". Name: " + prop.name);
}
@taibenvenuti
taibenvenuti / GenerateRendererList.cs
Created March 21, 2017 16:37
Generate Renderer List
var renderersList = new List<string>();
var renderers = Resources.FindObjectsOfTypeAll<Renderer>();
for (uint i = 0; i < renderers.Length; i++)
{
var renderer = renderers[i];
if (renderer == null) continue;
Debug.Log(renderer.ToString());
renderersList.Add(renderer.ToString() + ". Material: " + renderer.material.ToString() + ". Materials: " + renderer.materials.ToString() + ". Name: " + renderer.name.ToString());
}
renderersList.Sort();
var propsList = new List<string>();
var props = Resources.FindObjectsOfTypeAll<PropInfo>();
for (uint i = 0; i < props.Length; i++)
{
var prop = props[i];
if (prop == null) continue;
Debug.Log(prop);
propsList.Add(prop.ToString() + ". Category: " + prop.category + ". Class: " + prop.m_class + ". Name: " + prop.name);
}
propsList.Sort();
using ColossalFramework.IO;
using ColossalFramework.Plugins;
using ColossalFramework.UI;
using ICities;
using System;
using System.IO;
using System.Reflection;
using System.Xml.Serialization;
using UnityEngine;
public static void LoadAllShaders()
{
var path1 = Path.Combine(DataLocation.localApplicationData, "sunshaftsshader");
var path2 = Path.Combine(DataLocation.localApplicationData, "simpleclearshader");
var loadBundleRequest = WWW.LoadFromCacheOrDownload(Path.Combine("file://", path1), 0);
var loadedBundle = loadBundleRequest?.assetBundle;
var loadAssetsRequest = loadedBundle.LoadAsset("SunShaftsComposite.shader", typeof(GameObject));
SimpleClearShader.shader = loadAssetsRequest as Shader;
Instantiate(SimpleClearShader.shader);
loadedBundle.Unload(false);
@taibenvenuti
taibenvenuti / GenerateShaderList.cs
Last active March 8, 2017 14:09
Generate Shader List
var shaderList = new List<string>();
var shaders = Resources.FindObjectsOfTypeAll<Shader>();
for (uint i = 0; i < shaders.Length; i++)
{
var shader = shaders[i];
if (shader == null) continue;
Debug.Log(shader);
shaderList.Add(shader.ToString());
}
shaderList.Sort();