private static Parser.WatchFace ParseResources(Reader reader) { Logger.Debug("Parsing parameters..."); try { if (previewSize.Width == 176) { return(ParametersConverter.Parse <WatchFaceBip>(reader.Parameters)); } else if (previewSize.Width == 360) { return(ParametersConverter.Parse <WatchFaceVerge>(reader.Parameters)); } else if (previewSize.Width == 454 || previewSize.Width == 390) { return(ParametersConverter.Parse <WatchFaceGTR>(reader.Parameters)); } else { return(ParametersConverter.Parse <Parser.WatchFace>(reader.Parameters)); } } catch (Exception e) { Logger.Fatal(e); return(null); } }
private static void WriteWatchFace(string outputDirectory, string outputFileName, string imagesDirectory, Parser.WatchFace watchFace) { try { Logger.Debug("Reading referenced images from '{0}'", imagesDirectory); var imagesReader = new ImagesLoader(imagesDirectory); imagesReader.Process(watchFace); Logger.Trace("Building parameters for watch face..."); var descriptor = ParametersConverter.Build(watchFace); var baseFilename = Path.GetFileNameWithoutExtension(outputFileName); GeneratePreviews(descriptor, imagesReader.Images.ToArray(), outputDirectory, baseFilename); Logger.Debug("Writing watch face to '{0}'", outputFileName); using (var fileStream = File.OpenWrite(outputFileName)) { var writer = new Writer(fileStream, imagesReader.Images); writer.Write(descriptor); fileStream.Flush(); } } catch (Exception e) { Logger.Fatal(e); File.Delete(outputFileName); } }
public UrlBuilder(RequestParser requestParser) { log.Debug("Initialize new Client.UrlBuilder."); RequestParser = requestParser; ParametersConverter = new ParametersConverter(); }
private static void WriteWatchFace(string outputDirectory, string outputFileName, string imagesDirectory, Parser.WatchFace watchFace) { try { Logger.Debug("从 '{0}' 读取参考图像", imagesDirectory); var imagesReader = new ResourcesLoader(imagesDirectory); imagesReader.Process(watchFace); Logger.Trace("建构表盘参数..."); var descriptor = ParametersConverter.Build(watchFace); var baseFilename = Path.GetFileNameWithoutExtension(outputFileName); GeneratePreviews(descriptor, imagesReader.Images, outputDirectory, baseFilename); Logger.Debug("写入表盘到: '{0}'", outputFileName); using (var fileStream = File.OpenWrite(outputFileName)) { var writer = new Writer(fileStream, imagesReader.Resources); writer.Write(descriptor); fileStream.Flush(); } } catch (Exception e) { Logger.Fatal(e); File.Delete(outputFileName); } }
public AlignmentSideCommand() { Aliases = new[] { "side" }; RequiredRole = RoleEnum.GameMaster; ParentCommandType = typeof(AlignmentCommands); Description = "Set the alignement side of the given target"; AddParameter("side", "s", "Alignement side", converter: ParametersConverter.GetEnumConverter <AlignmentSideEnum>()); AddTargetParameter(true); }
public TransitionResetCommand() { Aliases = new[] { "reset" }; Description = "Reset the current map transition"; RequiredRole = RoleEnum.Administrator; ParentCommandType = typeof(TransitionsCommands); AddParameter("transition", "t", "Top/Right/Bottom/Left", converter: ParametersConverter.GetEnumConverter <MapNeighbour>()); AddParameter("from", "f", "The map to modify", isOptional: true, converter: ParametersConverter.MapConverter); }
internal static void SetSpringBonesAndColliders( GameObject instance, ParametersConverter swayingParametersConverter ) { if (DynamicBoneType != null) { DynamicBoneReplacer.SetSpringBoneColliderGroups(instance); DynamicBoneReplacer.SetSpringBones(instance, swayingParametersConverter); DynamicBoneReplacer.RemoveUnusedColliderGroups(instance); } DynamicBoneReplacer.SetSpringBoneColliderGroupsForVirtualCast(instance); }
private static Parser.WatchFace ParseResources(Reader reader) { Logger.Debug("Parsing parameters..."); try { return(ParametersConverter.Parse <Parser.WatchFace>(reader.Parameters)); } catch (Exception e) { Logger.Fatal(e); return(null); } }
/// <summary> /// 子孫の<see cref="DynamicBone"/>を基に<see cref="VRMSpringBone"/>を設定します。 /// </summary> /// <param name="instance"></param> /// <param name="swayingParametersConverter"></param> private static void SetSpringBones(GameObject instance, ParametersConverter swayingParametersConverter) { var boneInfo = new BoneInfo(instance.GetComponent <VRMMeta>()); var secondary = instance.transform.Find("secondary").gameObject; GameObject.DestroyImmediate(secondary.GetComponent <VRMSpringBone>()); foreach (var dynamicBones in instance.GetComponentsInChildren(DynamicBoneType) .Select((dynamic dynamicBone) => { var parameters = swayingParametersConverter(new DynamicBoneParameters() { Damping = dynamicBone.m_Damping, DampingDistrib = dynamicBone.m_DampingDistrib, Elasticity = dynamicBone.m_Elasticity, ElasticityDistrib = dynamicBone.m_ElasticityDistrib, Stiffness = dynamicBone.m_Stiffness, StiffnessDistrib = dynamicBone.m_StiffnessDistrib, Inert = dynamicBone.m_Inert, InertDistrib = dynamicBone.m_InertDistrib, }, boneInfo); var colliderGroups = new List <VRMSpringBoneColliderGroup>(); if (dynamicBone.m_Colliders != null) { foreach (var collider in dynamicBone.m_Colliders) { if (!collider.transform.IsChildOf(instance.transform)) { // ルート外の参照を除外 continue; } VRMSpringBoneColliderGroup colliderGroup = collider.GetComponent <VRMSpringBoneColliderGroup>(); if (colliderGroup == null || colliderGroups.Contains(colliderGroup)) { continue; } colliderGroups.Add(colliderGroup); } } Vector3 gravity = dynamicBone.m_Gravity; return(dynamicBone, parameters, colliderGroups, compare: string.Join("\n", new[] { parameters.StiffnessForce, gravity.x, gravity.y, gravity.z, parameters.DragForce, (float)dynamicBone.m_Radius, }.Select(parameter => parameter.ToString("F2")) .Concat(colliderGroups .Select(colliderGroup => colliderGroup.transform.RelativePathFrom(instance.transform))) )); }) .GroupBy(dynamicBones => dynamicBones.compare)) // 同一パラメータでグループ化 { var dynamicBone = dynamicBones.First(); var springBone = secondary.AddComponent <VRMSpringBone>(); springBone.m_stiffnessForce = dynamicBone.parameters.StiffnessForce; Vector3 gravity = dynamicBone.dynamicBone.m_Gravity; springBone.m_gravityPower = gravity.magnitude; springBone.m_gravityDir = gravity.normalized; springBone.m_dragForce = dynamicBone.parameters.DragForce; springBone.RootBones = dynamicBones.Select(db => (Transform)db.dynamicBone.m_Root) .Where(transform => transform != null) .Distinct() .ToList(); springBone.m_hitRadius = dynamicBone.dynamicBone.m_Radius; springBone.ColliderGroups = dynamicBone.colliderGroups.ToArray(); } }
public MonsterSpawnCommand() { base.Aliases = new string[] { "spawn" }; base.RequiredRole = RoleEnum.GameMaster; base.Description = "Spawn a monster on the current location"; base.ParentCommand = typeof(MonsterCommands); base.AddParameter <MonsterTemplate>("monster", "m", "Monster template Id", null, false, ParametersConverter.MonsterTemplateConverter); base.AddParameter <sbyte>("grade", "g", "Monster grade", 0, true, null); base.AddParameter <sbyte>("id", "id", "Monster group id", 0, true, null); base.AddParameter <Map>("map", "map", "Map id", null, true, ParametersConverter.MapConverter); base.AddParameter <short>("cell", "cell", "Cell id", 0, true, null); base.AddParameter <DirectionsEnum>("direction", "dir", "Direction", DirectionsEnum.DIRECTION_EAST, true, ParametersConverter.GetEnumConverter <DirectionsEnum>()); }
public NpcSpawnCommand() { base.Aliases = new string[] { "spawn" }; base.RequiredRole = RoleEnum.GameMaster; base.Description = "Spawn a npc on the current location"; base.ParentCommand = typeof(NpcsCommands); base.AddParameter <NpcTemplate>("npc", "npc", "Npc Template id", null, false, ParametersConverter.NpcTemplateConverter); base.AddParameter <Map>("map", "map", "Map id", null, true, ParametersConverter.MapConverter); base.AddParameter <short>("cell", "cell", "Cell id", 0, true, null); base.AddParameter <DirectionsEnum>("direction", "dir", "Direction", DirectionsEnum.DIRECTION_EAST, true, ParametersConverter.GetEnumConverter <DirectionsEnum>()); }
public NpcSpawnCommand() { Aliases = new[] { "spawn" }; RequiredRole = RoleEnum.Administrator; Description = "Spawn a npc on the current location"; ParentCommandType = typeof(NpcsCommands); AddParameter("npc", "npc", "Npc Template id", converter: ParametersConverter.NpcTemplateConverter); AddParameter("map", "map", "Map id", isOptional: true, converter: ParametersConverter.MapConverter); AddParameter <short>("cell", "cell", "Cell id", isOptional: true); AddParameter("direction", "dir", "Direction", isOptional: true, converter: ParametersConverter.GetEnumConverter <DirectionsEnum>()); }
public static void MyClassInitialize(TestContext testContext) { log = LogManager.GetLogger(typeof(ParametersConverterTest)); ParametersConverter = new ParametersConverter(); }
public RequestParser() { log.Debug("Initialize new RequestParser."); ParametersConverter = new ParametersConverter(); }
private static void WriteWatchFace(string outputDirectory, string outputFileName, string imagesDirectory, Parser.WatchFace watchFace) { try { Logger.Debug("Reading referenced images from '{0}'", imagesDirectory); var imagesReader = new ResourcesLoader(imagesDirectory); if (previewSize.Width == 360) { imagesReader.Process(watchFace as WatchFaceVerge); } else if (previewSize.Width == 454 || previewSize.Width == 390) { imagesReader.Process(watchFace as WatchFaceGTR); } else if (previewSize.Width == 176) { imagesReader.Process(watchFace as WatchFaceBip); } else { imagesReader.Process(watchFace); } Logger.Trace("Building parameters for watch face..."); List <Parameter> descriptor; if (previewSize.Width == 360) { descriptor = ParametersConverter.Build(watchFace as WatchFaceVerge); } else if (previewSize.Width == 454 || previewSize.Width == 390) { descriptor = ParametersConverter.Build(watchFace as WatchFaceGTR); } else if (previewSize.Width == 176) { descriptor = ParametersConverter.Build(watchFace as WatchFaceBip); } else { descriptor = ParametersConverter.Build(watchFace); } var baseFilename = Path.GetFileNameWithoutExtension(outputFileName); GeneratePreviews(descriptor, imagesReader.Images, outputDirectory, baseFilename); Logger.Debug("Writing watch face to '{0}'", outputFileName); using (var fileStream = File.OpenWrite(outputFileName)) { var writer = new Writer(fileStream, imagesReader.Resources) { OutputDirectory = outputDirectory, }; writer.Write(descriptor); fileStream.Flush(); } } catch (Exception e) { Logger.Fatal(e); File.Delete(outputFileName); } }
public AlignmentSideCommand() { base.Aliases = new string[] { "side" }; base.RequiredRole = RoleEnum.Moderator; base.ParentCommand = typeof(AlignmentCommands); base.Description = "Set the alignement side of the given target"; base.AddParameter <AlignmentSideEnum>("side", "s", "Alignement side", AlignmentSideEnum.ALIGNMENT_NEUTRAL, false, ParametersConverter.GetEnumConverter <AlignmentSideEnum>()); base.AddTargetParameter(true, "Defined target"); }
public MonsterSpawnCommand() { Aliases = new[] { "spawn" }; RequiredRole = RoleEnum.Administrator; Description = "Spawn a monster on the current location"; ParentCommandType = typeof(MonsterCommands); AddParameter("monster", "m", "Monster template Id", converter: ParametersConverter.MonsterTemplateConverter); AddParameter <sbyte>("grade", "g", "Monster grade", isOptional: true); AddParameter <sbyte>("id", "id", "Monster group id", isOptional: true); AddParameter("map", "map", "Map id", isOptional: true, converter: ParametersConverter.MapConverter); AddParameter <short>("cell", "cell", "Cell id", isOptional: true); AddParameter("direction", "dir", "Direction", isOptional: true, converter: ParametersConverter.GetEnumConverter <DirectionsEnum>()); }