238 lines
7.8 KiB
C#
238 lines
7.8 KiB
C#
// ***********************************************************************
|
|
// Assembly : Unity
|
|
// Author : Kimch
|
|
// Created : 2019-05-20
|
|
// Description :
|
|
// Last Modified By :
|
|
// Last Modified On :
|
|
// ***********************************************************************
|
|
// <copyright file= "ItemProxy.Static" company="Kunpo"></copyright>
|
|
// <summary></summary>
|
|
// ***********************************************************************
|
|
namespace G
|
|
{
|
|
using F.Item;
|
|
using System.Collections.Generic;
|
|
|
|
partial class ItemProxy
|
|
{
|
|
private ItemGroupHelper _itemGroupHelper = new ItemGroupHelper();
|
|
private Dictionary<System.Type, string> _typeNameDict = new Dictionary<System.Type, string>();
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
private void InitStatic()
|
|
{
|
|
KFramework.ItemManager.SetItemGroupHelper(_itemGroupHelper);
|
|
|
|
///添加供全局表
|
|
this.AddStaticGroup<ItemParam>(false);
|
|
this.AddStaticGroup<ItemTime>(false);
|
|
//图标
|
|
this.AddStaticGroup<ItemIcon>(false);
|
|
///添加供全局查找道具
|
|
this.AddStaticGroup<ItemProp>(false);
|
|
this.AddStaticGroup<ItemEquipment>(false);
|
|
this.AddStaticGroup<ItemGem>(false);
|
|
this.AddStaticGroup<ItemWeapon>(false);
|
|
this.AddStaticGroup<ItemSuit>(false);
|
|
|
|
//属性表
|
|
this.AddStaticGroup<ItemAttribute>(false);
|
|
this.AddStaticGroup<ItemAttributeFactor>(false);
|
|
|
|
//武学文学
|
|
this.AddStaticGroup<ItemKungfu>(false);
|
|
this.AddStaticGroup<ItemKungfuGroup>(false);
|
|
this.AddStaticGroup<ItemBook>(false);
|
|
this.AddStaticGroup<ItemBookGroup>(false);
|
|
|
|
///添加 怪物表
|
|
this.AddStaticGroup<ItemMinion>(false);
|
|
this.AddStaticGroup<ItemElite>(false);
|
|
this.AddStaticGroup<ItemBoss>(false);
|
|
|
|
//关卡相关
|
|
this.AddStaticGroup<ItemChapter>(false);
|
|
this.AddStaticGroup<ItemLevel>(false);
|
|
this.AddStaticGroup<ItemStage>(false);
|
|
//奇遇冒险
|
|
this.AddStaticGroup<ItemAdventure>(false);
|
|
//
|
|
this.AddStaticGroup<ItemMoves>(false);
|
|
this.AddStaticGroup<ItemMovesPackage>(false);
|
|
//
|
|
this.AddStaticGroup<ItemSkill>(false);
|
|
this.AddStaticGroup<ItemBuff>(false);
|
|
//宝箱
|
|
this.AddStaticGroup<ItemBox>(false);
|
|
//事务
|
|
this.AddStaticGroup<ItemBusiness>(false);
|
|
this.AddStaticGroup<ItemBeauty>(false);
|
|
this.AddStaticGroup<ItemBeautySkill>(false);
|
|
this.AddStaticGroup<ItemBeautySkin>(false);
|
|
|
|
//称号
|
|
this.AddStaticGroup<ItemSwordTitle>(false);
|
|
this.AddStaticGroup<ItemSword>(false);
|
|
this.AddStaticGroup<ItemSwordLevel>(false);
|
|
this.AddStaticGroup<ItemSwordGrade>(false);
|
|
|
|
//功能表
|
|
this.AddStaticGroup<ItemFunction>(false);
|
|
|
|
//角色表
|
|
this.AddStaticGroup<ItemCha>(false);
|
|
this.AddStaticGroup<ItemChaLevel>(false);
|
|
this.AddStaticGroup<ItemChaSkin>(false);
|
|
this.AddStaticGroup<ItemChaAvatar>(false);
|
|
|
|
//Npc
|
|
this.AddStaticGroup<ItemNpc>(false);
|
|
|
|
//宠物
|
|
this.AddStaticGroup<ItemPet>(false);
|
|
this.AddStaticGroup<ItemPetLevel>(false);
|
|
this.AddStaticGroup<ItemPetSkill>(false);
|
|
this.AddStaticGroup<ItemPetConst>(false);
|
|
|
|
//任务表
|
|
this.AddStaticGroup<ItemMission>(false);
|
|
|
|
//剧情相关
|
|
this.AddStaticGroup<ItemStoryGroup>(false);
|
|
this.AddStaticGroup<ItemStoryStage>(false);
|
|
this.AddStaticGroup<ItemStoryAction>(false);
|
|
|
|
//新手引导
|
|
this.AddStaticGroup<ItemTutorialGroup>(false);
|
|
this.AddStaticGroup<ItemTutorialStage>(false);
|
|
this.AddStaticGroup<ItemTutorialAction>(false);
|
|
this.AddStaticGroup<ItemTutorialCondition>(false);
|
|
|
|
//活动表
|
|
this.AddStaticGroup<ItemActivity>(false);
|
|
this.AddStaticGroup<ItemActivitySub>(false);
|
|
|
|
this.AddStaticGroup<ItemSevenSign>(false);
|
|
this.AddStaticGroup<ItemActivityParent>(false);
|
|
this.AddStaticGroup<ItemWheel>(false);
|
|
|
|
this.AddStaticGroup<ItemBattlePass>(false);
|
|
this.AddStaticGroup<ItemBattlePassLevel>(false);
|
|
|
|
//
|
|
this.AddStaticGroup<ItemVip>(false);
|
|
this.AddStaticGroup<ItemMail>(false);
|
|
|
|
// city
|
|
this.AddStaticGroup<ItemCity>(false);
|
|
this.AddStaticGroup<ItemCityEvent>(false);
|
|
|
|
//帮会
|
|
//this.AddStaticGroup<ItemGuild>(false);
|
|
//this.AddStaticGroup<ItemGuildActivity>(false);
|
|
//this.AddStaticGroup<ItemGuildBuilding>(false);
|
|
//this.AddStaticGroup<ItemGuildShop>(false);
|
|
|
|
//
|
|
this.AddStaticGroup<ItemRandom>(false);
|
|
this.AddStaticGroup<ItemAccess>(false);
|
|
|
|
//商城表
|
|
this.AddStaticGroup<ItemShopBox>(false);
|
|
this.AddStaticGroup<ItemShopCharge>(false);
|
|
this.AddStaticGroup<ItemShopCard>(false);
|
|
this.AddStaticGroup<ItemShopSpecial>(false);
|
|
this.AddStaticGroup<ItemShopGift>(false);
|
|
|
|
//转化表
|
|
this.AddStaticGroup<ItemConvert>(false);
|
|
}
|
|
|
|
#region Method
|
|
|
|
private string GetTypeName<T>()
|
|
{
|
|
var t = typeof(T);
|
|
if (_typeNameDict.TryGetValue(t, out var result))
|
|
{
|
|
return result;
|
|
}
|
|
|
|
result = t.Name;
|
|
_typeNameDict.Add(t, result);
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <typeparam name="T"></typeparam>
|
|
/// <param name="global"></param>
|
|
private void AddStaticGroup<T>(bool global) where T : class, IItem
|
|
{
|
|
var fullName = GetTypeName<T>();
|
|
_itemGroupHelper.AddClass<T>(fullName);
|
|
KFramework.ItemManager.AddStaticGroup<T>(fullName, global);
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <typeparam name="T"></typeparam>
|
|
/// <returns></returns>
|
|
public IItemGroup<T> GetGroup<T>() where T : class, IItem
|
|
{
|
|
var fullName = GetTypeName<T>();
|
|
return KFramework.ItemManager.GetGroup<T>(fullName);
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <typeparam name="T"></typeparam>
|
|
/// <returns></returns>
|
|
public IReadOnlyList<T> GetStaticItems<T>() where T : class, IItem
|
|
{
|
|
var fullName = GetTypeName<T>();
|
|
return KFramework.ItemManager.GetStaticItems<T>(fullName);
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <typeparam name="T"></typeparam>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
public T GetStaticItem<T>(int id) where T : class, IItem
|
|
{
|
|
if (id > 0)
|
|
{
|
|
var fullName = GetTypeName<T>();
|
|
var group = KFramework.ItemManager.GetGroup<T>(fullName);
|
|
if (group != null)
|
|
return group.GetItem(id);
|
|
}
|
|
return default;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取全局Item
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
public IItem GetGlobalItem(int id)
|
|
{
|
|
if (id > 0)
|
|
{
|
|
return KFramework.ItemManager.GetStaticItem(id);
|
|
}
|
|
return default;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|