using System.Collections.Generic; using UnityEngine; public interface IDuelPlayerModel { int RoleID { get; set; } string PlayerID { get; set; } string PlayerName { get; set; } string PlayerAvatar { get; set; } List CarLevels { get; set; } int RankScore { get; set; } int Mag { get; set; } //倍率 int RodId { get; set; } //鱼竿ID int RodLevel { get; set; } //鱼竿等级 int RodStar { get; set; } //鱼竿星级 int CurrentPTS { get; set; } int CurrentFailNum { get; set; } List DuelFishingDatas { get; set; } //对战数据 void Init(string playerID, string playerName, string playerAvatar, int randScore, int mag, int maxFail); void Start(); void SetRodData(DuelRodData rodData); //抛竿 void CastRod(int fishID); //起杆 //void StartFishing(); //结算 bool StopFishing(FishInfoData fishInfoData); List GetShowDatas(); } public struct DuelRodData { public int rodId; //鱼竿ID public int rodLevel; //鱼竿等级 public int rodStar; //鱼竿星级 } public struct FishInfoData { public int point; //分数 public float fishCardAdd; //鱼卡加成 public float fishRodAdd; //鱼竿加成 public bool higher; //是否高分 public bool higherCard; //是否高分 public bool higherRod; //是否高分 } public class DuelFishingData { //静默时间,从结算到起杆时间 public float st { get; set; } //抛竿到起杆时间 //public int castingTime { get; set; } //抛竿时间到钓鱼时间 public float ft { get; set; } //是否成功 public bool w { get; set; } //鱼的ItemID public int id { get; set; } //得分 public int p { get; set; } public int fn { get; set; } //失败次数 //鱼卡加成 public float ca { get; set; } //鱼卡加成 public float ra { get; set; } //鱼杆加成 public override string ToString() { return $"{st:F2}|{ft:F2}|{w}|{id}|{p}|{fn}|{ca}|{ra}"; } public DuelFishingData() { } public DuelFishingData(string value) { var arr = value.Split('|'); if (arr.Length != 8) { Debug.LogError("DuelFishingData string format error: " + value); return; } st = int.Parse(arr[0]); ft = int.Parse(arr[1]); w = bool.Parse(arr[2]); id = int.Parse(arr[3]); p = int.Parse(arr[4]); fn = int.Parse(arr[5]); ca = float.Parse(arr[6]); ra = float.Parse(arr[7]); } }