protected override void OnUpdate() { for (int i = 0; i < FollowEntities.Length; i++) { Transform trans = FollowEntities.Transforms[i]; FollowComponent fc = FollowEntities.FollowComponents[i]; VelocityComponent vc = FollowEntities.VelocityComponents[i]; Vector3 direction = trans.InverseTransformDirection(fc.followTrans.position - trans.position); if (direction.magnitude < fc.stopDistance) { vc.inputX = Mathf.Lerp(vc.inputX, 0, Time.deltaTime * 3); vc.inputY = Mathf.Lerp(vc.inputY, 0, Time.deltaTime * 3); } else { direction.Normalize(); vc.inputX = Mathf.Lerp(vc.inputX, direction.x, Time.deltaTime * 3); vc.inputY = Mathf.Lerp(vc.inputY, direction.z, Time.deltaTime * 3); } } for (int i = 0; i < LookAtEntities.Length; i++) { Transform trans = LookAtEntities.Transforms[i]; LookAtComponent lookAt = LookAtEntities.LookAtComponents[i]; HeadingComponent heading = LookAtEntities.HeadingComponents[i]; Vector3 direction = lookAt.lookTrans.position - trans.position; trans.rotation = Quaternion.Lerp(trans.rotation, Quaternion.LookRotation(direction), Time.deltaTime * heading.angularSpeed); } }
protected override void OnUpdate() { for (int i = 0; i < HeadingEntities.Length; i++) { Transform trans = HeadingEntities.Transforms[i]; HeadingComponent heading = HeadingEntities.HeadingComponents[i]; trans.Rotate(new Vector3(0, heading.lookX, 0) * heading.angularSpeed * Time.deltaTime, Space.World); } }
private static LanguageVariant GetNewTransferLanguageVariant(CreateTransferItemParameters createTransferItemParameters) { var(_, customer, fields) = createTransferItemParameters; var variant = new LanguageVariant { Elements = { new CustomElement { Element = new Reference { Codename = "info" }, Value = CoreHelper.Serialize(new { customer }) }, new RichTextElement { Element = new Reference { Codename = "fields" } } } }; if (variant.Elements[1] is RichTextElement richTextElement) { var fieldHtmlBuilder = new StringBuilder(); if (fields != default) { foreach (var field in fields) { AbstractComponent?component = default; switch (field.Type) { case Field.heading: component = new HeadingComponent(field); break; case Field.write_text: component = new WriteTextComponent(field); break; case Field.upload_file: component = new UploadFileComponent(field); break; case Field.download_asset: component = new DownloadAssetComponent(field); break; } if (component != default) { fieldHtmlBuilder.Append($"<object type=\"application/kenticocloud\" data-type=\"component\" data-id=\"{component.Id}\"></object>"); richTextElement.Components.Add(component); } } } fieldHtmlBuilder.Append("<p><br/></p>"); richTextElement.Value = fieldHtmlBuilder.ToString(); } return(variant); }