// *********************************************************************** // Assembly : Game // Author : Kimch // Created : 2020-09-09 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** using System.Collections; using System.Collections.Generic; using UnityEngine; namespace G { /// /// 合成逻辑 /// public class ForgeProxy : F.GameProxy { #region Field readonly Dictionary> _typeEquipments = new Dictionary>(); #endregion #region Method public override void InitCompleted() { } public override void LoadCompleted() { //var equipments = ItemProxy.Instance.GetStaticItems(); //foreach (var equipment in equipments) //{ // if (!_typeEquipments.TryGetValue(equipment.type, out List tmpList)) // { // tmpList = new List(); // _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(mainEntity.itemId); //var subProp = ItemProxy.Instance.GetStaticItem(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(); // var rw = wis[Random.Range(0, wis.Count)]; // result = BagProxy.Instance.NewEquipment(rw.id); // //同类武器 // } // else // { // var wis = ItemProxy.Instance.GetStaticItems(); // 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(); // var rw = wis[Random.Range(0, wis.Count)]; // result = BagProxy.Instance.NewEquipment(rw.id); // } // else // { // var eis = ItemProxy.Instance.GetStaticItems(); // 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 } }