Exemple #1
0
        public void Init(BuildingEditor editorWindow)
        {
            minSize  = new Vector2(300, 600);
            building = editorWindow.script;

            this.buildingEditor = editorWindow;
        }
    public void SetBuildingData(BuildingInfoBean itemData)
    {
        GameObject objBuilding = GameObject.Find("Building");
        GameObject objModel    = GameObject.Find("Model");

        CptUtil.RemoveChildsByActiveInEditor(objBuilding);
        List <BuildingBean> listData = itemData.listBuildingData;

        if (listData == null)
        {
            return;
        }
        for (int i = 0; i < listData.Count; i++)
        {
            BuildingBean buildingData = listData[i];
            GameObject   objItem      = Instantiate(objModel);
            objItem.SetActive(true);
            objItem.transform.SetParent(objBuilding.transform);

            BuildingEditor buildingEditor = objItem.GetComponent <BuildingEditor>();
            buildingEditor.direction          = (DirectionEnum)buildingData.direction;
            buildingEditor.blockType          = (BlockTypeEnum)buildingData.blockId;
            buildingEditor.randomRate         = buildingData.randomRate;
            buildingEditor.transform.position = buildingData.GetPosition();
            buildingEditor.OnValidate();
        }
    }
        public Genetics.Generic.ITransformer<List<bool>> BuildTransformer(BuildingEditor.ViewModel.Building building)
        {
            MapBuilder mapBuilder = new MapBuilder(building.ToDataModel());
            Simulator sim = new Simulator();

            sim.MaximumTicks = building.GetFloorCount() * 2;
            sim.SetupSimulator(mapBuilder.BuildBuildingMap(), mapBuilder.BuildPeopleMap());
            EvaCalcEvaluator evaluator = new EvaCalcEvaluator(sim, new Building(building));

            return new LocalOptimization(building, evaluator);
        }
Exemple #4
0
        protected override DialogResult showEditDialog(Building entity)
        {
            BuildingEditor editor = new BuildingEditor((BuildingDao)this.dao);

            try{
                editor.entity = entity;
                editor.renderEntity();
                return(editor.ShowDialog(this));
            }
            catch (Exception ex)
            {
                MyMessageBox msgBox = new MyMessageBox("Data error!", ex, MyConstants.BOX_TYPE_ERROR);
                msgBox.ShowDialog(this);
                return(DialogResult.Abort);
            }
        }
        public override void Execute(object parameter)
        {
            IVisualElement selectedElement = _context.LastSelected;

            if (selectedElement is IDataModel)
            {
                BuildingEditor.OpenBuildingMap((IDataModel)selectedElement);
            }
            else if (selectedElement is VisualTextMarker)
            {
                EditEntityAction action = new EditEntityAction(null, _context)
                {
                    AffectedElement = selectedElement
                };
                action.Do();
                GlobalManagement.Instance.UndoStack.Push(action);
            }
        }
    public void GetBuildingData(BuildingInfoBean itemData)
    {
        GameObject          objBuilding      = GameObject.Find("Building");
        List <BuildingBean> listBuildingData = new List <BuildingBean>();

        for (int i = 0; i < objBuilding.transform.childCount; i++)
        {
            Transform      tfChild        = objBuilding.transform.GetChild(i);
            BuildingEditor buildingEditor = tfChild.GetComponent <BuildingEditor>();
            if (buildingEditor == null)
            {
                continue;
            }
            BuildingBean buildingData = new BuildingBean();
            buildingData.position   = Vector3Int.CeilToInt(tfChild.position);
            buildingData.direction  = (int)buildingEditor.direction;
            buildingData.blockId    = (int)buildingEditor.blockType;
            buildingData.randomRate = buildingEditor.randomRate;
            listBuildingData.Add(buildingData);
        }
        itemData.SetListBuildingData(listBuildingData);
    }
Exemple #7
0
        protected override DialogResult showAddDialog(Building entity)
        {
            BuildingEditor editor = new BuildingEditor((BuildingDao)this.dao);

            try
            {
                Building building = new Building();
                if (this.parentWindow.queryCondition != null)
                {
                    building.project_id = this.parentWindow.queryCondition.project_id;
                    building.stage_id   = this.parentWindow.queryCondition.stage_id;
                }
                editor.entity = building;
                editor.renderEntity();
                return(editor.ShowDialog(this));
            }
            catch (Exception ex)
            {
                MyMessageBox msgBox = new MyMessageBox("Data error!", ex, MyConstants.BOX_TYPE_ERROR);
                msgBox.ShowDialog(this);
                return(DialogResult.Abort);
            }
        }
 public Genetics.Generic.ITransformer<List<bool>> BuildTransformer(BuildingEditor.ViewModel.Building building)
 {
     return new ThreeSegmentLoopOptimizer(building, Probability);
 }
 public Genetics.Generic.ICrossoverOperator<List<bool>> BuildCrossoverOperator(BuildingEditor.ViewModel.Building building)
 {
     return new MultiPointCrossover(Points);
 }
 public Genetics.Generic.IMutationOperator<List<bool>> BuildMutationOperator(BuildingEditor.ViewModel.Building building)
 {
     return new PathDirectionMutation(building, Probability);
 }
 public Genetics.Generic.IMutationOperator<List<bool>> BuildMutationOperator(BuildingEditor.ViewModel.Building building)
 {
     return new ClassicMutation(Probability);
 }
 public Genetics.Generic.ITransformer<List<bool>> BuildTransformer(BuildingEditor.ViewModel.Building building)
 {
     return null;
 }