public void AddResources(enmBaseResourceType type, long count) { if (mBaseResources == null) { mBaseResources = new Dictionary <enmBaseResourceType, IBaseItem>(); } IBaseItem res; if (!mBaseResources.TryGetValue(type, out res)) { res = BaseResourceFactory.CreateResource(type); mBaseResources[type] = res; } res.Add(count); }
internal static IBaseItem CreateResource(enmBaseResourceType type) { switch (type) { case enmBaseResourceType.GOLD: return(new Gold()); case enmBaseResourceType.DIAMOND: return(new Diamond()); case enmBaseResourceType.ENERGY: return(new Energy()); default: return(null); } }