Files
UltimateFishing/Assets/Scripts/Assembly-UnityScript/predescription_class.cs
2026-02-21 16:45:37 +08:00

95 lines
2.2 KiB
C#

using System;
using System.Collections.Generic;
[Serializable]
public class predescription_class
{
public List<description_class> description;
public string[] description_enum;
public int description_position;
public int layer_index;
public int description_index;
public predescription_class()
{
description = new List<description_class>();
description.Add(new description_class());
set_description_enum();
}
public virtual void add_description(int description_number)
{
description.Insert(description_number, new description_class());
}
public virtual void erase_description(int description_number)
{
if (description.Count > 1)
{
description.RemoveAt(description_number);
set_description_enum();
if (description_position > description_enum.Length - 1)
{
description_position = description_enum.Length - 1;
}
}
}
public virtual void add_layer_index(int layer_number, int layer_index, int description_number)
{
move_layer_index(layer_number, 1);
description[description_number].layer_index.Insert(layer_index, layer_number);
}
public virtual void erase_layer_index(int layer_number, int layer_index, int description_number)
{
move_layer_index(layer_number, -1);
description[description_number].layer_index.RemoveAt(layer_index);
}
public virtual void move_layer_index(int layer_number, int direction)
{
for (int i = 0; i < description.Count; i++)
{
for (int j = 0; j < description[i].layer_index.Count; j++)
{
if (description[i].layer_index[j] >= layer_number)
{
description[i].layer_index[j] = description[i].layer_index[j] + direction;
}
}
}
}
public virtual void search_layer(int layer_number)
{
for (int i = 0; i < description.Count; i++)
{
for (int j = 0; j < description[i].layer_index.Count; j++)
{
if (description[i].layer_index[j] == layer_number)
{
description_index = i;
layer_index = j;
return;
}
}
}
description_index = -1;
layer_index = -1;
}
public virtual void set_description_enum()
{
description_enum = new string[description.Count];
for (int i = 0; i < description.Count; i++)
{
description_enum[i] = description[i].text;
}
}
}