123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014 |
- /*
- * Copyright (c) Contributors, http://opensimulator.org/
- * See CONTRIBUTORS.TXT for a full list of copyright holders.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of the OpenSim Project nor the
- * names of its contributors may be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
- using System;
- using System.IO;
- using System.Reflection;
- using libsecondlife;
- using log4net;
- namespace OpenSim.Framework
- {
- public class EstateSettings
- {
- private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
- private ConfigurationMember configMember;
- //Settings to this island
- private float m_billableFactor;
- private uint m_estateID;
- private LLUUID m_estateManager0;
- private LLUUID m_estateManager1;
- private LLUUID m_estateManager2;
- private LLUUID m_estateManager3;
- private LLUUID m_estateManager4;
- private LLUUID m_estateManager5;
- private LLUUID m_estateManager6;
- private LLUUID m_estateManager7;
- private LLUUID m_estateManager8;
- private LLUUID m_estateManager9;
- private string m_estateName;
- private byte m_maxAgents;
- private float m_objectBonusFactor;
- private uint m_parentEstateID;
- private int m_pricePerMeter;
- private int m_redirectGridX;
- private int m_redirectGridY;
- private bool m_regionAllowTerraform;
- private Simulator.RegionFlags m_regionFlags;
- private ushort m_regionWaterHeight;
- private Simulator.SimAccess m_simAccess;
- private float m_sunHour;
- private LLVector3 m_sunPosition;
- private LLUUID m_terrainBase0;
- private LLUUID m_terrainBase1;
- private LLUUID m_terrainBase2;
- private LLUUID m_terrainBase3;
- private LLUUID m_terrainDetail0;
- private LLUUID m_terrainDetail1;
- private LLUUID m_terrainDetail2;
- private LLUUID m_terrainDetail3;
- private string m_terrainFile;
- private float m_terrainHeightRange0;
- private float m_terrainHeightRange1;
- private float m_terrainHeightRange2;
- private float m_terrainHeightRange3;
- private LLUUID m_terrainImageID;
- private float m_terrainLowerLimit;
- private double m_terrainMultiplier;
- private float m_terrainRaiseLimit;
- private float m_terrainStartHeight0;
- private float m_terrainStartHeight1;
- private float m_terrainStartHeight2;
- private float m_terrainStartHeight3;
- private bool m_useFixedSun;
- private float m_waterHeight;
- public EstateSettings()
- {
- // Temporary hack to prevent multiple loadings.
- if (configMember == null)
- {
- configMember =
- new ConfigurationMember(Path.Combine(Util.configDir(), "estate_settings.xml"), "ESTATE SETTINGS",
- loadConfigurationOptions, handleIncomingConfiguration, true);
- configMember.performConfigurationRetrieve();
- }
- }
- public float billableFactor
- {
- get { return m_billableFactor; }
- set
- {
- m_billableFactor = value;
- configMember.forceSetConfigurationOption("billable_factor", m_billableFactor.ToString());
- }
- }
- public uint estateID
- {
- get { return m_estateID; }
- set
- {
- m_estateID = value;
- configMember.forceSetConfigurationOption("estate_id", m_estateID.ToString());
- }
- }
- public uint parentEstateID
- {
- get { return m_parentEstateID; }
- set
- {
- m_parentEstateID = value;
- configMember.forceSetConfigurationOption("parent_estate_id", m_parentEstateID.ToString());
- }
- }
- public byte maxAgents
- {
- get { return m_maxAgents; }
- set
- {
- m_maxAgents = value;
- configMember.forceSetConfigurationOption("max_agents", m_maxAgents.ToString());
- }
- }
- public float objectBonusFactor
- {
- get { return m_objectBonusFactor; }
- set
- {
- m_objectBonusFactor = value;
- configMember.forceSetConfigurationOption("object_bonus_factor", m_objectBonusFactor.ToString());
- }
- }
- public int redirectGridX
- {
- get { return m_redirectGridX; }
- set
- {
- m_redirectGridX = value;
- configMember.forceSetConfigurationOption("redirect_grid_x", m_redirectGridX.ToString());
- }
- }
- public int redirectGridY
- {
- get { return m_redirectGridY; }
- set
- {
- m_redirectGridY = value;
- configMember.forceSetConfigurationOption("redirect_grid_y", m_redirectGridY.ToString());
- }
- }
- public Simulator.RegionFlags regionFlags
- {
- get { return m_regionFlags; }
- set
- {
- //m_regionFlags = (Simulator.RegionFlags)0x400000;
- m_regionFlags = value;
- configMember.forceSetConfigurationOption("region_flags", ((uint) m_regionFlags).ToString());
- }
- }
- public Simulator.SimAccess simAccess
- {
- get { return m_simAccess; }
- set
- {
- m_simAccess = value;
- configMember.forceSetConfigurationOption("sim_access", ((byte) m_simAccess).ToString());
- }
- }
- public float sunHour
- {
- get { return m_sunHour; }
- set
- {
- m_sunHour = value;
- configMember.forceSetConfigurationOption("sun_hour", m_sunHour.ToString());
- }
- }
- public LLVector3 sunPosition
- {
- get { return m_sunPosition; }
- set
- {
- //Just set - does not need to be written to settings file
- m_sunPosition = value;
- }
- }
- public float terrainRaiseLimit
- {
- get { return m_terrainRaiseLimit; }
- set
- {
- m_terrainRaiseLimit = value;
- configMember.forceSetConfigurationOption("terrain_raise_limit", m_terrainRaiseLimit.ToString());
- }
- }
- public float terrainLowerLimit
- {
- get { return m_terrainLowerLimit; }
- set
- {
- m_terrainLowerLimit = value;
- configMember.forceSetConfigurationOption("terrain_lower_limit", m_terrainLowerLimit.ToString());
- }
- }
- public bool useFixedSun
- {
- get { return m_useFixedSun; }
- set
- {
- m_useFixedSun = value;
- configMember.forceSetConfigurationOption("use_fixed_sun", m_useFixedSun.ToString());
- }
- }
- public int pricePerMeter
- {
- get { return m_pricePerMeter; }
- set
- {
- m_pricePerMeter = value;
- configMember.forceSetConfigurationOption("price_per_meter", m_pricePerMeter.ToString());
- }
- }
- public ushort regionWaterHeight
- {
- get { return m_regionWaterHeight; }
- set
- {
- m_regionWaterHeight = value;
- configMember.forceSetConfigurationOption("region_water_height", m_regionWaterHeight.ToString());
- }
- }
- public bool regionAllowTerraform
- {
- get { return m_regionAllowTerraform; }
- set
- {
- m_regionAllowTerraform = value;
- configMember.forceSetConfigurationOption("region_allow_terraform", m_regionAllowTerraform.ToString());
- }
- }
- // Region Information
- // Low resolution 'base' textures. No longer used.
- public LLUUID terrainBase0
- {
- get { return m_terrainBase0; }
- set
- {
- m_terrainBase0 = value;
- configMember.forceSetConfigurationOption("terrain_base_0", m_terrainBase0.ToString());
- }
- }
- public LLUUID terrainBase1
- {
- get { return m_terrainBase1; }
- set
- {
- m_terrainBase1 = value;
- configMember.forceSetConfigurationOption("terrain_base_1", m_terrainBase1.ToString());
- }
- }
- public LLUUID terrainBase2
- {
- get { return m_terrainBase2; }
- set
- {
- m_terrainBase2 = value;
- configMember.forceSetConfigurationOption("terrain_base_2", m_terrainBase2.ToString());
- }
- }
- public LLUUID terrainBase3
- {
- get { return m_terrainBase3; }
- set
- {
- m_terrainBase3 = value;
- configMember.forceSetConfigurationOption("terrain_base_3", m_terrainBase3.ToString());
- }
- }
- // Higher resolution terrain textures
- public LLUUID terrainDetail0
- {
- get { return m_terrainDetail0; }
- set
- {
- m_terrainDetail0 = value;
- configMember.forceSetConfigurationOption("terrain_detail_0", m_terrainDetail0.ToString());
- }
- }
- public LLUUID terrainDetail1
- {
- get { return m_terrainDetail1; }
- set
- {
- m_terrainDetail1 = value;
- configMember.forceSetConfigurationOption("terrain_detail_1", m_terrainDetail1.ToString());
- }
- }
- public LLUUID terrainDetail2
- {
- get { return m_terrainDetail2; }
- set
- {
- m_terrainDetail2 = value;
- configMember.forceSetConfigurationOption("terrain_detail_2", m_terrainDetail2.ToString());
- }
- }
- public LLUUID terrainDetail3
- {
- get { return m_terrainDetail3; }
- set
- {
- m_terrainDetail3 = value;
- configMember.forceSetConfigurationOption("terrain_detail_3", m_terrainDetail3.ToString());
- }
- }
- // First quad - each point is bilinearly interpolated at each meter of terrain
- public float terrainStartHeight0
- {
- get { return m_terrainStartHeight0; }
- set
- {
- m_terrainStartHeight0 = value;
- configMember.forceSetConfigurationOption("terrain_start_height_0", m_terrainStartHeight0.ToString());
- }
- }
- public float terrainStartHeight1
- {
- get { return m_terrainStartHeight1; }
- set
- {
- m_terrainStartHeight1 = value;
- configMember.forceSetConfigurationOption("terrain_start_height_1", m_terrainStartHeight1.ToString());
- }
- }
- public float terrainStartHeight2
- {
- get { return m_terrainStartHeight2; }
- set
- {
- m_terrainStartHeight2 = value;
- configMember.forceSetConfigurationOption("terrain_start_height_2", m_terrainStartHeight2.ToString());
- }
- }
- public float terrainStartHeight3
- {
- get { return m_terrainStartHeight3; }
- set
- {
- m_terrainStartHeight3 = value;
- configMember.forceSetConfigurationOption("terrain_start_height_3", m_terrainStartHeight3.ToString());
- }
- }
- // Second quad - also bilinearly interpolated.
- // Terrain texturing is done that:
- // 0..3 (0 = base0, 3 = base3) = (terrain[x,y] - start[x,y]) / range[x,y]
- public float terrainHeightRange0
- {
- get { return m_terrainHeightRange0; }
- set
- {
- m_terrainHeightRange0 = value;
- configMember.forceSetConfigurationOption("terrain_height_range_0", m_terrainHeightRange0.ToString());
- }
- }
- public float terrainHeightRange1
- {
- get { return m_terrainHeightRange1; }
- set
- {
- m_terrainHeightRange1 = value;
- configMember.forceSetConfigurationOption("terrain_height_range_1", m_terrainHeightRange1.ToString());
- }
- }
- public float terrainHeightRange2
- {
- get { return m_terrainHeightRange2; }
- set
- {
- m_terrainHeightRange2 = value;
- configMember.forceSetConfigurationOption("terrain_height_range_2", m_terrainHeightRange2.ToString());
- }
- }
- public float terrainHeightRange3
- {
- get { return m_terrainHeightRange3; }
- set
- {
- m_terrainHeightRange3 = value;
- configMember.forceSetConfigurationOption("terrain_height_range_3", m_terrainHeightRange3.ToString());
- }
- }
- // Terrain Default (Must be in F32 Format!)
- public string terrainFile
- {
- get { return m_terrainFile; }
- set
- {
- m_terrainFile = value;
- configMember.forceSetConfigurationOption("terrain_file", m_terrainFile.ToString());
- }
- }
- public double terrainMultiplier
- {
- get { return m_terrainMultiplier; }
- set
- {
- m_terrainMultiplier = value;
- configMember.forceSetConfigurationOption("terrain_multiplier", m_terrainMultiplier.ToString());
- }
- }
- public float waterHeight
- {
- get { return m_waterHeight; }
- set
- {
- m_waterHeight = value;
- configMember.forceSetConfigurationOption("water_height", m_waterHeight.ToString());
- }
- }
- public LLUUID terrainImageID
- {
- get { return m_terrainImageID; }
- set
- {
- m_terrainImageID = value;
- // I don't think there is a reason that this actually
- // needs to be written back to the estate settings
- // file.
- // configMember.forceSetConfigurationOption("terrain_image_id", m_terrainImageID.ToString());
- }
- }
- // Estate name
- public string estateName
- {
- get { return m_estateName; }
- set
- {
- m_estateName = value;
- configMember.forceSetConfigurationOption("estate_name", m_estateName.ToString());
- }
- }
- public LLUUID[] estateManagers
- {
- get
- {
- // returns a condensed array of LLUUIDs
- return GetEstateManagers();
- }
- set
- {
- // Sets a Condensed array of LLUUIDS
- int i = 0;
- for (i = 0; i < value.Length; i++)
- {
- switch (i)
- {
- case 0:
- m_estateManager0 = value[i];
- break;
- case 1:
- m_estateManager1 = value[i];
- break;
- case 2:
- m_estateManager2 = value[i];
- break;
- case 3:
- m_estateManager3 = value[i];
- break;
- case 4:
- m_estateManager4 = value[i];
- break;
- case 5:
- m_estateManager5 = value[i];
- break;
- case 6:
- m_estateManager6 = value[i];
- break;
- case 7:
- m_estateManager7 = value[i];
- break;
- case 8:
- m_estateManager8 = value[i];
- break;
- case 9:
- m_estateManager9 = value[i];
- break;
- }
- }
- // Clear the rest of them.. as they're no longer valid
- for (int j = i; j < 10; j++)
- {
- switch (j)
- {
- case 0:
- m_estateManager0 = LLUUID.Zero;
- break;
- case 1:
- m_estateManager1 = LLUUID.Zero;
- break;
- case 2:
- m_estateManager2 = LLUUID.Zero;
- break;
- case 3:
- m_estateManager3 = LLUUID.Zero;
- break;
- case 4:
- m_estateManager4 = LLUUID.Zero;
- break;
- case 5:
- m_estateManager5 = LLUUID.Zero;
- break;
- case 6:
- m_estateManager6 = LLUUID.Zero;
- break;
- case 7:
- m_estateManager7 = LLUUID.Zero;
- break;
- case 8:
- m_estateManager8 = LLUUID.Zero;
- break;
- case 9:
- m_estateManager9 = LLUUID.Zero;
- break;
- }
- }
- for (i = 0; i < 10; i++)
- {
- // Writes out the Estate managers to the XML file.
- configMember.forceSetConfigurationOption("estate_manager_" + i, (GetEstateManagerAtPos(i)).ToString());
- }
- }
- }
- #region EstateManager Get Methods to sort out skipped spots in the XML (suser error)
- private LLUUID GetEstateManagerAtPos(int pos)
- {
- // This is a helper for writing them out to the xml file
- switch (pos)
- {
- case 0:
- return m_estateManager0;
- case 1:
- return m_estateManager1;
- case 2:
- return m_estateManager2;
- case 3:
- return m_estateManager3;
- case 4:
- return m_estateManager4;
- case 5:
- return m_estateManager5;
- case 6:
- return m_estateManager6;
- case 7:
- return m_estateManager7;
- case 8:
- return m_estateManager8;
- case 9:
- return m_estateManager9;
- default:
- return LLUUID.Zero;
- }
- }
- private LLUUID[] GetEstateManagers()
- {
- int numEstateManagers = GetNumberOfEstateManagers();
- LLUUID[] rEstateManagers = new LLUUID[numEstateManagers];
- int pos = 0;
- for (int i = 0; i < numEstateManagers; i++)
- {
- pos = GetNextEstateManager(pos);
- rEstateManagers[i] = GetEstateManagerAtPos(pos);
- pos++;
- }
- return rEstateManagers;
- }
- private int GetNextEstateManager(int startpos)
- {
- // This is a utility function that skips over estate managers set to LLUUID.Zero
- int i = startpos;
- for (i = startpos; i < 10; i++)
- {
- if (GetEstateManagerAtPos(i) != LLUUID.Zero) return i;
- }
- return i;
- }
- private int GetNumberOfEstateManagers()
- {
- // This function returns the number of estate managers set
- // Regardless of whether there is a skipped spot
- int numEstateManagers = 0;
- if (m_estateManager0 != LLUUID.Zero) numEstateManagers++;
- if (m_estateManager1 != LLUUID.Zero) numEstateManagers++;
- if (m_estateManager2 != LLUUID.Zero) numEstateManagers++;
- if (m_estateManager3 != LLUUID.Zero) numEstateManagers++;
- if (m_estateManager4 != LLUUID.Zero) numEstateManagers++;
- if (m_estateManager5 != LLUUID.Zero) numEstateManagers++;
- if (m_estateManager6 != LLUUID.Zero) numEstateManagers++;
- if (m_estateManager7 != LLUUID.Zero) numEstateManagers++;
- if (m_estateManager8 != LLUUID.Zero) numEstateManagers++;
- if (m_estateManager9 != LLUUID.Zero) numEstateManagers++;
- return numEstateManagers;
- }
- public void AddEstateManager(LLUUID avatarID)
- {
- LLUUID[] testateManagers = GetEstateManagers();
- LLUUID[] nestateManagers = new LLUUID[testateManagers.Length + 1];
- int i = 0;
- for (i = 0; i < testateManagers.Length; i++)
- {
- nestateManagers[i] = testateManagers[i];
- }
- nestateManagers[i] = avatarID;
- //Saves it to the estate settings file
- estateManagers = nestateManagers;
- }
- public void RemoveEstateManager(LLUUID avatarID)
- {
- int notfoundparam = 11; // starting high so the condense routine (max ten) doesn't run if we don't find it.
- LLUUID[] testateManagers = GetEstateManagers(); // temporary estate managers list
- int i = 0;
- int foundpos = notfoundparam;
- // search for estate manager.
- for (i = 0; i < testateManagers.Length; i++)
- {
- if (testateManagers[i] == avatarID)
- {
- foundpos = i;
- break;
- }
- }
- if (foundpos < notfoundparam)
- {
- LLUUID[] restateManagers = new LLUUID[testateManagers.Length - 1];
- // fill new estate managers array up to the found spot
- for (int j = 0; j < foundpos; j++)
- restateManagers[j] = testateManagers[j];
- // skip over the estate manager we're removing and compress
- for (int j = foundpos + 1; j < testateManagers.Length; j++)
- restateManagers[j - 1] = testateManagers[j];
- estateManagers = restateManagers;
- }
- else
- {
- m_log.Error("[ESTATESETTINGS]: Unable to locate estate manager : " + avatarID.ToString() + " for removal");
- }
- }
- #endregion
- public void loadConfigurationOptions()
- {
- configMember.addConfigurationOption("billable_factor", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, String.Empty,
- "0.0", true);
- configMember.addConfigurationOption("estate_id", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, String.Empty, "100",
- true);
- configMember.addConfigurationOption("parent_estate_id", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
- String.Empty, "1", true);
- configMember.addConfigurationOption("max_agents", ConfigurationOption.ConfigurationTypes.TYPE_BYTE, String.Empty, "40",
- true);
- configMember.addConfigurationOption("object_bonus_factor", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT,
- String.Empty, "1.0", true);
- configMember.addConfigurationOption("redirect_grid_x", ConfigurationOption.ConfigurationTypes.TYPE_INT32, String.Empty,
- "0", true);
- configMember.addConfigurationOption("redirect_grid_y", ConfigurationOption.ConfigurationTypes.TYPE_INT32, String.Empty,
- "0", true);
- configMember.addConfigurationOption("region_flags", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, String.Empty,
- "336723974", true); //Taken from a Linden sim for the moment.
- configMember.addConfigurationOption("sim_access", ConfigurationOption.ConfigurationTypes.TYPE_BYTE, String.Empty, "21",
- true);
- configMember.addConfigurationOption("sun_hour", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, String.Empty, "0",
- true);
- configMember.addConfigurationOption("terrain_raise_limit", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT,
- String.Empty, "0", true);
- configMember.addConfigurationOption("terrain_lower_limit", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT,
- String.Empty, "0", true);
- configMember.addConfigurationOption("use_fixed_sun", ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, String.Empty,
- "false", true);
- configMember.addConfigurationOption("price_per_meter", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
- String.Empty, "1", true);
- configMember.addConfigurationOption("region_water_height",
- ConfigurationOption.ConfigurationTypes.TYPE_UINT16, String.Empty, "20", true);
- configMember.addConfigurationOption("region_allow_terraform",
- ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, String.Empty, "true", true);
- configMember.addConfigurationOption("terrain_base_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, String.Empty,
- "b8d3965a-ad78-bf43-699b-bff8eca6c975", true);
- configMember.addConfigurationOption("terrain_base_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, String.Empty,
- "abb783e6-3e93-26c0-248a-247666855da3", true);
- configMember.addConfigurationOption("terrain_base_2", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, String.Empty,
- "179cdabd-398a-9b6b-1391-4dc333ba321f", true);
- configMember.addConfigurationOption("terrain_base_3", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, String.Empty,
- "beb169c7-11ea-fff2-efe5-0f24dc881df2", true);
- configMember.addConfigurationOption("terrain_detail_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- String.Empty, "00000000-0000-0000-0000-000000000000", true);
- configMember.addConfigurationOption("terrain_detail_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- String.Empty, "00000000-0000-0000-0000-000000000000", true);
- configMember.addConfigurationOption("terrain_detail_2", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- String.Empty, "00000000-0000-0000-0000-000000000000", true);
- configMember.addConfigurationOption("terrain_detail_3", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- String.Empty, "00000000-0000-0000-0000-000000000000", true);
- configMember.addConfigurationOption("terrain_start_height_0",
- ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, String.Empty, "10.0", true);
- configMember.addConfigurationOption("terrain_start_height_1",
- ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, String.Empty, "10.0", true);
- configMember.addConfigurationOption("terrain_start_height_2",
- ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, String.Empty, "10.0", true);
- configMember.addConfigurationOption("terrain_start_height_3",
- ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, String.Empty, "10.0", true);
- configMember.addConfigurationOption("terrain_height_range_0",
- ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, String.Empty, "60.0", true);
- configMember.addConfigurationOption("terrain_height_range_1",
- ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, String.Empty, "60.0", true);
- configMember.addConfigurationOption("terrain_height_range_2",
- ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, String.Empty, "60.0", true);
- configMember.addConfigurationOption("terrain_height_range_3",
- ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, String.Empty, "60.0", true);
- configMember.addConfigurationOption("terrain_file",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, String.Empty,
- "default.r32", true);
- configMember.addConfigurationOption("terrain_multiplier", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT,
- String.Empty, "60.0", true);
- configMember.addConfigurationOption("water_height", ConfigurationOption.ConfigurationTypes.TYPE_DOUBLE, String.Empty,
- "20.0", true);
- configMember.addConfigurationOption("terrain_image_id", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- String.Empty, "00000000-0000-0000-0000-000000000000", true);
- configMember.addConfigurationOption("estate_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- String.Empty, "TestEstate", true);
- configMember.addConfigurationOption("estate_manager_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- String.Empty, "00000000-0000-0000-0000-000000000000", true);
- configMember.addConfigurationOption("estate_manager_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- String.Empty, "00000000-0000-0000-0000-000000000000", true);
- configMember.addConfigurationOption("estate_manager_2", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- String.Empty, "00000000-0000-0000-0000-000000000000", true);
- configMember.addConfigurationOption("estate_manager_3", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- String.Empty, "00000000-0000-0000-0000-000000000000", true);
- configMember.addConfigurationOption("estate_manager_4", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- String.Empty, "00000000-0000-0000-0000-000000000000", true);
- configMember.addConfigurationOption("estate_manager_5", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- String.Empty, "00000000-0000-0000-0000-000000000000", true);
- configMember.addConfigurationOption("estate_manager_6", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- String.Empty, "00000000-0000-0000-0000-000000000000", true);
- configMember.addConfigurationOption("estate_manager_7", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- String.Empty, "00000000-0000-0000-0000-000000000000", true);
- configMember.addConfigurationOption("estate_manager_8", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- String.Empty, "00000000-0000-0000-0000-000000000000", true);
- configMember.addConfigurationOption("estate_manager_9", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- String.Empty, "00000000-0000-0000-0000-000000000000", true);
- }
- public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
- {
- switch (configuration_key)
- {
- case "billable_factor":
- m_billableFactor = (float) configuration_result;
- break;
- case "estate_id":
- m_estateID = (uint) configuration_result;
- break;
- case "parent_estate_id":
- m_parentEstateID = (uint) configuration_result;
- break;
- case "max_agents":
- m_maxAgents = (byte) configuration_result;
- break;
- case "object_bonus_factor":
- m_objectBonusFactor = (float) configuration_result;
- break;
- case "redirect_grid_x":
- m_redirectGridX = (int) configuration_result;
- break;
- case "redirect_grid_y":
- m_redirectGridY = (int) configuration_result;
- break;
- case "region_flags":
- m_regionFlags = (Simulator.RegionFlags) ((uint) configuration_result);
- break;
- case "sim_access":
- m_simAccess = (Simulator.SimAccess) ((byte) configuration_result);
- break;
- case "sun_hour":
- m_sunHour = (float) configuration_result;
- break;
- case "terrain_raise_limit":
- m_terrainRaiseLimit = (float) configuration_result;
- break;
- case "terrain_lower_limit":
- m_terrainLowerLimit = (float) configuration_result;
- break;
- case "use_fixed_sun":
- m_useFixedSun = (bool) configuration_result;
- break;
- case "price_per_meter":
- m_pricePerMeter = Convert.ToInt32(configuration_result);
- break;
- case "region_water_height":
- m_regionWaterHeight = (ushort) configuration_result;
- break;
- case "region_allow_terraform":
- m_regionAllowTerraform = (bool) configuration_result;
- break;
- case "terrain_base_0":
- m_terrainBase0 = (LLUUID) configuration_result;
- break;
- case "terrain_base_1":
- m_terrainBase1 = (LLUUID) configuration_result;
- break;
- case "terrain_base_2":
- m_terrainBase2 = (LLUUID) configuration_result;
- break;
- case "terrain_base_3":
- m_terrainBase3 = (LLUUID) configuration_result;
- break;
- case "terrain_detail_0":
- m_terrainDetail0 = (LLUUID) configuration_result;
- break;
- case "terrain_detail_1":
- m_terrainDetail1 = (LLUUID) configuration_result;
- break;
- case "terrain_detail_2":
- m_terrainDetail2 = (LLUUID) configuration_result;
- break;
- case "terrain_detail_3":
- m_terrainDetail3 = (LLUUID) configuration_result;
- break;
- case "terrain_start_height_0":
- m_terrainStartHeight0 = (float) configuration_result;
- break;
- case "terrain_start_height_1":
- m_terrainStartHeight1 = (float) configuration_result;
- break;
- case "terrain_start_height_2":
- m_terrainStartHeight2 = (float) configuration_result;
- break;
- case "terrain_start_height_3":
- m_terrainStartHeight3 = (float) configuration_result;
- break;
- case "terrain_height_range_0":
- m_terrainHeightRange0 = (float) configuration_result;
- break;
- case "terrain_height_range_1":
- m_terrainHeightRange1 = (float) configuration_result;
- break;
- case "terrain_height_range_2":
- m_terrainHeightRange2 = (float) configuration_result;
- break;
- case "terrain_height_range_3":
- m_terrainHeightRange3 = (float) configuration_result;
- break;
- case "terrain_file":
- m_terrainFile = (string) configuration_result;
- break;
- case "estate_name":
- m_estateName = (string) configuration_result;
- break;
- case "terrain_multiplier":
- m_terrainMultiplier = Convert.ToDouble(configuration_result);
- break;
- case "water_height":
- double tmpVal = (double) configuration_result;
- m_waterHeight = (float) tmpVal;
- break;
- case "terrain_image_id":
- m_terrainImageID = (LLUUID) configuration_result;
- break;
- case "estate_manager_0":
- m_estateManager0 = (LLUUID) configuration_result;
- break;
- case "estate_manager_1":
- m_estateManager1 = (LLUUID) configuration_result;
- break;
- case "estate_manager_2":
- m_estateManager2 = (LLUUID) configuration_result;
- break;
- case "estate_manager_3":
- m_estateManager3 = (LLUUID) configuration_result;
- break;
- case "estate_manager_4":
- m_estateManager4 = (LLUUID) configuration_result;
- break;
- case "estate_manager_5":
- m_estateManager5 = (LLUUID) configuration_result;
- break;
- case "estate_manager_6":
- m_estateManager6 = (LLUUID) configuration_result;
- break;
- case "estate_manager_7":
- m_estateManager7 = (LLUUID) configuration_result;
- break;
- case "estate_manager_8":
- m_estateManager8 = (LLUUID) configuration_result;
- break;
- case "estate_manager_9":
- m_estateManager9 = (LLUUID) configuration_result;
- break;
- }
- return true;
- }
- }
- }
|