Files
UltimateFishing2020/Assets/Scripts/Assembly-CSharp/Gaia/ResourceProtoTexture.cs
2026-03-04 10:03:45 +08:00

118 lines
2.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Collections.Generic;
using UnityEngine;
namespace Gaia
{
[Serializable]
public class ResourceProtoTexture
{
[Tooltip("Resource name.")]
public string m_name;
[Tooltip("Resource texture.")]
public Texture2D m_texture;
[HideInInspector]
public string m_textureFileName;
[Tooltip("Resource normal.")]
public Texture2D m_normal;
[HideInInspector]
public string m_normalFileName;
[Tooltip("The width over which the image will stretch on the terrains surface.")]
public float m_sizeX = 10f;
[Tooltip("The height over which the image will stretch on the terrains surface.")]
public float m_sizeY = 10f;
[Tooltip("How far from the terrains anchor point the tiling will start.")]
public float m_offsetX;
[Tooltip("How far from the terrains anchor point the tiling will start.")]
public float m_offsetY;
[Tooltip("Controls the overall metalness of the surface.")]
[Range(0f, 1f)]
public float m_metalic;
[Tooltip("Controls the overall smoothness of the surface.")]
[Range(0f, 1f)]
public float m_smoothness;
[Tooltip("SPAWN CRITERIA - Spawn criteria are run against the terrain to assess its fitness in a range of 0..1 for use by this resource. If you add multiple criteria then the fittest one will be selected.")]
public SpawnCritera[] m_spawnCriteria = new SpawnCritera[0];
[Tooltip("SPAWN EXTENSIONS - Spawn extensions allow fitness, spawning and post spawning extensions to be made to the spawning system.")]
public SpawnRuleExtension[] m_spawnExtensions = new SpawnRuleExtension[0];
public void Initialise(Spawner spawner)
{
SpawnCritera[] spawnCriteria = m_spawnCriteria;
for (int i = 0; i < spawnCriteria.Length; i++)
{
spawnCriteria[i].Initialise(spawner);
}
}
public bool HasActiveCriteria()
{
for (int i = 0; i < m_spawnCriteria.Length; i++)
{
if (m_spawnCriteria[i].m_isActive)
{
return true;
}
}
return false;
}
public bool SetAssetAssociations()
{
return false;
}
public bool AssociateAssets()
{
return false;
}
public bool ChecksTextures()
{
for (int i = 0; i < m_spawnCriteria.Length; i++)
{
if (m_spawnCriteria[i].m_isActive && m_spawnCriteria[i].m_checkTexture)
{
return true;
}
}
return false;
}
public bool ChecksProximity()
{
for (int i = 0; i < m_spawnCriteria.Length; i++)
{
if (m_spawnCriteria[i].m_isActive && m_spawnCriteria[i].m_checkProximity)
{
return true;
}
}
return false;
}
public void AddTags(ref List<string> tagList)
{
for (int i = 0; i < m_spawnCriteria.Length; i++)
{
if (m_spawnCriteria[i].m_isActive && m_spawnCriteria[i].m_checkProximity && !tagList.Contains(m_spawnCriteria[i].m_proximityTag))
{
tagList.Add(m_spawnCriteria[i].m_proximityTag);
}
}
}
}
}