Exemplo n.º 1
0
        void LayoutWallObject(ref List <Vector2Int> emptyCells)
        {
            var cell = VExt.NextFromList(emptyCells);

            var go = VExt.LayoutAnimationObject(
                ObjData.r_PrefabPhysicsAnimation,
                cell.x, cell.y,
                "wall",
                ObjData.t_GameObjectsRoot,
                SortingLayer.Object.ToString(),
                VExt.NextFromArray(ObjData.p_WallsPresets.Animation));

            var e = _world.NewEntityWith(out GameObjectComponent goComponent, out WallComponent _);

            goComponent.Transform           = go.transform;
            goComponent.GO                  = go.GetComponent <PrefabComponentsShortcut>();
            goComponent.GO.NPCNameText.text = e.GetInternalId().ToString();

            var dataComponent = e.Set <NPCDataSheetComponent>();

            dataComponent.Stats.MaxHealthPoint = UnityEngine.Random.Range(minWallHP, maxWallHP + 1);
            dataComponent.Stats.HealthPoint    = dataComponent.Stats.MaxHealthPoint;

            emptyCells.Remove(cell);
        }
Exemplo n.º 2
0
        void LayoutEnemyObject(ref List <Vector2Int> emptyCells, EnemyPreset enemyPreset)
        {
            var cell = VExt.NextFromList(emptyCells);

            _world.RLCreateEnemy(cell, enemyPreset);

            emptyCells.Remove(cell);
        }
Exemplo n.º 3
0
        void NewFruitHeal(ref List <Vector2Int> emptyCells)
        {
            var pos = VExt.NextFromList(emptyCells);

            _presets.CollectingItems.TryGetValue("FruitHeal", out CollectingItemPreset preset);
            _world.RLNewLevelObject(preset, pos);
            emptyCells.Remove(pos);
        }