2025-05-18 01:04:31 +08:00

178 lines
4.5 KiB
C#

// ***********************************************************************
// Assembly : Game
// Author : Kimch
// Created : 2020-09-09
// Description :
// Last Modified By :
// Last Modified On :
// ***********************************************************************
// <copyright file= "ForgeProxy" company="KUNPO"></copyright>
// <summary></summary>
// ***********************************************************************
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace G
{
/// <summary>
/// 合成逻辑
/// </summary>
public class ForgeProxy : F.GameProxy
{
#region Field
readonly Dictionary<int, List<ItemEquipment>> _typeEquipments = new Dictionary<int, List<ItemEquipment>>();
#endregion
#region Method
public override void InitCompleted()
{
}
public override void LoadCompleted()
{
//var equipments = ItemProxy.Instance.GetStaticItems<ItemEquipment>();
//foreach (var equipment in equipments)
//{
// if (!_typeEquipments.TryGetValue(equipment.type, out List<ItemEquipment> tmpList))
// {
// tmpList = new List<ItemEquipment>();
// _typeEquipments.Add(equipment.type, tmpList);
// }
// tmpList.Add(equipment);
//}
}
public EntityItem ForgeEquipment(EntityItem mainEntity, EntityItem subEntity)
{
//var mainEntity = ItemProxy.Instance.GetEntityItem(mainId);
//if (mainEntity == null)
//{
// return null;
//}
////var subEntity = ItemProxy.Instance.GetEntityItem(subId);
//if (subEntity == null)
//{
// return null;
//}
//EntityItem result = null;
//var mainProp = ItemProxy.Instance.GetStaticItem<ItemProp>(mainEntity.itemId);
//var subProp = ItemProxy.Instance.GetStaticItem<ItemProp>(subEntity.itemId);
//ItemProxy.Instance.RemoveEntityItem(mainEntity);
//ItemProxy.Instance.RemoveEntityItem(subEntity);
//if (mainProp.id == subProp.id)
//{
// //创建同样的
// result = BagProxy.Instance.NewEquipment(mainProp.id);
//}
//else if (mainProp.isWeapon || subProp.isWeapon)
//{
// if (mainProp.isWeapon && subProp.isWeapon)
// {
// var mainW = (EntityItemEquipment)mainEntity;
// var subW = (EntityItemEquipment)subEntity;
// if (mainW.level >= subW.level && mainW.quality >= subW.quality)
// {
// int quality = mainW.quality;
// int diff = (int)Item.ItemQuality.Max - quality;
// if (diff > Random.Range(0, (int)Item.ItemQuality.Max))
// {
// quality += 1;
// //品质提升事件
// }
// }
// if (mainW.item.type == subW.item.type)
// {
// var wis = ItemProxy.Instance.GetStaticItems<ItemEquipment>();
// var rw = wis[Random.Range(0, wis.Count)];
// result = BagProxy.Instance.NewEquipment(rw.id);
// //同类武器
// }
// else
// {
// var wis = ItemProxy.Instance.GetStaticItems<ItemEquipment>();
// var rw = wis[Random.Range(0, wis.Count)];
// result = BagProxy.Instance.NewEquipment(rw.id);
// //随机武器
// }
// }
// else
// {
// if (Random.value < 0.5)
// {
// var wis = ItemProxy.Instance.GetStaticItems<ItemEquipment>();
// var rw = wis[Random.Range(0, wis.Count)];
// result = BagProxy.Instance.NewEquipment(rw.id);
// }
// else
// {
// var eis = ItemProxy.Instance.GetStaticItems<ItemEquipment>();
// var rw = eis[Random.Range(0, eis.Count)];
// result = BagProxy.Instance.NewEquipment(rw.id);
// }
// result = BagProxy.Instance.NewEquipment(mainProp.id);
// //全装备随机
// }
//}
//else
//{
// if (mainProp.isEquipment && subProp.isEquipment)
// {
// var mainE = (EntityItemEquipment)mainEntity;
// var subE = (EntityItemEquipment)subEntity;
// if (mainE.level >= subE.level && mainE.quality >= subE.quality)
// {
// //品质提升事件
// }
// if (mainE.item.type == subE.item.type)
// {
// result = BagProxy.Instance.NewEquipment(mainProp.id);
// //同类装备
// }
// else
// {
// result = BagProxy.Instance.NewEquipment(mainProp.id);
// //随机装备
// }
// }
//}
//return result;
return null;
}
#endregion
#region Unity
private static ForgeProxy _Instance;
public static ForgeProxy Instance
{
get { return _Instance; }
}
// Use this for initialization
private void Awake()
{
_Instance = this;
}
// Update is called once per frame
private void Update()
{
}
#endregion
}
}