/// <param name="primFactory">The factory that will be used to interact with the world.</param> public MRMPrimCached(IMRMPrimFactory primFactory, string name, Vector3 pos = default(Vector3), Color colour = default(Color), Vector3 scale = default(Vector3), PrimType shape = PrimType.Unknown, Quaternion rotation = default(Quaternion)) { _exists = true; _factory = primFactory; _name = name; _colour = colour.Equals(default(Color)) ? Color.White : colour; _defaultColour = colour.Equals(default(Color)) ? Color.White : colour; _pos = pos.Equals(default(Vector3)) ? new Vector3(125f, 125f, 25f) : pos; _scale = scale.Equals(default(Vector3)) ? new Vector3(.5f, .5f, .5f) : scale; _shape = shape == PrimType.Unknown ? PrimType.Box : shape; _rotation = rotation == default(Quaternion) ? Quaternion.Identity : rotation; _description = ""; _touchText = ""; _glow = 0d; //Create the primitive in world _obj = primFactory.RegisterPrim(this, Update); _id = _obj.GlobalID; Editable = true; //Set up the primitive with the given values if (!InWorld) { throw new Exception("Primitive was not created correctly in world."); } UpdateNotEditable(); }
public MRMPrimCached(UUID id, IMRMPrimFactory primFactory) { _exists = true; _id = id; _obj = primFactory.RegisterPrim(this, id); _exists = _obj.Exists; _factory = primFactory; Editable = true; //Set up the primitive with the given values UpdateEditable(); }