Exemple #1
0
        private void drawOnMap(IHasNode hasNode, Color4 color4, float size)
        {
            var localPos = Vector3.TransformCoordinate(hasNode.Node.Position,
                                                       Matrix.Invert(level.LocalPlayer.Node.Absolute));

            var rel = localPos.TakeXZ();

            rel /= mapViewRange;
            rel  = (rel + new Vector2(1)) * 0.5f; // 0-1 range
            var pos = mapPos + Vector2.Modulate(mapSize, rel);

            pos -= new Vector2(size * 0.5f);
            TW.Graphics.TextureRenderer.DrawColor(color4, pos, new Vector2(size));
        }
        public static IDisposable AllowEdits <TSyntax>(params IHasSyntax <TSyntax>[] editableObjects)
            where TSyntax : class
        {
            foreach (IHasSyntax <TSyntax> editableObject in editableObjects)
            {
                IHasNode <TSyntax> node = editableObject as IHasNode <TSyntax>;
                if (node == null)
                {
                    throw new InvalidOperationException(editableObject.GetType().FullName + " is not set up for edits.");
                }

                editedNodes.Add(node.Node);
            }

            return(new DisposableValue());
        }