Пример #1
0
 internal ComputerPlayer(string name,
                         IProgressiveDeepeningWrapper <GameNode, sbyte, BoardMinified> search,
                         ITreeManager <GameNode, sbyte> treeManager)
 {
     _name        = name;
     _search      = search;
     _treeManager = treeManager;
 }
Пример #2
0
    private void Start()
    {
        _progressionManager = new ProgressionManager();
        _vehicleManager     = new VehicleManager();
        if (_gameSettings == null)
        {
            _gameSettings = Resources.Load <GameSettings>(Util.PathTo("GameSettings"));
        }
        _threadedDataRequester = new ThreadedDataRequester();

        // Terrain Generator
        MeshSettings      meshSettings      = Resources.Load <MeshSettings>(Util.PathTo("MeshSettings"));
        HeightMapSettings heightMapSettings = Resources.Load <HeightMapSettings>(Util.PathTo("HeightMapSettings"));
        Material          terrainMaterial   = Resources.Load <Material>(Util.PathTo("TerrainMeshMaterial"));
        Transform         viewer            = _terrainViewer;

        _terrainGenerator      = new TerrainGenerator(meshSettings, heightMapSettings, viewer, terrainMaterial, _gameSettings.MapSize);
        _buildingManager       = new BuildingManager();
        _placementController   = new PlacementController(_buildingManager, _terrainGenerator);
        _cityCityManager       = new CityManager(_placementController, heightMapSettings.noiseSettings.seed);
        _treeManager           = new TreeManager(_placementController, _terrainGenerator);
        _transportRouteManager = new TransportRouteManager(new PathFinder(_terrainGenerator), _vehicleManager);
    }
Пример #3
0
        protected void OnMouseDown(MouseDownEvent e)
        {
            TreeViewItem treeElement = e.currentTarget as TreeViewItem;

            if (treeElement != null && CanStartManipulation(e) && treeElement.IsSelectable() && treeElement.HitTest(e.localMousePosition) && !WasSelectableDescendantHitByMouse(treeElement, e))
            {
                ITreeManager firstAncestorOfType = treeElement.GetFirstAncestorOfType <ITreeManager>();
                if (treeElement.IsSelected(firstAncestorOfType))
                {
                    if (e.actionKey)
                    {
                        treeElement.Unselect(firstAncestorOfType);
                    }
                    else
                    {
                        treeElement.Select(firstAncestorOfType, false);
                    }
                }
                else
                {
                    treeElement.Select(firstAncestorOfType, e.actionKey);
                }
            }
        }
Пример #4
0
 public virtual bool IsSelected(ITreeManager manager)
 {
     return(selected && manager.selection.Contains(this));
 }
Пример #5
0
 public virtual void Unselect(ITreeManager manager)
 {
     manager.RemoveFromSelection(this);
 }
Пример #6
0
 public virtual void Select(ITreeManager manager, bool additive)
 {
     manager.AddToSelection(this, additive);
 }
Пример #7
0
 public TreeController(ITreeManager treeManager) => _treeManager = treeManager;