private void PlaceModuleRandom(ModuleTypes moduleType, int numObjects)
    {
        var moduleIndex = moduleType.GetHashCode();

        for (var i = 0; i < numObjects; i++)
        {
            var listPosition     = Random.Range(0, moduleSpaces.Count);
            var spatialPosition  = moduleSpaces[listPosition];
            var absolutePosition = NumberToPosition(spatialPosition, innerSize);
            innerModuleGrid[absolutePosition[0], absolutePosition[1]] = moduleIndex;
            moduleSpaces.RemoveAt(listPosition);

            if (supportItems.Contains(moduleType))
            {
                // Prefer to place items here.
                itemSpaces.Add(spatialPosition);
                itemSpaces.Add(spatialPosition);
            }
            else
            {
                // Can't place an item here.
                itemSpaces.RemoveAll(value => value == spatialPosition);
            }
        }
    }
示例#2
0
 public ModuleInfoHierarchical(int id, string name, ModuleTypes moduleType, int level)
 {
     Id = id;
     Name = name;
     ModuleType = moduleType;
     Level = level;
 }
示例#3
0
 public ShipModule(ModuleTypes Type, UInt16 Value, Time MaxCooldown, UInt32 Cost)
 {
     type        = Type;
     value       = Value;
     maxCooldown = MaxCooldown;
     cost        = Cost;
 }
示例#4
0
        /// <summary>
        /// The Page_Load event handler on this User Control populates the comboboxes
        /// for portals and module types for the ContentManager.
        /// It uses the Appleseed.ContentManagerDB()
        /// data component to encapsulate all data functionality.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        private void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //populate module types dropdownlist.
                ContentManagerDB contentDB = new ContentManagerDB();

                //populate moduleTypes list
                ModuleTypes.DataSource     = contentDB.GetModuleTypes();
                ModuleTypes.DataValueField = "ItemID";
                ModuleTypes.DataTextField  = "FriendlyName";
                ModuleTypes.DataBind();

                //populate source portal list
                SourcePortal.DataValueField = "PortalID";
                SourcePortal.DataTextField  = "PortalAlias";
                SourcePortal.DataSource     = contentDB.GetPortals();
                SourcePortal.DataBind();

                //destination portal list.
                DestinationPortal.DataValueField = "PortalID";
                DestinationPortal.DataTextField  = "PortalAlias";
                DestinationPortal.DataSource     = contentDB.GetPortals();
                DestinationPortal.DataBind();

                //Function to set visibility for Portal dropdowns and select current portal
                //as default
                MultiPortalSupport();

                //functions to load the modules in the currently selected portal.
                LoadSourceModules();
                LoadDestinationModules();
            }
        }
示例#5
0
    internal ModuleTypes SetDefaultModule()
    {
        ModuleTypes newDefault = ModuleTypes.PlatformLarge;

        if (roomType == NodeType.Start || roomType == NodeType.End)
        {
            newDefault = ModuleTypes.PlatformLarge;
        }
        if (roomType == NodeType.Normal)
        {
            if (difficulty < 2)
            {
                newDefault = ModuleTypes.PlatformLargeOscY;
            }
            else if (difficulty >= 2 && difficulty < 5)
            {
                newDefault = ModuleTypes.PlatformLargeOscY;
            }
            else
            {
                newDefault = ModuleTypes.PlatformLargeOscY;
            }
        }
        return(newDefault);
    }
示例#6
0
        protected override Declaration FindTargetDeclaration(QualifiedSelection targetSelection)
        {
            var candidates = _declarationFinderProvider.DeclarationFinder
                             .Members(targetSelection.QualifiedName)
                             .Where(item => ModuleTypes.Contains(item.DeclarationType));

            return(candidates.SingleOrDefault(item =>
                                              item.QualifiedSelection.QualifiedName.Equals(targetSelection.QualifiedName)));
        }
示例#7
0
        public static List <int> GetModuleItemIds(ModuleTypes moduleType)
        {
            var result = new UserPermissionsEntities().UserPermissions.AsQueryable()
                         .Where(x => x.user_id == new Guid(MySession.Current.UserGuid) &&
                                x.module_id == (int)moduleType &&
                                x.item_id != 0).AsEnumerable()
                         .Select(x => x.item_id).ToList();

            return(result);
        }
示例#8
0
 public AbstractMovementModule GetModule(ModuleTypes moduleType)
 {
     for (int loop = 0; loop < _modules.Count; loop++)
     {
         AbstractMovementModule module = _modules[loop];
         if (module.ModuleType() == moduleType)
         {
             return(module);
         }
     }
     return(null);
 }
示例#9
0
        protected override ExtractInterfaceModel InitializeModel(Declaration target)
        {
            if (target == null)
            {
                throw new TargetDeclarationIsNullException();
            }

            if (!ModuleTypes.Contains(target.DeclarationType))
            {
                throw new InvalidDeclarationTypeException(target);
            }

            return(new ExtractInterfaceModel(_declarationFinderProvider, target));
        }
示例#10
0
        /// <summary>
        /// チェック状態を保存する
        /// </summary>
        public void SaveCheckState() => SettingDatabase.Instance.BeginTransaction(db =>
        {
            // 前回値クリア
            db.Execute("DELETE FROM SelectModuleCheckStateModuleTypes");
            db.Execute("DELETE FROM SelectModuleCheckStateModuleOwners");

            // モジュール種別のチェック状態保存
            var checkedTypes = ModuleTypes.Where(x => x.IsChecked);
            db.Execute("INSERT INTO SelectModuleCheckStateModuleTypes(ID) VALUES (:ID)", checkedTypes);

            // 派閥一覧のチェック状態保存
            var checkedFactions = ModuleOwners.Where(x => x.IsChecked).Select(x => x.Faction);
            db.Execute("INSERT INTO SelectModuleCheckStateModuleOwners(ID) VALUES (:FactionID)", checkedFactions);
        });
示例#11
0
        private InterfaceModule AddSecurityModule(ModuleTypes moduleType, string address)
        {
            InterfaceModule module = new InterfaceModule();

            module.Domain      = this.GetDomain();
            module.Address     = address;
            module.Description = "X10 Security";
            module.ModuleType  = moduleType;
            module.CustomData  = 0D;
            securityModules.Add(module);
            SerializeModules(SecurityModulesDb, securityModules);
            OnInterfacePropertyChanged(module.Domain, "RF", "X10 RF Receiver", ModuleEvents.Receiver_Status, "Added module " + address + " (" + moduleType + ")");
            OnInterfaceModulesChanged(module.Domain);
            return(module);
        }
示例#12
0
        public static UserPermission GetUserPermissionByModuleType(ModuleTypes moduleName)
        {
            if (MySession.Current.UserPermisionList == null)
            {
                return(new UserPermission());
            }

            var up = MySession.Current.UserPermisionList.FirstOrDefault(x => x.module_id == (int)moduleName);

            if (up == null)
            {
                up = new UserPermission();
            }

            return(up);
        }
示例#13
0
    private GameObject InstantiateModule(ModuleTypes moduleEnum)
    {
        var objectName = moduleEnum.ToString();
        var dir        = "Prefabs/" + roomTheme + "/Modules/" + objectName;
        var gameObj    = Resources.Load(dir) as GameObject;

        if (!gameObj)
        {
            Debug.Log($"InstantiateModule: could not instantiate {dir}");
        }
        else
        {
            gameObj = (GameObject)Instantiate(Resources.Load(dir), transform);
        }

        return(gameObj);
    }
示例#14
0
        public bool StartTransitionFrom(ModuleTypes fromModuleType, ModuleTypes toModuleType)
        {
            AbstractMovementModule fromModule = GetModule(fromModuleType);
            AbstractMovementModule toModule   = GetModule(toModuleType);

            if (null == fromModule)
            {
                return(false);
            }
            if (null == toModule)
            {
                return(false);
            }
            _transition = new MovementTransition(fromModule, toModule);
            _anim.Play(fromModule.GetTransitionFromAnimationName());
            return(true);
        }
示例#15
0
        private void BuildStandardMenu()
        {
            EmptyMenu();

            // set logo
            //uiBtnLogo.Content = moduleType.ToString().ToLower();

            List <SiteMapMenuItem> modules = new List <SiteMapMenuItem>();

            foreach (SiteMapMenuItem parentItem in _siteMap)
            {
                if (parentItem.Title == "Logo")
                {
                    //uiContextMenu.ItemsSource = parentItem.Items.ToList();
                    continue;
                }

                ModuleTypes moduleType     = (ModuleTypes)Enum.Parse(typeof(ModuleTypes), parentItem.ModuleType, true);
                bool        isModuleEnable = true;
                //if (moduleType == ModuleTypes.Employees)
                //{
                //    isModuleEnable = Globals.UserLogin.UserModuleTypes.Contains(ModuleTypes.Employees)
                //        || Globals.UserLogin.UserModuleTypes.Contains(ModuleTypes.Sales)
                //        || Globals.UserLogin.UserModuleTypes.Contains(ModuleTypes.Operations);
                //}
                //else
                //{
                //    isModuleEnable = Globals.UserLogin.UserModuleTypes.Contains(moduleType);
                //}
                HeaderMenuButton menu = new HeaderMenuButton()
                {
                    InnerText  = parentItem.Title,
                    ModuleType = moduleType,
                    IsEnabled  = isModuleEnable
                };
                menu.Init(parentItem.Items.ToList(), string.Empty);
                //if (moduleType == Globals.ActiveModule)
                //{
                //    menu.IsHighLight = true;
                //}
                menu.MenuItemClicked += new EventHandler(uiChild_MenuItemClicked);

                uiMenuBar.Children.Add(menu);
            }
        }
示例#16
0
        public JObject WriteAuth(string uri, ModuleTypes type, bool strict)
        {
            IAuthModuleSettings set;
            var obj    = new JObject();
            var writer = obj.CreateWriter();

            writer.WritePropertyName(nameof(set.AuthUri));
            writer.WriteValue(uri);

            writer.WritePropertyName(nameof(set.StrictUsage));
            writer.WriteValue(strict);

            writer.WritePropertyName(nameof(set.Type));
            _serializer.Serialize(writer, type);

            writer.Close();
            return(obj);
        }
示例#17
0
        public IAuthModule GetByType(ModuleTypes type)
        {
            switch (type)
            {
            case ModuleTypes.Ely:
                return(new ElyAuthModule());

            case ModuleTypes.Default:
                return(new YggdrasilAuthModule("https://authserver.mojang.com/authenticate"));

            case ModuleTypes.Custom:
                var settings = IoCContainer.Instance.Resolve <ISettings>();
                var uri      = settings?.ProjectConfig?.AuthModuleSettings?.AuthUri;
                return(new YggdrasilAuthModule(uri));

            default:
                return(new EmptyModule());
            }
        }
        private static Type GetModuleMetadataType(INancyModule module)
        {
            var metadataName = module.GetType().Name.Replace("Module", "Metadata");

            Type type;

            if (ModuleTypes.TryGetValue(metadataName, out type))
            {
                return(type);
            }

            type = AppDomain.CurrentDomain.GetAssemblies()
                   .SelectMany(x => x.GetTypes())
                   .FirstOrDefault(x => x.Name == metadataName);

            ModuleTypes.Add(metadataName, type);

            return(typeof(ModuleMetadata).IsAssignableFrom(type) ? type : null);
        }
示例#19
0
        public LaunchWorker(ISettings settings,
                            IServer server,
                            ModuleTypes module,
                            string login,
                            SecureString pass)
        {
            _settings = settings;
            _server   = server;
            _module   = module;
            _login    = login;
            _pass     = pass;

            if (_server == null || _settings == null)
            {
                throw new ArgumentNullException("Нет настроек, либо сервер не выбран");
            }

            _baseFolder = Path.Combine(_settings.ClientFolder, server.Name);
        }
示例#20
0
        /// <summary>
        /// モジュール一覧を更新する
        /// </summary>
        private void UpdateModulesMain()
        {
            var query = $@"
SELECT
    DISTINCT Module.ModuleID,
	Module.Name
FROM
    Module,
	ModuleOwner
WHERE
	Module.ModuleID = ModuleOwner.ModuleID AND
    Module.NoBlueprint = 0 AND
    Module.ModuleTypeID   IN ({string.Join(", ", ModuleTypes.Where(x => x.IsChecked).Select(x => $"'{x.ID}'"))}) AND
	ModuleOwner.FactionID IN ({string.Join(", ", ModuleOwners.Where(x => x.IsChecked).Select(x => $"'{x.Faction.FactionID}'"))})"    ;

            var list = new List <ModulesListItem>();

            X4Database.Instance.ExecQuery(query, SetModules, list);
            Modules.Reset(list);
        }
    private void MakeInnerModuleGridRandom()
    {
        innerModuleGrid = new int[innerSize, innerSize];
        innerModuleGrid = InitializeGridWithValue(innerModuleGrid, (int)defaultModule);

        var possibleModules = innerSize * innerSize - 4;
        var modulesToPlace  = (int)Random.Range(possibleModules * 0.5f, possibleModules);

        for (int i = 0; i < modulesToPlace; i++)
        {
            ModuleTypes placedModule = ModuleTypes.PlatformLarge;
            if (roomType == NodeType.Start)
            {
                placedModule = ModuleTypes.PlatformLarge;
            }
            else if (roomType == NodeType.Normal ||
                     roomType == NodeType.Key ||
                     roomType == NodeType.Lock || roomType == NodeType.End)
            {
                placedModule = (ModuleTypes)Random.Range(3, 9);
            }
            PlaceModuleRandom(placedModule, 1);
        }
    }
示例#22
0
        /// <summary>
        /// モジュール種別一覧を初期化する
        /// </summary>
        private void InitModuleTypes()
        {
            var items = new List <ModulesListItem>();

            void init(SQLiteDataReader dr, object[] args)
            {
                bool chked = 0 < SettingDatabase.Instance.ExecQuery($"SELECT * FROM SelectModuleCheckStateModuleTypes WHERE ID = '{dr["ModuleTypeID"]}'", (_, __) => { });

                items.Add(new ModulesListItem((string)dr["ModuleTypeID"], (string)dr["Name"], chked));
            }

            X4Database.Instance.ExecQuery(@"
SELECT
    ModuleTypeID,
    Name
from
    ModuleType
WHERE
    ModuleTypeID IN (select ModuleTypeID FROM Module)

ORDER BY Name", init, "SelectModuleCheckStateTypes");

            ModuleTypes.AddRange(items);
        }
示例#23
0
        public List <InterfaceModule> GetModules()
        {
            List <InterfaceModule> modules = new List <InterfaceModule>();

            if (insteonPlm != null)
            {
                //
                // discovery
                //
                var database = insteonPlm.GetAllLinkDatabase();
                foreach (var record in database.Records)
                {
                    // You can attempt to connect to each device
                    // to figure out what it is:
                    DeviceBase device;
                    if (insteonPlm.Network.TryConnectToDevice(record.DeviceId, out device))
                    {
                        // It responded.  You can get identification info like this:
                        string address     = device.DeviceId.ToString();
                        string category    = device.DeviceCategoryCode.ToString();
                        string subcategory = device.DeviceSubcategoryCode.ToString();

                        ModuleTypes type = ModuleTypes.Generic;
                        switch (device.GetType().Name)
                        {
                        case "LightingControl":
                            type = ModuleTypes.Light;
                            break;

                        case "DimmableLightingControl":
                            type = ModuleTypes.Dimmer;
                            break;

                        case "SwitchedLightingControl":
                            type = ModuleTypes.Light;
                            break;

                        case "SensorsActuators":
                            type = ModuleTypes.Switch;
                            break;

                        case "WindowCoveringControl":
                            type = ModuleTypes.DoorWindow;
                            break;

                        case "PoolAndSpaControl":
                            type = ModuleTypes.Thermostat;
                            break;

                        case "IrrigationControl":
                            type = ModuleTypes.Switch;
                            break;
                        }

                        modules.Add(new InterfaceModule()
                        {
                            Domain     = this.Domain,
                            Address    = address,
                            ModuleType = type,
                            CustomData = category + "/" + subcategory
                        });
                    }
                    else
                    {
                        // couldn't connect - device may have been removed?
                    }
                }
            }
            return(modules);
        }
示例#24
0
 public override void InitializeModulePool()
 {
     ModuleTypes.Add(typeof(TheButtonModule));
     ModuleTypes.Add(typeof(SimonSaysModule));
 }
    internal override RoomDefinition PlaceDoor(RoomDefinition room, int wallPosition, ModuleTypes doorModule, bool addGround)
    {
        switch (wallPosition)
        {
        case 1:
            room.SetModulePosition(1, 2, ModuleTypes.PlatformLarge);
            room.SetModulePosition(0, 2, doorModule);
            RemoveFromList(moduleSpaces, PositionToNumber(0, 2 - 1, innerSize));
            break;

        case 3:
            room.SetModulePosition(2, 1, ModuleTypes.PlatformLarge);
            room.SetModulePosition(2, 0, doorModule);
            RemoveFromList(moduleSpaces, PositionToNumber(2 - 1, 0, innerSize));
            break;

        case 2:
            room.SetModulePosition(2, size - 2, ModuleTypes.PlatformLarge);
            room.SetModulePosition(2, size - 1, doorModule);
            RemoveFromList(moduleSpaces, PositionToNumber(2 - 1, size - 3, innerSize));
            break;

        case 0:
            room.SetModulePosition(size - 2, 2, ModuleTypes.PlatformLarge);
            room.SetModulePosition(size - 1, 2, doorModule);
            RemoveFromList(moduleSpaces, PositionToNumber(size - 3, 2 - 1, innerSize));
            break;
        }

        return(room);
    }
示例#26
0
 public bool IsCurrentTransition(ModuleTypes fromModule, ModuleTypes toModule)
 {
     return(null != _transition && _transition.From.ModuleType() == fromModule && _transition.To.ModuleType() == toModule);
 }
 public ModuleTypesCreateOrUpdateCommand(ModuleTypes ent)
 {
     this.ent = ent;
 }
示例#28
0
        private void BuildModuleMenu(ModuleTypes? moduleType)
        {
            if (moduleType == null && Globals.ActiveModule != ModuleTypes.Administration)
            {
                moduleType = Globals.ActiveModule;
            }

            EmptyMenu();

            int index = 0;

            ModuleTypes currentModuleType = ModuleTypes.Administration;
            List<SiteMapMenuItem> modules = new List<SiteMapMenuItem>();
            foreach (SiteMapMenuItem parentItem in _siteMap)
            {
                currentModuleType = (ModuleTypes)Enum.Parse(typeof(ModuleTypes), parentItem.ModuleType, true);

                // security filter
                //if (!Globals.UserLogin.UserModuleTypes.Contains(currentModuleType))
                //{
                //    continue;
                //}

                index++;
                if (moduleType == null && index == 2)
                {
                    moduleType = currentModuleType;
                }

                if (moduleType.HasValue && parentItem.Title == moduleType.ToString())
                {
                    // set logo
                    //string resourceName = String.Format("Logo{0}SourceUrl", moduleType.ToString());
                    //uiLogo.Source = new BitmapImage(new Uri(App.Current.Resources[resourceName].ToString(), UriKind.Relative));

                    foreach (SiteMapMenuItem item in parentItem.Items)
                    {
                        HeaderMenuButton menu = new HeaderMenuButton()
                        {
                            InnerText = item.Title,
                            ContentWidth = 120 // temporary fix the problem of width
                        };
                        menu.Init(item.Items.ToList(), item.Url);

                        uiMenuBar.Children.Add(menu);
                    }
                }
                else
                {
                    modules.Add(new SiteMapMenuItem()
                    {
                        Title = parentItem.Title,
                        Description = parentItem.Description,
                        Url = parentItem.Url,
                        IsEnabled = parentItem.IsEnabled,
                        Target = parentItem.Target
                    });
                }
            }

            //uiContextMenu.ItemsSource = modules;
        }
示例#29
0
        private void BuildModuleMenu(ModuleTypes?moduleType)
        {
            if (moduleType == null && Globals.ActiveModule != ModuleTypes.Administration)
            {
                moduleType = Globals.ActiveModule;
            }

            EmptyMenu();

            int index = 0;

            ModuleTypes            currentModuleType = ModuleTypes.Administration;
            List <SiteMapMenuItem> modules           = new List <SiteMapMenuItem>();

            foreach (SiteMapMenuItem parentItem in _siteMap)
            {
                currentModuleType = (ModuleTypes)Enum.Parse(typeof(ModuleTypes), parentItem.ModuleType, true);

                // security filter
                //if (!Globals.UserLogin.UserModuleTypes.Contains(currentModuleType))
                //{
                //    continue;
                //}

                index++;
                if (moduleType == null && index == 2)
                {
                    moduleType = currentModuleType;
                }

                if (moduleType.HasValue && parentItem.Title == moduleType.ToString())
                {
                    // set logo
                    //string resourceName = String.Format("Logo{0}SourceUrl", moduleType.ToString());
                    //uiLogo.Source = new BitmapImage(new Uri(App.Current.Resources[resourceName].ToString(), UriKind.Relative));

                    foreach (SiteMapMenuItem item in parentItem.Items)
                    {
                        HeaderMenuButton menu = new HeaderMenuButton()
                        {
                            InnerText    = item.Title,
                            ContentWidth = 120 // temporary fix the problem of width
                        };
                        menu.Init(item.Items.ToList(), item.Url);

                        uiMenuBar.Children.Add(menu);
                    }
                }
                else
                {
                    modules.Add(new SiteMapMenuItem()
                    {
                        Title       = parentItem.Title,
                        Description = parentItem.Description,
                        Url         = parentItem.Url,
                        IsEnabled   = parentItem.IsEnabled,
                        Target      = parentItem.Target
                    });
                }
            }

            //uiContextMenu.ItemsSource = modules;
        }
示例#30
0
        public static Module CreateModule(ModuleTypes moduleType, int id, byte level)
        {
            Module retModule = null;

            switch (moduleType)
            {
            case ModuleTypes.EnergyRegenModule:
            {
                retModule = new EnergyRegenModule(id, level);
                break;
            }

            case ModuleTypes.MaxEnergyModule:
            {
                retModule = new MaxEnergyModule(id, level);
                break;
            }

            case ModuleTypes.MaxShieldModule:
            {
                retModule = new MaxShieldModule(id, level);
                break;
            }

            case ModuleTypes.ShieldRegenModule:
            {
                retModule = new ShieldRegenModule(id, level);
                break;
            }

            case ModuleTypes.ThrustModule:
            {
                retModule = new ThrustModule(id, level);
                break;
            }

            case ModuleTypes.DamageModule:
            {
                retModule = new DamageModule(id, level);
                break;
            }

            case ModuleTypes.DefenseModule:
            {
                retModule = new DefenseModule(id, level);
                break;
            }

            case ModuleTypes.TurnRateModule:
            {
                retModule = new TurnRateModule(id, level);
                break;
            }

            case ModuleTypes.LateralThrustModule:
            {
                retModule = new LateralThrustModule(id, level);
                break;
            }

            case ModuleTypes.TopSpeedModule:
            {
                retModule = new TopSpeedModule(id, level);
                break;
            }

            default:
                throw new NotImplementedException("Module type not implemented in MessageReader.ReadModule");
            }

            return(retModule);
        }
示例#31
0
        public List <InterfaceModule> GetModules()
        {
            // TODO: make 'modules' data persistent in order to store status for various X10 operations (eg. like Control.Level)
            List <InterfaceModule> modules = new List <InterfaceModule>();

            if (insteonPlm != null)
            {
                //
                // X10 modules
                //
                var x10HouseCodes = this.GetOption("HouseCodes");
                if (x10HouseCodes != null && !String.IsNullOrEmpty(x10HouseCodes.Value))
                {
                    string[] hc = x10HouseCodes.Value.Split(',');
                    for (int i = 0; i < hc.Length; i++)
                    {
                        for (int x = 1; x <= 16; x++)
                        {
                            modules.Add(new InterfaceModule()
                            {
                                Domain      = this.Domain,
                                Address     = (hc[i] + x.ToString()),
                                ModuleType  = ModuleTypes.Generic,
                                Description = "X10 Module"
                            });
                        }
                    }
                }
                //
                // Insteon devices discovery
                //
                var database = insteonPlm.GetAllLinkDatabase();
                foreach (var record in database.Records)
                {
                    // Connect to each device to figure out what it is
                    DeviceBase device;
                    if (insteonPlm.Network.TryConnectToDevice(record.DeviceId, out device))
                    {
                        // It responded. Get identification info
                        string address     = device.DeviceId.ToString();
                        string category    = device.DeviceCategoryCode.ToString();
                        string subcategory = device.DeviceSubcategoryCode.ToString();

                        ModuleTypes type = ModuleTypes.Generic;
                        switch (device.GetType().Name)
                        {
                        case "LightingControl":
                            type = ModuleTypes.Light;
                            break;

                        case "DimmableLightingControl":
                            type = ModuleTypes.Dimmer;
                            break;

                        case "SwitchedLightingControl":
                            type = ModuleTypes.Light;
                            break;

                        case "SensorsActuators":
                            type = ModuleTypes.Switch;
                            break;

                        case "WindowCoveringControl":
                            type = ModuleTypes.DoorWindow;
                            break;

                        case "PoolAndSpaControl":
                            type = ModuleTypes.Thermostat;
                            break;

                        case "IrrigationControl":
                            type = ModuleTypes.Switch;
                            break;
                        }

                        modules.Add(new InterfaceModule()
                        {
                            Domain     = this.Domain,
                            Address    = address,
                            ModuleType = type,
                            CustomData = category + "/" + subcategory
                        });
                    }
                    else
                    {
                        // couldn't connect - device removed?
                    }
                }
            }
            return(modules);
        }
示例#32
0
    internal virtual RoomDefinition PlaceDoor(RoomDefinition room, int wallPosition, ModuleTypes doorModule, bool addGround)
    {
        var doorPosition = 2;

        if (room.size == 7)
        {
            doorPosition = 3;
        }
        switch (wallPosition)
        {
        case 1:
            if (addGround)
            {
                room.SetModulePosition(1, doorPosition, ModuleTypes.PlatformLarge);
            }
            for (int i = 1; i < size - 1; i++)
            {
                room.SetModulePosition(0, i, ModuleTypes.Wall);
            }
            room.SetModulePosition(0, doorPosition, doorModule);
            break;

        case 3:
            if (addGround)
            {
                room.SetModulePosition(doorPosition, 1, ModuleTypes.PlatformLarge);
            }
            for (int i = 1; i < size - 1; i++)
            {
                room.SetModulePosition(i, 0, ModuleTypes.Wall);
            }
            room.SetModulePosition(doorPosition, 0, doorModule);
            break;

        case 2:
            if (addGround)
            {
                room.SetModulePosition(doorPosition, size - 2, ModuleTypes.PlatformLarge);
            }
            for (int i = 1; i < size - 1; i++)
            {
                room.SetModulePosition(i, size - 1, ModuleTypes.Wall);
            }
            room.SetModulePosition(doorPosition, size - 1, doorModule);
            break;

        case 0:
            if (addGround)
            {
                room.SetModulePosition(size - 2, doorPosition, ModuleTypes.PlatformLarge);
            }
            for (int i = 1; i < size - 1; i++)
            {
                room.SetModulePosition(size - 1, i, ModuleTypes.Wall);
            }
            room.SetModulePosition(size - 1, doorPosition, doorModule);
            break;
        }

        return(room);
    }
示例#33
0
 public void SetModulePosition(int x, int z, ModuleTypes moduleType)
 {
     moduleGrid[x, z] = moduleType.GetHashCode();
 }
示例#34
0
 public Module(int id, string name, ModuleTypes moduleType)
 {
     this.id = id;
     this.name = name;
     this.moduleType = moduleType;
 }