178 lines
4.5 KiB
C#
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
|
|
}
|
|
}
|