123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using System;
- using UnityEngine;
- using System.Collections;
- using System.Collections.Generic;
- public class CraftFactory
- {
- private static List<string> newList = new List<string>(){"Dasher", "Hunter", "Medic", "Spider", "TinySpider", "Flame", "Ice", "Thunder", "Assassin"};
- public static Craft CreateCraft(CraftData data, CraftEquipModify equipModify, Map map)
- {
- string folder = newList.Contains(data.GetModel()) ? Config.CRAFT_NEW_PREFAB_FOLDER : Config.CRAFT_PREFAB_FOLDER;
- GameObject craftPrefab = Resources.Load<GameObject>(folder+data.GetModel());
- GameObject craftObj = GameObject.Instantiate(craftPrefab) as GameObject;
- Craft craft = craftObj.GetComponent<Craft>();
- craft.Init(map, data, equipModify);
- craft.typeId = MapObjectUtil.TypeId.Craft.GetHashCode();
- return craft;
- }
- public static Craft CreateCraft(int id)
- {
- CraftConfigData data = CraftManager.GetInstance().GetData(id);
- string folder = newList.Contains(data.model) ? Config.CRAFT_NEW_PREFAB_FOLDER : Config.CRAFT_PREFAB_FOLDER;
- GameObject craftPrefab = Resources.Load<GameObject>(folder+data.model);
- GameObject craftObj = GameObject.Instantiate(craftPrefab) as GameObject;
- Craft craft = craftObj.GetComponent<Craft>();
- craft.Init();
- return craft;
- }
- public static void SwapModel(Craft craft, int id, CraftEquipModify equipModify)
- {
- CraftConfigData data = CraftManager.GetInstance().GetData(id);
- string folder = newList.Contains(data.model) ? Config.CRAFT_NEW_PREFAB_FOLDER : Config.CRAFT_PREFAB_FOLDER;
- GameObject craftPrefab = Resources.Load<GameObject>(folder+data.model);
- GameObject craftObj = GameObject.Instantiate(craftPrefab) as GameObject;
- Craft newCraft = craftObj.GetComponent<Craft>();
- craft.GetSwapManager().Swap(newCraft, id, equipModify);
- }
- // public static CraftData getTestData(Map map)
- // {
- // CraftData data = new CraftData(1);
- // data.userId = 1;
- // data.team = TeamUtil.Team.Blue;
- // data.position = map.GetStartPosition(data.team);
- // return data;
- // }
- }
|