Пример #1
0
        protected override IControlLink MakeLink(UUID from, UUID to, Parameters parameters, float weight = default(float), bool bidirectional = true)
        {
            Logger.Debug("Creating link between '" + GetNode(from).Name + "' and '" + GetNode(to).Name + "'.");
            UUID         creator = parameters.Get <UUID>(Control.OwnerID);
            ILink        l       = Model.AddLink(from, to, parameters, weight, bidirectional);
            IControlLink link    = new SandboxControlLink(l, GetNode(from), GetNode(to), this, _tableFactory, Factory, Permissions);

            Logger.Debug("Created  '" + link.Name + "'.");
            return(Record.MakeMapped <IControlLink>(link));
        }
Пример #2
0
        public ModifyLinks(IButton button, SandboxControl control, IPrimFactory factory)
            : base(button)
        {
            _control = control;
            _dialog  = new Dialog(button.Prims.Count() > 0 ? button.Prims.First() : factory.Host, factory, SandboxControlLink.UNIT, SandboxControlLink.LENGTH, SandboxControlLink.RANDOM, Dialog.CANCEL);
            _dialog.ResponseReceived += (name, id, text, chat) => {
                switch (text)
                {
                case SandboxControlLink.UNIT:
                    SandboxControlLink.SetType(name, id, ControlLink.LinkType.Unit, _control, GetParameters(id));
                    break;

                case SandboxControlLink.RANDOM:
                    SandboxControlLink.SetType(name, id, ControlLink.LinkType.Random, _control, GetParameters(id));
                    break;

                case SandboxControlLink.LENGTH:
                    SandboxControlLink.SetType(name, id, ControlLink.LinkType.Length, _control, GetParameters(id));
                    break;
                }
            };
        }