UnitFactory.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. 
  2. using GFGGame;
  3. namespace ET
  4. {
  5. public static class UnitFactory
  6. {
  7. public static Unit Create(Scene currentScene, UnitInfo unitInfo)
  8. {
  9. UnitComponent unitComponent = currentScene.GetComponent<UnitComponent>();
  10. Unit unit = unitComponent.AddChildWithId<Unit>(unitInfo.UnitId);
  11. unitComponent.Add(unit);
  12. //数值组件
  13. NumericComponent numericComponent = unit.AddComponent<NumericComponent>();
  14. for (int i = 0; i < unitInfo.Ks.Count; ++i)
  15. {
  16. numericComponent.Set(unitInfo.Ks[i], unitInfo.Vs[i]);
  17. }
  18. //物品兑换
  19. for (int i = 0; i < unitInfo.KsItemExchange.Count; i++)
  20. {
  21. ItemDataManager.InitItemExchange(unitInfo.KsItemExchange[i], unitInfo.VsItemExchange[i]);
  22. }
  23. unit.AddComponent<ObjectWait>();
  24. //服装数据与物品通步
  25. DressUpMenuSuitDataManager.InitData();
  26. DressUpMenuItemDataManager.InitData();
  27. //初始化物品
  28. ItemDataManager.InitServerData(unitInfo.Items);
  29. //自定义套装
  30. CustomSuitDataManager.InitServerData(unitInfo.CustomSuits);
  31. //角色信息
  32. RoleDataManager.InitServerData();
  33. return unit;
  34. }
  35. }
  36. }