Exemplo n.º 1
0
        public void OnEnemyBorn(object[] args)
        {
            var     enemy      = args[0] as Enemy;
            UIHpBar new_hp_bar = PoolManager.Allocate(hpBar);

            new_hp_bar.transform.parent = recycleFolder;
            new_hp_bar.Reset(enemy);
            enemy_hpbar_map_.Add(enemy, new_hp_bar);
        }
Exemplo n.º 2
0
        private SpriteRenderer CreateGroundTile(SpriteRenderer tile, TerrainStyle.GroundStyle style, float offset)
        {
            var new_tile = PoolManager.Allocate(tile);

            new_tile.transform.parent        = graphics;
            new_tile.transform.localScale    = style.scale;
            new_tile.transform.localPosition = new Vector3(offset, 0, 0);
            return(new_tile);
        }
Exemplo n.º 3
0
    public static void SceneHook()
    {
        var managerObject = new GameObject("PoolManager");

        DontDestroyOnLoad(managerObject);
        Instance = managerObject.AddComponent <PoolManager>();
        Instance.Allocate();
        SceneManager.sceneUnloaded += (Scene s) => {
            pools.Clear();
        };
    }
Exemplo n.º 4
0
        public Enemy CreateEnemy(EnemyData data, Transform parent_transform)
        {
            EnemyBundle enemy_bundle;

            if (enemies_map_.TryGetValue(data.enemyType, out enemy_bundle))
            {
                Enemy new_enemy = PoolManager.Allocate(enemy_bundle.prefab);
                new_enemy.SpawnSelf(data, parent_transform);
                return(new_enemy);
            }
            else
            {
                throw new System.NotImplementedException("Not implemented enemy type: " + data.enemyType);
            }
        }
Exemplo n.º 5
0
        public TerrainComponent CreateTerrain(TerrainData data, Transform parent_transform)
        {
            TerrainComponent terrain;

            switch (data.terrainType)
            {
            case TerrainData.TerrainType.Ground:
                terrain = PoolManager.Allocate(terrains.ground);
                break;

            default:
                throw new System.NotImplementedException("Not implemented terrain type: " + data.terrainType);
            }

            terrain.BuildSelf(data, terrains.style, parent_transform);
            return(terrain);
        }