public static void drawOneResource(ResourcePoint rp)
        {
            Image img = drawResource(rp.resource, rp.point, rp.OnPage);

            Canvas.SetLeft(img, rp.point.X);
            Canvas.SetTop(img, rp.point.Y);
        }
示例#2
0
文件: Earth.cs 项目: JVK-BHZ/Garaj
    private void C_Collected(ResourcePoint r)
    {
        _golds += r.GetAmount();

        _resourcePoints.Remove(r);
        _Spawner.RemoveConcernPoint(r);
        Destroy(r.gameObject);
    }
示例#3
0
        private ResourcePointView CreateResourcePoint(ResourcePoint point)
        {
            var pointView = Instantiate(resourcePointViewPrefab, transform);

            pointView.transform.localPosition = point.Position;
            pointView.transform.localRotation = Quaternion.LookRotation(point.Position) * Quaternion.Euler(90, 0, 0);
            pointView.Init(point);
            return(pointView);
        }
 public void Interact(Vector2 direction) {
     RaycastHit2D[] hit2D = new RaycastHit2D[1];
     Physics2D.CircleCast(InteractionPoint.position, 0.05f, direction, Filter2D, hit2D);
     if (hit2D[0]) {
         ResourcePoint resource = hit2D[0].collider.gameObject.GetComponent<ResourcePoint>();
         //TODO find måde at checke om collided har component ResourcePoint 
         if (resource != null) {
             resource.OnHit(this);
         }
     }
 }
示例#5
0
    public void SummonWorker()
    {
        resourcePoint = GetResourcePoint();

        if (resourcePoint)
        {
            StartCoroutine(WorkersTravel());
            resourcePoint.GatherResources();
        }
        else
        {
            Debug.Log("WTF");
        }
    }
        public static void removeResourceFromMap(ResourcePoint rp)
        {
            Canvas canvas = null;

            switch (rp.OnPage)
            {
            case PageEnum.First: canvas = ((MainWindow)Application.Current.MainWindow).Cnv; break;

            case PageEnum.Second: canvas = ((MainWindow)Application.Current.MainWindow).Cnv2; break;

            case PageEnum.Third: canvas = ((MainWindow)Application.Current.MainWindow).Cnv3; break;

            case PageEnum.Fourth: canvas = ((MainWindow)Application.Current.MainWindow).Cnv4; break;
            }
            removeElementFromCanvas(canvas, rp);
        }
        private bool checkPrice(ResourcePoint rp, int minPrice, int maxPrice)
        {
            if (rp.resource.Price == null)
            {
                return(true);
            }


            if (minPrice == -1 && maxPrice == -1)
            {
                return(true);
            }
            else if (minPrice != -1 && maxPrice == -1)
            {
                if (Int32.Parse(rp.resource.Price) > minPrice)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else if (minPrice != -1 && maxPrice != -1)
            {
                if (Int32.Parse(rp.resource.Price) > minPrice && Int32.Parse(rp.resource.Price) < maxPrice)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else if (minPrice == -1 && maxPrice != -1)
            {
                if (Int32.Parse(rp.resource.Price) < maxPrice)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            return(true);
        }
        public void Execute(object parameter)
        {
            MessageBoxResult result = MessageBox.Show("Are you sure you want to delete this resource from map?", "Delete resource", MessageBoxButton.YesNo);

            switch (result)
            {
            case MessageBoxResult.Yes:
            {
                ResourcePoint resToDelete = null;

                foreach (ResourcePoint rp in MainWindow.resources)
                {
                    if (rp.resource == resource && rp.point == point)
                    {
                        resToDelete = rp;
                        break;
                    }
                }
                if (resToDelete != null)
                {
                    MainWindow.resources.Remove(resToDelete);
                    ReadWrite rw = new ReadWrite();
                    rw.writeToFile("../../Data/resources.json", MainWindow.resources);

                    Canvas    canvas  = MainWindow.getCanvas();
                    var       element = canvas.InputHitTest(resToDelete.point) as UIElement;
                    UIElement parent;

                    while (element != null &&
                           (parent = VisualTreeHelper.GetParent(element) as UIElement) != canvas)
                    {
                        element = parent;
                    }

                    if (element != null)
                    {
                        canvas.Children.Remove(element);
                    }


                    MessageBox.Show("You have successfully deleted resource");
                }
                break;
            }
            }
        }
        private static void removeElementFromCanvas(Canvas canvas, ResourcePoint rp)
        {
            var element = canvas.InputHitTest(rp.point) as UIElement;



            UIElement parent;

            while (element != null &&
                   (parent = VisualTreeHelper.GetParent(element) as UIElement) != canvas)
            {
                element = parent;
            }

            if (element != null)
            {
                canvas.Children.Remove(element);
            }
        }
示例#10
0
        private void DestroyResourcePoint()
        {
            if (point != null)
            {
                point.OnUpdateResourcePoints -= OnUpdate;
            }
            point = null;
            // Visualisation of destroy
            Vector3 startPosition = transform.position;
            Vector3 endPosition   = transform.position - transform.position.normalized * 0.3f;

            Timer.Add(0.5f, (anim) => {
                if (this == null)
                {
                    return;
                }
                transform.position = Vector3.LerpUnclamped(startPosition, endPosition, anim);
            });
            Destroy(gameObject, 0.5f);
        }
示例#11
0
        public bool FindNearestResource(Vector3 titanPosition, out ResourcePoint resourcePoint)
        {
            resourcePoint = null;
            var nearestDistance = 0f;

            foreach (var point in planet.Resources)
            {
                if (point == null || point.Count == 0)
                {
                    continue; // TODO remove empty points
                }
                if (occupiedResourceList.Contains(point))
                {
                    continue;
                }
                var distance = Vector3.Distance(point.Position, titanPosition);
                if (distance < nearestDistance || resourcePoint == null)
                {
                    nearestDistance = distance;
                    resourcePoint   = point;
                }
            }
            return(resourcePoint != null);
        }
示例#12
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            if (dateOfDiscovery.Equals(""))
            {
                this.resource.DateOfDiscovery = "Unknown";
            }
            else
            {
                this.resource.DateOfDiscovery = dateOfDiscovery;
            }
            this.resource.StrategicImportance = (bool)StrategicImportance.IsChecked;
            this.resource.CurrentlyExploited  = (bool)CurrentlyExploited.IsChecked;
            this.resource.Tags = checkedTags;

            ResourcePoint rp = new ResourcePoint(resource, point, onPage);

            MainWindow.resources.Add(rp);
            ReadWrite rw = new ReadWrite();

            rw.writeToFile("../../Data/resources.json", MainWindow.resources);

            MainWindow.addNewResourceDialog = true;
            this.Close();
        }
示例#13
0
 public void Init(ResourcePoint resourcePoint)
 {
     point = resourcePoint;
     point.OnUpdateResourcePoints += OnUpdate;
 }
 public void AddResourcePoint(ResourcePoint rp)
 {
     resourcePoints.Add(rp);
 }