Exemple #1
0
 public ContentMetadataInfo(ContentMetadataInfo fallbackContentMetadataInfo, ContentMetadata contentMetadata) : base(fallbackContentMetadataInfo)
 {
     foreach (var keyValue in ReadContentMetadata(contentMetadata))
     {
         this[keyValue.Key] = keyValue.Value;
     }
 }
Exemple #2
0
        public string GetPageHeader(object pageModel)
        {
            if (pageModel == null)
            {
                throw new ArgumentNullException(nameof(pageModel));
            }

            return(ContentMetadata.GetContentTitle(pageModel));
        }
Exemple #3
0
        public void SetPageHeader(object pageModel, string value)
        {
            if (pageModel == null)
            {
                throw new ArgumentNullException(nameof(pageModel));
            }

            ContentMetadata.SetContentTitle(pageModel, value);
        }
Exemple #4
0
        public bool IsInheritedOrEqual(PageMetadataProvider baseMetadataProvider)
        {
            if (baseMetadataProvider == null)
            {
                throw new ArgumentNullException(nameof(baseMetadataProvider));
            }

            return(ContentMetadata.IsInheritedOrEqual(baseMetadataProvider.ContentMetadata));
        }
Exemple #5
0
        private async void PublishContent(int nodeNumber)
        {
            var input = new ContentMetadata {
                Message = $"Message from Publisher {nodeNumber},", Topics = ConfigurationFile.ContentMetadata.Topics
            };
            var response = await HttpRestClient.Post(Helpers.PublishTopicUrl(ConfigurationFile.BaseUrl), input);

            Console.WriteLine(response);
        }
Exemple #6
0
        public async void SubscribeContent(ConfigurationFile configurationFile)
        {
            var input = new ContentMetadata {
                SubscriberId = SubscriberMetadata.SubscriberId, Topics = configurationFile.ContentMetadata.Topics
            };
            var response = await HttpRestClient.Post(Helpers.SubscribeContentUrl(configurationFile.BaseUrl), input);

            Console.WriteLine(response);
        }
Exemple #7
0
        public MetadataViewModel(GameVariant variant)
        {
            _variant  = variant;
            _metadata = _variant.Metadata;

            _dateModifiedTimer = new Timer((object state) =>
            {
                (state as MetadataViewModel).DateModified = DateTime.Now;
            }, this, 0, 1000);
        }
        internal static ContentMetadataInfo GetContentMetadataInfo(this ContentMetadata contentMetadata)
        {
            if (cache.ContainsKey(contentMetadata))
            {
                return(cache[contentMetadata]);
            }
            var fallbackContentMetadata = contentMetadata.Fallback;
            var contentMetadataInfo     = fallbackContentMetadata == null ? new ContentMetadataInfo(contentMetadata) : new ContentMetadataInfo(GetContentMetadataInfo(fallbackContentMetadata), contentMetadata);

            cache.Add(contentMetadata, contentMetadataInfo);
            return(contentMetadataInfo);
        }
        public void Add(ContentMetadata info)
        {
            if (info.SharedBlocksMetadata == null)
            {
                _messageContentMetadatas.Add(info.Clue, info);
            }
            else
            {
                _fileContentMetadatas.Add(info.SharedBlocksMetadata.Path, info);

                _hashMap.Add(info.SharedBlocksMetadata);
            }
        }
Exemple #10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GameVariant"/> class with default values.
 /// </summary>
 public GameVariant()
 {
     _metadata     = new ContentMetadata();
     _general      = new GeneralSettings();
     _prototype    = new PrototypeSettings();
     _respawn      = new RespawnSettings();
     _social       = new SocialSettings();
     _mapOverrides = new MapOverrides();
     _requisition  = new RequisitionSettings();
     _teams        = new TeamSettings();
     _loadouts     = new LoadoutSettings();
     _ordnance     = new OrdnanceSettings();
 }
Exemple #11
0
        public MapVariant()
        {
            _metadata = new ContentMetadata {
                ContentType = ContentType.MapVariant
            };
            _boundaries           = new float[6];
            _stringTable          = new StringTable();
            _objectTypeCountTable = new ObjectTypeCount[MaxObjectTypes];
            for (int i = 0; i < MaxObjectTypes; i++)
            {
                _objectTypeCountTable[i] = new ObjectTypeCount();
            }

            /*this.Objects = new TMapObjectList();*/
        }
        public SecretContentStream(ApiClient apiClient, string secretId, ContentMetadata secretContent)
        {
            this.apiClient = apiClient ?? throw new ArgumentNullException(nameof(apiClient));
            this.secretId  = secretId ?? throw new ArgumentNullException(nameof(secretId));
            if (secretContent is null)
            {
                throw new ArgumentNullException(nameof(secretContent));
            }

            this.contentId = secretContent.ContentName;
            this.chunks    = new List <ChunkMetadata>(secretContent.Chunks);

            this.length = 0;
            foreach (var chunk in this.chunks)
            {
                this.length += chunk.Length;
            }

            this.currentChunkIndex    = -1;
            this.currentChunkPosition = 0L;
        }
        private static ContentMetadata Populate(IDataReader reader)
        {
            var article = new ContentMetadata(
                reader["ContentId"] == null ? Guid.Empty : new Guid(reader["ContentId"].ToString()),
                reader["ContentTypeId"] == null ? Guid.Empty : new Guid(reader["ContentTypeId"].ToString()),
                reader["DataKey"].ToString(),
                reader["DataValue"].ToString()
                );

            return article;
        }
Exemple #14
0
 public override void Visit(ContentMetadata contentMetadata) => Visit(contentMetadata);
Exemple #15
0
    public override string ToString()
    {
        var  sb      = new StringBuilder("Message(");
        bool __first = true;

        if (_from != null && __isset._from)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("_from: ");
            _from.ToString(sb);
        }
        if (To != null && __isset.to)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("To: ");
            To.ToString(sb);
        }
        if (__isset.toType)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("ToType: ");
            ToType.ToString(sb);
        }
        if (Id != null && __isset.id)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("Id: ");
            Id.ToString(sb);
        }
        if (__isset.createdTime)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("CreatedTime: ");
            CreatedTime.ToString(sb);
        }
        if (__isset.deliveredTime)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("DeliveredTime: ");
            DeliveredTime.ToString(sb);
        }
        if (Text != null && __isset.text)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("Text: ");
            Text.ToString(sb);
        }
        if (Location != null && __isset.location)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("Location: ");
            Location.ToString(sb);
        }
        if (__isset.hasContent)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("HasContent: ");
            HasContent.ToString(sb);
        }
        if (__isset.contentType)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("ContentType: ");
            ContentType.ToString(sb);
        }
        if (ContentPreview != null && __isset.contentPreview)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("ContentPreview: ");
            ContentPreview.ToString(sb);
        }
        if (ContentMetadata != null && __isset.contentMetadata)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("ContentMetadata: ");
            ContentMetadata.ToString(sb);
        }
        if (__isset.sessionId)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("SessionId: ");
            SessionId.ToString(sb);
        }
        if (Chunks != null && __isset.chunks)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("Chunks: ");
            Chunks.ToString(sb);
        }
        if (RelatedMessageId != null && __isset.relatedMessageId)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("RelatedMessageId: ");
            RelatedMessageId.ToString(sb);
        }
        if (__isset.messageRelationType)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("MessageRelationType: ");
            MessageRelationType.ToString(sb);
        }
        if (__isset.readCount)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("ReadCount: ");
            ReadCount.ToString(sb);
        }
        if (__isset.relatedMessageServiceCode)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("RelatedMessageServiceCode: ");
            RelatedMessageServiceCode.ToString(sb);
        }
        sb.Append(")");
        return(sb.ToString());
    }
Exemple #16
0
        public async Task <BaseResponseObject <string> > CreateFromCompoundModelAsync(CompoundModel input, List <AttachmentModel> attachments)
        {
            var secretMetadata = await this.CreateSecretMetadataAsync(input.Metadata.ObjectName, input.Metadata.ToCreationDto());

            if (!"ok".Equals(secretMetadata.Status))
            {
                return(new BaseResponseObject <string>()
                {
                    Status = secretMetadata.Status,
                    Error = secretMetadata.Error
                });
            }

            if (secretMetadata.Result == null)
            {
                return(new BaseResponseObject <string>()
                {
                    Status = "error",
                    Error = "Could not get metadata from response."
                });
            }

            var content = new ContentMetadata(secretMetadata.Result.Content.First(c => c.IsMain));

            using (var dataStream = new MemoryStream())
            {
                using (var writer = new StreamWriter(dataStream, Encoding.UTF8, 4096, leaveOpen: true))
                {
                    await writer.WriteAsync(input.MainData);

                    await writer.FlushAsync();

                    dataStream.Position = 0;
                }

                var secretMainData = await this.PutSecretDataStreamAsync(input.Metadata.ObjectName, content.ContentName, dataStream);

                if (!"ok".Equals(secretMainData.Status))
                {
                    return(new BaseResponseObject <string>()
                    {
                        Status = secretMainData.Status,
                        Error = secretMainData.Error
                    });
                }
            }

            await this.UploadAttachmentsAsync(input.Metadata.ObjectName, attachments);

            var permissions = input.Permissions.Where(p => !string.IsNullOrWhiteSpace(p.SubjectName)).ToList();

            if (permissions.Count > 0)
            {
                var accessReply = await this.GrantAccessAsync(
                    input.Metadata.ObjectName, permissions.Select(p => p.ToDto()).ToList());

                if (!"ok".Equals(accessReply.Status))
                {
                    // TODO ...
                }
            }

            return(new BaseResponseObject <string>()
            {
                Status = "ok",
                Result = "ok"
            });
        }
Exemple #17
0
        public async Task UploadAttachmentsAsync(string secretId, List <AttachmentModel> attachments)
        {
            foreach (var attachment in attachments)
            {
                try
                {
                    attachment.Status           = UploadStatus.InProgress;
                    attachment.ProgressPercents = 0.0f;

                    var contentInput = new ContentMetadataCreationInput()
                    {
                        ContentType = String.IsNullOrWhiteSpace(attachment.SourceFile.ContentType) ? "application/octet-stream" : attachment.SourceFile.ContentType,
                        FileName    = attachment.SourceFile.Name
                    };

                    var createdContent = await this.CreateContentMetadataAsync(secretId, contentInput);

                    if (!"ok".Equals(createdContent.Status) || createdContent.Result == null)
                    {
                        attachment.Status = UploadStatus.Error;
                        attachment.Error  = $"'Attachment {attachment.SourceFile.Name}' creation failed.";
                        continue; // no-op, skip to next attachment
                    }

                    var content = new ContentMetadata(createdContent.Result);

                    var dataStream   = attachment.SourceFile.OpenReadStream(Constants.MaxAttachmentDataLength);
                    var chunkLengths = GetChunkLengths(attachment.SourceFile.Size, Constants.MaxChunkDataLength);
                    var accessTicket = string.Empty;
                    for (int chunkIndex = 0; chunkIndex < chunkLengths.Count; chunkIndex++)
                    {
                        var isInterim  = chunkIndex < (chunkLengths.Count - 1);
                        var secretData = await this.PutSecretDataStreamAsync(
                            secretId, content.ContentName, dataStream, isInterim, chunkLengths[chunkIndex], accessTicket);

                        if (!"ok".Equals(secretData.Status) || secretData.Result == null)
                        {
                            attachment.Status = UploadStatus.Error;
                            attachment.Error  = $"'Attachment {attachment.SourceFile.Name}' upload failed.";
                            break;
                        }

                        accessTicket = secretData.Result.AccessTicket;
                        attachment.ProgressPercents += 100.0f * ((float)chunkLengths[chunkIndex] / attachment.SourceFile.Size);
                    }

                    if (attachment.Status == UploadStatus.Error)
                    {
                        continue; // no-op, skip to next attachment
                    }

                    attachment.Status           = UploadStatus.Success;
                    attachment.ProgressPercents = 100.0f;
                }
                catch (Exception exception)
                {
                    attachment.Status = UploadStatus.Error;
                    attachment.Error  = $"{exception.GetType()}: {exception.Message}";
                }
            }
        }
Exemple #18
0
 public object CreatePageModel()
 {
     return(ContentMetadata.CreateModelInstance());
 }
Exemple #19
0
        void IMegaloVariant.Create(GameVariant gt, MegaloData megalo)
        {
            gt.HasWeaponTuning = false;

            #region Base Variant

            // Metadata
            var metadata = new ContentMetadata
            {
                Name        = "Race v2.0",
                Description = "Gentlemen, start your engines.",
                CreatedBy   = new ContentAuthor("synth92"),
                ModifiedBy  = new ContentAuthor("synth92"),
                VariantIcon = VariantIcon.Race,
            };
            gt.Metadata = metadata;


            // General Settings
            var generalSettings = new GeneralSettings
            {
                PointsSystemEnabled = false,
                NumberOfRounds      = 1,
                TeamsEnabled        = false,
            };
            gt.GeneralSettings = generalSettings;


            // Respawn Settings
            var respawnSettings = new RespawnSettings
            {
                BetrayalPenalty        = 0,
                SuicidePenalty         = 0,
                InitialRespawnDuration = 3,
                MinimumRespawnDuration = 3,
            };
            gt.RespawnSettings = respawnSettings;


            // Social Settings
            var socialSettings = new SocialSettings
            {
                BetrayalBooting     = false,
                FriendlyFireEnabled = false,
                OpenChannelVoice    = true,
                DeadPlayerVoice     = true,
                EnemyVoice          = true,
            };
            gt.SocialSettings = socialSettings;


            // Map Overrides
            var mapOverrides = new MapOverrides
            {
                ArmorAbilitiesOnMap    = false,
                GrenadesOnMap          = false,
                IndestructibleVehicles = true,
                VehicleSet             = VehicleSet.DeleteAllExceptMongoose,
                WeaponSet = WeaponSet.NoWeapons,
            };
            gt.MapOverrides = mapOverrides;


            #region Base Player Traits

            var baseTraits = new PlayerTraits();
            gt.MapOverrides.BasePlayerTraits = baseTraits;

            // Base Player Traits -> Appearance
            baseTraits.Appearance.DeathEffect        = ArmorEffect.GruntBirthdayParty;
            baseTraits.Appearance.GamertagVisibility = HudVisibility.VisibleToEveryone;
            baseTraits.Appearance.WaypointVisibility = HudVisibility.VisibleToEveryone;

            // Base Player Traits -> Armor
            baseTraits.Armor.AssassinationImmunity = TraitFlag.Enabled;
            baseTraits.Armor.Invincibility         = TraitFlag.Enabled;

            // Base Player Traits -> Appearance
            baseTraits.Equipment.InitialPrimaryWeapon   = Weapon.SpartanLaser;
            baseTraits.Equipment.InitialSecondaryWeapon = Weapon.NoWeapon;
            baseTraits.Equipment.TacticalPackage        = ArmorMod.NoTacticalPackage;
            baseTraits.Equipment.SupportUpgrade         = ArmorMod.NoSupportUpgrade;

            // Base Player Traits -> Movement
            baseTraits.Movement.Sprint       = TraitFlag.Disabled;
            baseTraits.Movement.VehicleUsage = VehicleUsageMode.DriverOnly;

            // Base Player Traits -> Screen & Audio
            baseTraits.ScreenAndAudio.MotionSensor = MotionSensorMode.Enhanced;
            baseTraits.ScreenAndAudio.ShieldHud    = TraitFlag.Disabled;

            #endregion


            // Loadouts
            var loadouts = new LoadoutSettings
            {
                PersonalLoadoutsEnabled = false,
                MapLoadoutsEnabled      = false,
            };
            gt.LoadoutSettings = loadouts;


            // Teams
            var teams = new TeamSettings();
            gt.TeamSettings = teams;
            teams[0].Name.Set("Racers");
            teams[1].Name.Set("Observers");


            // Ordnance
            var ordnanceSettings = new OrdnanceSettings
            {
                InitialOrdnanceEnabled  = false,
                RandomOrdnanceEnabled   = false,
                PersonalOrdnanceEnabled = false,
            };
            gt.OrdnanceSettings = ordnanceSettings;


            #endregion
        }
 public virtual void Leave(ContentMetadata contentMetadata)
 {
 }
Exemple #21
0
 private static IDictionary <string, string> ReadContentMetadata(ContentMetadata contentMetadata) => JsonConvert.DeserializeObject <Dictionary <string, string> >(File.ReadAllText(contentMetadata.Path, Encoding.UTF8));
Exemple #22
0
 private void Leave(Item item, ContentMetadata itemContentMetadata) => contentIO.CreateOutputFile(item.Path + ContentMetadataInfo.FilenameExtension, itemContentMetadata.GetContentMetadataInfo().GetOutputFileContents());
Exemple #23
0
 public ContentMetadataInfo(ContentMetadata contentMetadata) : base(ReadContentMetadata(contentMetadata))
 {
 }
 public virtual void Visit(ContentMetadata contentMetadata)
 {
 }