示例#1
0
        public EntitiesPresetsInject(EntitiesPresets presets)
        {
            LevelTiles = new Dictionary <string, LevelTilePreset>();
            foreach (var p in presets.LevelTiles)
            {
                var key = p.GameObject.NameID;
                LevelTiles.Add(key, p);
            }

            Player = presets.Player;

            CollectingItems = new Dictionary <string, CollectingItemPreset>();
            foreach (var p in presets.CollectingItems)
            {
                var key = p.GameObject.NameID;
                CollectingItems.Add(key, p);
            }

            StatusEffectHandlers = new Dictionary <string, StatusEffectHandler>();
            foreach (var p in presets.StatusEffectHandlers)
            {
                var key = p.EffectType.ToString();
                StatusEffectHandlers.Add(key, p);
            }
        }
        public static EcsEntity RLNewLevelObject(this EcsWorld world, PlayerPreset preset, Vector2 pos)
        {
            var go = VExt.NewGameObject(preset.GameObject, pos);
            var e  = world.NewEntityWithGameObject(go, false);

            e.Set <PlayerComponent>();
            var data = e.Set <NPCDataSheetComponent>();

            data.Stats = Service <NPCDataSheet> .Get().NPCStats;

            data.PrimaryWeapon = Service <NPCDataSheet> .Get().PriamaryWeapon;

            data.SecondaryWeapon = Service <NPCDataSheet> .Get().SecondaryWeapon;

            data.StatusEffects = new List <StatusEffect>();
            return(e);
        }