60 lines
1.5 KiB
C#
60 lines
1.5 KiB
C#
using UnityEngine;
|
|
|
|
public class HorizonChangerDemo : MonoBehaviour
|
|
{
|
|
public Texture[] textures;
|
|
|
|
private int currentTextureIndex;
|
|
|
|
private MeshRenderer meshRenderer;
|
|
|
|
private void Start()
|
|
{
|
|
meshRenderer = GetComponent<MeshRenderer>();
|
|
meshRenderer.material.mainTexture = textures[currentTextureIndex];
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (Input.GetKeyDown(KeyCode.RightArrow))
|
|
{
|
|
currentTextureIndex++;
|
|
if (currentTextureIndex >= textures.Length)
|
|
{
|
|
currentTextureIndex = textures.Length - 1;
|
|
}
|
|
meshRenderer.material.mainTexture = textures[currentTextureIndex];
|
|
}
|
|
else if (Input.GetKeyDown(KeyCode.LeftArrow))
|
|
{
|
|
currentTextureIndex--;
|
|
if (currentTextureIndex < 0)
|
|
{
|
|
currentTextureIndex = 0;
|
|
}
|
|
meshRenderer.material.mainTexture = textures[currentTextureIndex];
|
|
}
|
|
else if (Input.GetKeyDown(KeyCode.DownArrow))
|
|
{
|
|
Vector2 vector = meshRenderer.material.GetVector("_TilingCustom");
|
|
vector.x += 1f;
|
|
meshRenderer.material.SetVector("_TilingCustom", vector);
|
|
Vector3 localScale = base.transform.localScale;
|
|
localScale.y = 1f / vector.x;
|
|
base.transform.localScale = localScale;
|
|
}
|
|
else if (Input.GetKeyDown(KeyCode.UpArrow))
|
|
{
|
|
Vector2 vector2 = meshRenderer.material.GetVector("_TilingCustom");
|
|
if (vector2.x > 1f)
|
|
{
|
|
vector2.x -= 1f;
|
|
meshRenderer.material.SetVector("_TilingCustom", vector2);
|
|
Vector3 localScale2 = base.transform.localScale;
|
|
localScale2.y = 1f / vector2.x;
|
|
base.transform.localScale = localScale2;
|
|
}
|
|
}
|
|
}
|
|
}
|