CapersProject/Assets/02.Scripts/Character/Npc/CustomerData.cs

52 lines
2.1 KiB
C#

using System;
using BlueWater.Interfaces;
using Sirenix.OdinInspector;
using UnityEngine;
using Random = UnityEngine.Random;
namespace BlueWater.Npcs.Customers
{
[Serializable]
public class CustomerData : IIdx
{
[BoxGroup("Json 데이터 영역")]
[field: SerializeField, Tooltip("고유 식별 ID"), BoxGroup("Json 데이터 영역")]
public int Idx { get; set; }
[field: SerializeField, Tooltip("이름"), BoxGroup("Json 데이터 영역")]
public string Name { get; set; }
[field: SerializeField, Tooltip("이동속도"), BoxGroup("Json 데이터 영역")]
public int MoveSpeed { get; set; }
[field: SerializeField, Tooltip("음식을 먹는 시간"), BoxGroup("Json 데이터 영역")]
public int EatingTime { get; set; }
[field: SerializeField, Tooltip("음식을 여유롭게 기다리는 시간"), BoxGroup("Json 데이터 영역")]
public int WaitTime { get; set; }
[field: SerializeField, Tooltip("음식을 재촉하는 시간"), BoxGroup("Json 데이터 영역")]
public int HurryTime { get; set; }
[field: SerializeField, Tooltip("기본 만족도"), BoxGroup("Json 데이터 영역")]
public int BaseHappyPoint { get; set; }
[field: SerializeField, Tooltip("선호하는 음식 우선순위1"), BoxGroup("Json 데이터 영역")]
public int PreferredFood1 { get; set; }
[field: SerializeField, Tooltip("선호하는 음식 우선순위2"), BoxGroup("Json 데이터 영역")]
public int PreferredFood2 { get; set; }
[field: SerializeField, Tooltip("선호하는 음식 우선순위3"), BoxGroup("Json 데이터 영역")]
public int PreferredFood3 { get; set; }
[field: SerializeField, Tooltip("음료를 주문할 확률"), BoxGroup("Json 데이터 영역")]
public int OrderBeverageRate { get; set; }
public bool IsOrderedBeverage()
{
var dropChance = Random.Range(0, 101);
return dropChance <= OrderBeverageRate;
}
}
}