예제 #1
0
        public void ParseMarker_CreatesProperMarker(string inputType, Type expectedType)
        {
            var guid = Guid.NewGuid();

            var display = new SensoryDisplay();

            display.Smell.ResetTo(4, 8);
            var jsonDisplay = JObject.Parse(JsonConvert.SerializeObject(display));

            var data = new JObject
            {
                { "display", jsonDisplay },
                { "duration", 11 },
                { "decayRate", 0.95 },
                { "type", inputType }
            };

            //Act
            var marker = MarkerDefinition.ParseMarker(data, guid);

            //Assert
            Assert.NotNull(marker);
            Assert.Equal(guid, (marker as ITransferable).Owner);
            Assert.Equal(expectedType, marker.GetType());
            Assert.Equal(8, marker.Display.Smell.Strength);
        }
예제 #2
0
        public WorldObject Create(CreateAction action)
        {
            if (!CanCreate(action))
            {
                return(null);
            }

            switch ((CreationIndex)action.ActionIndex)
            {
            case CreationIndex.MARKER:
                return(MarkerDefinition.ParseMarker(action.Data, Id));

            default:
                return(null);
            }
        }