public MechaComponentInfo(MechaComponentType mechaComponentType, GridPos gridPos, int totalLife, int dropProbability) { MechaComponentType = mechaComponentType; GridPos = gridPos; TotalLife = totalLife; DropProbability = dropProbability; }
/// <summary> /// Load all 2D sprites of mecha components /// </summary> private void LoadAllBlockItemPics() { foreach (string s in Enum.GetNames(typeof(MechaComponentType))) { MechaComponentType mcType = (MechaComponentType)Enum.Parse(typeof(MechaComponentType), s); Sprite sprite = Resources.Load <Sprite>("BlockItemPics/" + s); MechaComponentSpriteDict.Add(mcType, sprite); } }
private void Initialize() { CurrentBagGridNumber = 100; foreach (string s in Enum.GetNames(typeof(MechaComponentType))) { MechaComponentType mcType = (MechaComponentType)Enum.Parse(typeof(MechaComponentType), s); AddMechaComponentToBag(new MechaComponentInfo(mcType, new GridPos(0, 0, GridPos.Orientation.Up), 100, 0), out BagItem _); } }
/// <summary> /// Load all 2D sprites of mecha components /// </summary> private Dictionary <string, Sprite> LoadAllBackpackItemPics() { Dictionary <string, Sprite> backpackItemSpriteDict = new Dictionary <string, Sprite>(); foreach (string s in Enum.GetNames(typeof(MechaComponentType))) { MechaComponentType mcType = (MechaComponentType)Enum.Parse(typeof(MechaComponentType), s); Sprite sprite = Resources.Load <Sprite>("BackpackItemPics/" + s); backpackItemSpriteDict.Add(typeof(MechaComponentType).FullName + "." + mcType, sprite); } return(backpackItemSpriteDict); }
/// <summary> /// Load all prefabs to see which grids does a mecha component take /// </summary> private void LoadBlockOccupiedGridInfo() { MechaComponentOccupiedGridPosDict.Clear(); List <MechaComponentBase> mcbs = new List <MechaComponentBase>(); foreach (string s in Enum.GetNames(typeof(MechaComponentType))) { MechaComponentType mcType = (MechaComponentType)Enum.Parse(typeof(MechaComponentType), s); MechaComponentBase mcb = MechaComponentBase.BaseInitialize(new MechaComponentInfo(mcType, new GridPos(0, 0, GridPos.Orientation.Up), 10, 0), null); mcbs.Add(mcb); MechaComponentOccupiedGridPosDict.Add(mcType, CloneVariantUtils.List(mcb.MechaComponentGrids.MechaComponentGridPositions)); } foreach (MechaComponentBase mcb in mcbs) { DestroyImmediate(mcb.gameObject); } }
void Awake() { PrefabManager.Instance.LoadPrefabs_Editor(); foreach (KeyValuePair <PrefabNames, int> kv in PoolConfigs) { string prefabName = kv.Key.ToString(); GameObject go_Prefab = PrefabManager.Instance.GetPrefab(prefabName); if (go_Prefab) { GameObject go = new GameObject("Pool_" + prefabName); GameObjectPool pool = go.AddComponent <GameObjectPool>(); pool.transform.SetParent(transform); PoolDict.Add(kv.Key, pool); PoolObject po = go_Prefab.GetComponent <PoolObject>(); pool.Initiate(po, kv.Value); } } foreach (string s in Enum.GetNames(typeof(MechaComponentType))) { string prefabName = "MechaComponent_" + s; MechaComponentType mechaComponentType = (MechaComponentType)Enum.Parse(typeof(MechaComponentType), s); GameObject go_Prefab = PrefabManager.Instance.GetPrefab(prefabName); if (go_Prefab) { GameObject go = new GameObject("Pool_" + prefabName); GameObjectPool pool = go.AddComponent <GameObjectPool>(); pool.transform.SetParent(transform); MechaComponentPoolDict.Add(mechaComponentType, pool); PoolObject po = go_Prefab.GetComponent <PoolObject>(); pool.Initiate(po, 20); } } foreach (string s in Enum.GetNames(typeof(ProjectileType))) { string prefabName = s; ProjectileType projectileType = (ProjectileType)Enum.Parse(typeof(ProjectileType), s); GameObject go_Prefab = PrefabManager.Instance.GetPrefab(prefabName); if (go_Prefab) { GameObject go = new GameObject("Pool_" + prefabName); GameObjectPool pool = go.AddComponent <GameObjectPool>(); pool.transform.SetParent(transform); ProjectileDict.Add(projectileType, pool); PoolObject po = go_Prefab.GetComponent <PoolObject>(); pool.Initiate(po, 20); } } foreach (string s in Enum.GetNames(typeof(ProjectileType))) { string prefabName = s.Replace("Projectile_", "Hit_"); ProjectileType projectileType = (ProjectileType)Enum.Parse(typeof(ProjectileType), s); GameObject go_Prefab = PrefabManager.Instance.GetPrefab(prefabName); if (go_Prefab) { GameObject go = new GameObject("Pool_" + prefabName); GameObjectPool pool = go.AddComponent <GameObjectPool>(); pool.transform.SetParent(transform); ProjectileHitDict.Add(projectileType, pool); PoolObject po = go_Prefab.GetComponent <PoolObject>(); pool.Initiate(po, 20); } } foreach (string s in Enum.GetNames(typeof(ProjectileType))) { string prefabName = s.Replace("Projectile_", "Flash_"); ProjectileType projectileType = (ProjectileType)Enum.Parse(typeof(ProjectileType), s); GameObject go_Prefab = PrefabManager.Instance.GetPrefab(prefabName); if (go_Prefab) { GameObject go = new GameObject("Pool_" + prefabName); GameObjectPool pool = go.AddComponent <GameObjectPool>(); pool.transform.SetParent(transform); ProjectileFlashDict.Add(projectileType, pool); PoolObject po = go_Prefab.GetComponent <PoolObject>(); pool.Initiate(po, 20); } } foreach (string s in Enum.GetNames(typeof(FX_Type))) { FX_Type fx_Type = (FX_Type)Enum.Parse(typeof(FX_Type), s); GameObject go_Prefab = PrefabManager.Instance.GetPrefab(s); if (go_Prefab) { GameObject go = new GameObject("Pool_" + s); GameObjectPool pool = go.AddComponent <GameObjectPool>(); pool.transform.SetParent(transform); FXDict.Add(fx_Type, pool); PoolObject po = go_Prefab.GetComponent <PoolObject>(); pool.Initiate(po, 20); } } }