예제 #1
0
파일: EntitySystem.cs 프로젝트: Oroniss/ECS
        public ECSSerialisationData GetSerialisationData()
        {
            var data = new ECSSerialisationData();

            foreach (KeyValuePair <int, Component> item in components[ComponentType.Position])
            {
                data.PositionComponents[item.Key] = (PositionComponent)item.Value;
            }
            foreach (KeyValuePair <int, Component> item in components[ComponentType.Foreground])
            {
                data.ForegroundComponents[item.Key] = (ForegroundComponent)item.Value;
            }
            foreach (KeyValuePair <int, Component> item in components[ComponentType.Background])
            {
                data.BackgroundComponents[item.Key] = (BackgroundComponent)item.Value;
            }
            foreach (KeyValuePair <int, Component> item in components[ComponentType.Map])
            {
                data.MapComponents[item.Key] = (MapComponent)item.Value;
            }

            data.Components = hasComponent;
            data.Traits     = traits;

            return(data);
        }
예제 #2
0
파일: EntitySystem.cs 프로젝트: Oroniss/ECS
        public void LoadSerialisationData(ECSSerialisationData data)
        {
            foreach (KeyValuePair <int, PositionComponent> item in data.PositionComponents)
            {
                components[ComponentType.Position][item.Key] = item.Value;
            }
            foreach (KeyValuePair <int, ForegroundComponent> item in data.ForegroundComponents)
            {
                components[ComponentType.Foreground][item.Key] = item.Value;
            }
            foreach (KeyValuePair <int, BackgroundComponent> item in data.BackgroundComponents)
            {
                components[ComponentType.Background][item.Key] = item.Value;
            }
            foreach (KeyValuePair <int, MapComponent> item in data.MapComponents)
            {
                components[ComponentType.Map][item.Key] = item.Value;
            }

            hasComponent = data.Components;
            traits       = data.Traits;
        }