表格相关逻辑修改和组件定义
This commit is contained in:
134
Assets/Scripts/Configs/Mem/FishConfig.cs
Normal file
134
Assets/Scripts/Configs/Mem/FishConfig.cs
Normal file
@@ -0,0 +1,134 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Unity.VisualScripting;
|
||||
using UnityEngine;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
[Serializable]
|
||||
public class AcceptFishBait
|
||||
{
|
||||
public string baitName;
|
||||
|
||||
public int baitId;
|
||||
|
||||
public float min;
|
||||
|
||||
public float max;
|
||||
}
|
||||
|
||||
[TableName("gameFish")]
|
||||
public partial class FishConfig : ConfigBase
|
||||
{
|
||||
public static FishConfig Get(FishSpecies fishSpecies)
|
||||
{
|
||||
return Get(t => t.speciesName == fishSpecies);
|
||||
}
|
||||
|
||||
public enum Type
|
||||
{
|
||||
WhiteFish = 0,
|
||||
Predator = 1
|
||||
}
|
||||
|
||||
public FishSpecies speciesName;
|
||||
|
||||
public bool isEnabled = true;
|
||||
|
||||
public Type type = Type.Predator;
|
||||
|
||||
public float maxWeight = 10f;
|
||||
|
||||
public float speciesCoins = 4f;
|
||||
|
||||
public int rankingPoint = 1;
|
||||
|
||||
public string[] modelPath;
|
||||
|
||||
public string[] imagePath;
|
||||
|
||||
public string[] modelTrophyPath;
|
||||
|
||||
public Vector2[] weightLenghtValues;
|
||||
|
||||
public AnimationCurve weightLengthCurve;
|
||||
|
||||
public List<AcceptFishBait> acceptFishBaits;
|
||||
|
||||
public List<AcceptFishBait> acceptFishLures;
|
||||
|
||||
public Sprite GetIconImage(int index)
|
||||
{
|
||||
return Resources.Load<Sprite>("Icons/Fish/" + imagePath[index]);
|
||||
}
|
||||
|
||||
public float ConvertWeightFishToLength(float weight)
|
||||
{
|
||||
// return FishWeightToLength.Instance.ConvertWeightFishToLength(speciesName, weight);
|
||||
return 1;
|
||||
}
|
||||
|
||||
public void SetupCurvesWeight()
|
||||
{
|
||||
weightLengthCurve.keys = null;
|
||||
for (int i = 0; i < weightLenghtValues.Length; i++)
|
||||
{
|
||||
weightLengthCurve.AddKey(weightLenghtValues[i].x, weightLenghtValues[i].y);
|
||||
}
|
||||
}
|
||||
|
||||
public Vector3 GetFishScale(float weight)
|
||||
{
|
||||
// if (!FishWeightToLength.Instance)
|
||||
// {
|
||||
// return Vector3.one;
|
||||
// }
|
||||
//
|
||||
// var p = FishWeightToLength.Instance.ConvertWeightFishToLength(speciesName, weight);
|
||||
// float num = FishWeightToLength.Instance.ConvertWeightFishToLength(speciesName, weight) * 0.0185f;
|
||||
// return Vector3.one * num;
|
||||
return Vector3.one;
|
||||
}
|
||||
|
||||
public GameObject GetModelPrefab(string _modelPath)
|
||||
{
|
||||
return Resources.Load("GameItemsPrefabs/Fish/" + _modelPath) as GameObject;
|
||||
}
|
||||
|
||||
public GameObject GetTrophyModelPrefab(float weight)
|
||||
{
|
||||
if (weight > maxWeight)
|
||||
{
|
||||
weight = maxWeight;
|
||||
}
|
||||
|
||||
float num = maxWeight / (float)modelTrophyPath.Length;
|
||||
int num2 = (int)(weight / num);
|
||||
if (num2 >= modelTrophyPath.Length)
|
||||
{
|
||||
num2 = modelTrophyPath.Length - 1;
|
||||
}
|
||||
|
||||
return Resources.Load("GameItemsPrefabs/Fish Trophies/" + modelTrophyPath[num2]) as GameObject;
|
||||
}
|
||||
|
||||
public GameObject GetFishModel(float weight)
|
||||
{
|
||||
if (weight > maxWeight)
|
||||
{
|
||||
weight = maxWeight;
|
||||
}
|
||||
|
||||
float num = maxWeight / (float)modelPath.Length;
|
||||
int num2 = (int)(weight / num);
|
||||
if (num2 >= modelPath.Length)
|
||||
{
|
||||
num2 = modelPath.Length - 1;
|
||||
}
|
||||
|
||||
return GetModelPrefab(modelPath[num2]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user