FM/Assets/Scripts/Runtime/ShoppingCartManager.cs

98 lines
2.5 KiB
C#
Raw Normal View History

2025-06-17 09:31:12 +08:00
using System.Collections.Generic;
2025-07-10 23:16:27 +08:00
using HK;
2025-06-17 09:31:12 +08:00
2025-07-10 23:16:27 +08:00
namespace Runtime
2025-06-17 09:31:12 +08:00
{
public class ShoppingCart
{
2025-07-02 10:24:01 +08:00
public string userName = string.Empty;
public string userModie = string.Empty;
public string userEmail = string.Empty;
public List<ShoppingCartData> datas = new List<ShoppingCartData>();
public string totalQuantity = "0";
public string itemsSubTotal = "0";
public string discount = "0";
public string totalAmount = "0";
2025-06-17 09:31:12 +08:00
2025-07-02 10:24:01 +08:00
public void AddData(ShoppingCartData data)
{
datas.Add(data);
UpdateDatas();
}
2025-06-17 09:31:12 +08:00
2025-07-10 23:16:27 +08:00
public void RemoveData(ShoppingCartData data)
{
datas.Remove(data);
UpdateDatas();
}
public void Reset()
{
datas.Clear();
UpdateDatas();
}
2025-07-02 10:24:01 +08:00
public void UpdateDatas()
{
totalQuantity = datas.Count.ToString();
itemsSubTotal = string.Empty;
discount = string.Empty;
totalAmount = string.Empty;
int i = 0, d = 0, t = 0;
foreach (var shoppingCartData in datas)
{
i += shoppingCartData.bookAmount * shoppingCartData.count;
d += shoppingCartData.bookDiscount * shoppingCartData.count;
t += shoppingCartData.bookAmount * shoppingCartData.count;
}
itemsSubTotal = i.ToString();
discount = d.ToString();
totalAmount = t.ToString();
}
2025-06-17 09:31:12 +08:00
}
2025-07-02 10:24:01 +08:00
public class ShoppingCartData
2025-06-17 09:31:12 +08:00
{
2025-07-10 23:16:27 +08:00
/// <summary>
/// name
/// </summary>
2025-07-02 10:24:01 +08:00
public string bookName;
2025-07-10 23:16:27 +08:00
/// <summary>
/// 价格
/// </summary>
2025-07-02 10:24:01 +08:00
public int bookAmount;
2025-07-10 23:16:27 +08:00
/// <summary>
/// 优惠
/// </summary>
2025-07-02 10:24:01 +08:00
public int bookDiscount;
2025-07-10 23:16:27 +08:00
/// <summary>
/// 数量
/// </summary>
2025-07-02 10:24:01 +08:00
public int count;
public byte[] previewImage;
public byte[] tifImage;
2025-06-17 09:31:12 +08:00
}
2025-07-10 23:16:27 +08:00
public class ShoppingCartManager : ManagerBase<ShoppingCartManager>
{
private ShoppingCart shoppingCart = new();
public ShoppingCart ShoppingCart => shoppingCart;
public void AddToCart(ShoppingCartData data)
{
shoppingCart.AddData(data);
}
public void RemoveFromCart(ShoppingCartData data)
{
shoppingCart.RemoveData(data);
}
public void ResetCart()
{
shoppingCart.Reset();
}
}
2025-06-17 09:31:12 +08:00
}