Upload from upload_mods.ps1

This commit is contained in:
Nathaniel Cosford
2025-06-04 16:13:32 +09:30
commit 7345f42201
470 changed files with 51966 additions and 0 deletions

View File

@@ -0,0 +1,61 @@
using UnityEngine;
public class FPSShaderColorGradient : MonoBehaviour
{
public string ShaderProperty = "_TintColor";
public int MaterialID = 0;
public Gradient Color = new Gradient();
public float TimeMultiplier = 1;
private bool canUpdate;
private Material matInstance;
private int propertyID;
private float startTime;
private Color oldColor;
// Use this for initialization
private void Start()
{
var rend = GetComponent<Renderer>();
if (rend != null)
{
var mats = rend.materials;
if (MaterialID >= mats.Length)
Debug.Log("ShaderColorGradient: Material ID more than shader materials count.");
matInstance = mats[MaterialID];
}
else
{
var proj = GetComponent<Projector>();
var projMat = proj.material;
if (!projMat.name.EndsWith("(Instance)"))
matInstance = new Material(projMat) { name = projMat.name + " (Instance)" };
else
matInstance = projMat;
proj.material = matInstance;
}
if (!matInstance.HasProperty(ShaderProperty))
Debug.Log("ShaderColorGradient: Shader not have \"" + ShaderProperty + "\" property");
propertyID = Shader.PropertyToID(ShaderProperty);
oldColor = matInstance.GetColor(propertyID);
}
private void OnEnable()
{
startTime = Time.time;
canUpdate = true;
}
private void Update()
{
var time = Time.time - startTime;
if (canUpdate)
{
var eval = Color.Evaluate(time / TimeMultiplier);
matInstance.SetColor(propertyID, eval * oldColor);
}
if (time >= TimeMultiplier)
canUpdate = false;
}
}