// ***********************************************************************
// Assembly : Unity
// Author : Kimch
// Created : 2019-05-20
// Description :
// Last Modified By :
// Last Modified On :
// ***********************************************************************
//
//
// ***********************************************************************
namespace G
{
using F.Item;
using System.Collections.Generic;
partial class ItemProxy
{
private ItemGroupHelper _itemGroupHelper = new ItemGroupHelper();
private Dictionary _typeNameDict = new Dictionary();
///
///
///
private void InitStatic()
{
KFramework.ItemManager.SetItemGroupHelper(_itemGroupHelper);
///添加供全局表
this.AddStaticGroup(false);
this.AddStaticGroup(false);
//图标
this.AddStaticGroup(false);
///添加供全局查找道具
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
//属性表
this.AddStaticGroup(false);
this.AddStaticGroup(false);
//武学文学
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
///添加 怪物表
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
//关卡相关
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
//奇遇冒险
this.AddStaticGroup(false);
//
this.AddStaticGroup(false);
this.AddStaticGroup(false);
//
this.AddStaticGroup(false);
this.AddStaticGroup(false);
//宝箱
this.AddStaticGroup(false);
//事务
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
//称号
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
//功能表
this.AddStaticGroup(false);
//角色表
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
//Npc
this.AddStaticGroup(false);
//宠物
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
//任务表
this.AddStaticGroup(false);
//剧情相关
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
//新手引导
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
//活动表
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
//
this.AddStaticGroup(false);
this.AddStaticGroup(false);
// city
this.AddStaticGroup(false);
this.AddStaticGroup(false);
//帮会
//this.AddStaticGroup(false);
//this.AddStaticGroup(false);
//this.AddStaticGroup(false);
//this.AddStaticGroup(false);
//
this.AddStaticGroup(false);
this.AddStaticGroup(false);
//商城表
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
this.AddStaticGroup(false);
//转化表
this.AddStaticGroup(false);
}
#region Method
private string GetTypeName()
{
var t = typeof(T);
if (_typeNameDict.TryGetValue(t, out var result))
{
return result;
}
result = t.Name;
_typeNameDict.Add(t, result);
return result;
}
///
///
///
///
///
private void AddStaticGroup(bool global) where T : class, IItem
{
var fullName = GetTypeName();
_itemGroupHelper.AddClass(fullName);
KFramework.ItemManager.AddStaticGroup(fullName, global);
}
///
///
///
///
///
public IItemGroup GetGroup() where T : class, IItem
{
var fullName = GetTypeName();
return KFramework.ItemManager.GetGroup(fullName);
}
///
///
///
///
///
public IReadOnlyList GetStaticItems() where T : class, IItem
{
var fullName = GetTypeName();
return KFramework.ItemManager.GetStaticItems(fullName);
}
///
///
///
///
///
///
public T GetStaticItem(int id) where T : class, IItem
{
if (id > 0)
{
var fullName = GetTypeName();
var group = KFramework.ItemManager.GetGroup(fullName);
if (group != null)
return group.GetItem(id);
}
return default;
}
///
/// 获取全局Item
///
///
///
public IItem GetGlobalItem(int id)
{
if (id > 0)
{
return KFramework.ItemManager.GetStaticItem(id);
}
return default;
}
#endregion
}
}