예제 #1
0
 public MechaComponentInfo(MechaComponentType mechaComponentType, GridPos gridPos, int totalLife, int dropProbability)
 {
     MechaComponentType = mechaComponentType;
     GridPos            = gridPos;
     TotalLife          = totalLife;
     DropProbability    = dropProbability;
 }
예제 #2
0
 /// <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);
     }
 }
예제 #3
0
 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 _);
     }
 }
예제 #4
0
        /// <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);
        }
예제 #5
0
    /// <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);
            }
        }
    }