using System.Collections.Generic;
using Unity.Mathematics;
using UnityEngine;
using Random = UnityEngine.Random;
namespace NBF
{
///
/// 钓鱼数据源基类
///
public class FishingDatasource
{
public readonly Dictionary Players = new Dictionary();
public void Init()
{
for (int i = 0; i < 1; i++)
{
var p = GetTestPlayer(i);
AddPlayer(p);
}
}
public void Update()
{
}
public void AddPlayer(FPlayerData player)
{
Players[player.PlayerID] = player;
}
public FPlayerData GetPlayer(int playerID)
{
return Players.GetValueOrDefault(playerID);
}
public FPlayerData GetSelfPlayer()
{
return GetPlayer(GameModel.RoleID);
}
#region 测试数据
public void SetSelfTestGear(int slot)
{
var player = GetSelfPlayer();
if (player != null)
{
player.currentGear = new FPlayerGearData();
var gear = player.currentGear;
if (slot == 1)
{
player.lineLength = 3.6f;
gear.Type = GearType.Pole;
gear.rod = new FRodData()
{
id = Random.Range(1, 100000),
configId = 100001,
};
gear.line = new FLineData()
{
id = Random.Range(1, 100000),
configId = 400001
};
gear.bobber = new FBobberData()
{
id = Random.Range(1, 100000),
configId = 300001
};
gear.hook = new FHookData()
{
id = Random.Range(1, 100000),
configId = 700001
};
gear.bait = new FBaitData()
{
id = Random.Range(1, 100000),
configId = 500002
};
gear.weight = new FWeightData()
{
id = Random.Range(1, 100000),
configId = 800001
};
gear.reel = null;
}
else if (slot == 2)
{
player.lineLength = 0.4f;
gear.Type = GearType.SpinningFloat;
gear.rod = new FRodData()
{
id = Random.Range(1, 100000),
configId = 100002
};
gear.reel = new FReelData()
{
id = Random.Range(1, 100000),
configId = 200001
};
gear.line = new FLineData()
{
id = Random.Range(1, 100000),
configId = 400001
};
gear.bait = new FBaitData()
{
id = Random.Range(1, 100000),
configId = 500002
};
gear.bobber = new FBobberData()
{
id = Random.Range(1, 100000),
configId = 300001
};
gear.hook = new FHookData()
{
id = Random.Range(1, 100000),
configId = 700001
};
gear.weight = new FWeightData()
{
id = Random.Range(1, 100000),
configId = 800001
};
}
else if (slot == 3)
{
player.lineLength = 0.4f;
gear.Type = GearType.Spinning;
gear.bobber = null;
gear.rod = new FRodData()
{
id = Random.Range(1, 100000),
configId = 100003,
};
gear.reel = new FReelData()
{
id = Random.Range(1, 100000),
configId = 200001
};
gear.line = new FLineData()
{
id = Random.Range(1, 100000),
configId = 400001
};
gear.leader = new FLeaderData()
{
id = Random.Range(1, 100000),
configId = 0
};
gear.lure = new FLureData()
{
id = Random.Range(1, 100000),
configId = 600001
};
}
}
}
private FPlayerData GetTestPlayer(int index)
{
FPlayerData player = new FPlayerData
{
PlayerID = 100 + index
};
var add = 0;//Random.Range(0, 5f) + index * 0.5f;
player.position = new Vector3(325.04f + add, 11, 606.28f);
player.rotation = quaternion.identity;
if (index == 0)
{
player.currentGear = new FPlayerGearData();
}
else if (index == 1)
{
}
else if (index == 2)
{
player.currentGear = new FPlayerGearData();
}
else
{
}
return player;
}
#endregion
}
}