public override void Create(UTinyEntityView view, SpriteRenderer spriteRenderer) { var sr = new UTinyObject(Registry, GetMainTinyType()); SyncRenderer(spriteRenderer, sr); UTinyObject srt = null; if (spriteRenderer.drawMode != SpriteDrawMode.Simple) { srt = new UTinyObject(Registry, Registry.GetSprite2DRendererOptionsType()); SyncRendererOptions(spriteRenderer, srt); } var entity = view.EntityRef.Dereference(Registry); var sprite2DRenderer = entity.GetOrAddComponent(GetMainTinyType()); sprite2DRenderer.CopyFrom(sr); BindingsHelper.RunBindings(entity, sprite2DRenderer); if (null != srt) { var rendererOptions = entity.GetOrAddComponent(Registry.GetSprite2DRendererOptionsType()); rendererOptions.CopyFrom(srt); BindingsHelper.RunBindings(entity, rendererOptions); } }
public sealed override void Create(UTinyEntityView view, Transform t) { UTinyEntity.Reference parentRef = UTinyEntity.Reference.None; if (t.parent) { parentRef = t.parent.GetComponent <UTinyEntityView>()?.EntityRef ?? UTinyEntity.Reference.None; } var graph = EntityGroupManager.GetSceneGraph( parentRef.Equals(UTinyEntity.Reference.None) ? EntityGroupManager.ActiveEntityGroup : (UTinyEntityGroup.Reference)parentRef.Dereference(Registry).EntityGroup); if (null == graph) { return; } var transform = new UTinyObject(Registry, GetMainTinyType()); SyncTransform(t, transform); var entityNode = graph.CreateFromExisting(t, t.parent); var entity = entityNode.Entity.Dereference(Registry); var tiny = entity.GetOrAddComponent(GetMainTinyType()); tiny.CopyFrom(transform); BindingsHelper.RunBindings(entity, tiny); }
private static void UpdateMeshes() { var repaint = false; var context = UTinyEditorApplication.EditorContext; if (null == context) { return; } // We want to make sure that all the renderers are "ordered" by hierarchy oder. var currentQueue = 3000; var scene = UTinyEditorApplication.EntityGroupManager.UnityScratchPad; if (scene.isLoaded && scene.IsValid()) { foreach (var go in scene.GetRootGameObjects()) { foreach (var renderer in go.GetComponentsInChildren <Renderer>()) { var r = currentQueue; if (renderer.gameObject.GetComponent <TextMesh>()) { r += 2000; } repaint |= renderer.sharedMaterial.renderQueue != r; renderer.sharedMaterial.renderQueue = r; currentQueue++; var view = go.GetComponent <UTinyEntityView>(); if (!view) { continue; } var entity = view.EntityRef.Dereference(context.Registry); if (null != entity) { entity.View = view; // Update mesh information. BindingsHelper.RunBindings(entity, entity.GetComponent(context.Registry.GetSprite2DRendererType())); } } } } if (repaint) { SceneView.RepaintAll(); } }
public override void Create(UTinyEntityView view, Camera @from) { var camera = new UTinyObject(Registry, GetMainTinyType()); SyncCamera(from, camera); var entity = view.EntityRef.Dereference(Registry); var tiny = entity.GetOrAddComponent(GetMainTinyType()); tiny.CopyFrom(camera); BindingsHelper.RunBindings(entity, tiny); }
public override void Create(UTinyEntityView view, BoxCollider2D from) { var collider = new UTinyObject(Registry, GetMainTinyType()); SyncBoxCollider2D(from, collider); var entity = view.EntityRef.Dereference(Registry); var rectCollider = entity.GetOrAddComponent(GetMainTinyType()); rectCollider.CopyFrom(collider); BindingsHelper.RunBindings(entity, rectCollider); }
public override void Create(UTinyEntityView view, TextMesh from) { var tr = new UTinyObject(Registry, GetMainTinyType()); SyncTextMesh(from, tr); var entity = view.EntityRef.Dereference(Registry); var textRenderer = entity.GetOrAddComponent(GetMainTinyType()); textRenderer.CopyFrom(tr); BindingsHelper.RunBindings(entity, textRenderer); }