Ejemplo n.º 1
0
 public void SelectTitan(TitanView titan)
 {
     if (selectMarker != null)
     {
         selectMarker.SelectTitan(titan);
     }
 }
Ejemplo n.º 2
0
        public void UpdateTitanStatus()
        {
            if (selectedTitan == null || !selectedTitan.Titan.IsAlive)
            {
                selectedTitan   = null;
                statusText.text = "";
                modulesPanel.SetActive(false);
                skillPanel.SetActive(false);
                HideContextMenu();
                return;
            }
            string status = "Energy: " + selectedTitan.Titan.ResourceUnits;

            statusText.text = status;
            // enemy
            if (selectedTitan.Titan.Faction.ID == 1 || !selectedTitan.Titan.IsAlive)
            {
                modulesPanel.SetActive(true);
                skillPanel.SetActive(false);
                HideContextMenu();
                UpdateModules();
                return;
            }
            modulesPanel.SetActive(true);
            UpdateModules();
            //  var maxRocket = selectedTitan.GetComponentMaxRocketsCount();
            //  skillPanel.SetActive(maxRocket > 0);
            //  if (maxRocket > 0) {
            //      OnFireRocketButton.gameObject.SetActive(!RocketAimView.IsActive());
            //      OnCancelRocketButton.gameObject.SetActive(RocketAimView.IsActive());
            //      var rocketCount = selectedTitan.GetComponentRocketsCount();
            //      RocketsCount.text = rocketCount + "/" + maxRocket;
            //      OnFireRocketButton.interactable = rocketCount > 0;
            //  }
        }
Ejemplo n.º 3
0
        public void AddMarker(TitanView titan, PlanetView planet)
        {
            var marker = Instantiate(markerControllerPrefab, transform);

            marker.Init(titan, planet);
            markers.Add(marker);
        }
Ejemplo n.º 4
0
    private void Update()
    {
        if (EventSystem.current != null && EventSystem.current.IsPointerOverGameObject())
        {
            return;
        }
        if (Input.GetMouseButtonDown(0))
        {
            prevMousePosition = Input.mousePosition;
        }
        const int minAccuracyPixels = 10;

        if (Input.GetMouseButtonUp(0) && (prevMousePosition - Input.mousePosition).sqrMagnitude < minAccuracyPixels * minAccuracyPixels)
        {
            var        ray = mainCamera.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
            TitanView  titan = null;
            if (Physics.Raycast(ray, out hit, 20f))
            {
                titan = hit.collider.GetComponent <TitanView>();
                if (titan != null && (selectedTitan != titan))
                {
                    SelectTitan(titan);
                }
                var planet = hit.collider.GetComponent <PlanetView>();
                if (planet != null && selectedTitan != null)
                {
                    var           point = hit.point;
                    ResourcePoint resourcePoint;
                    selectedTitan.Titan.TryRemoveLastMoveTask();
                    if (planet.Planet.FindNearestResourcePoint(point, out resourcePoint))
                    {
                        selectedTitan.Titan.AddResourceTask(resourcePoint);
                    }
                    else
                    {
                        selectedTitan.Titan.AddMoveTask(point);
                    }
                }
            }
        }
        // if (Input.GetMouseButtonUp(1) && SelectedTitan != null && SelectedTitan.IsAlive && !RocketAimView.IsActive()) {
        //     var isCommandsQueue = false;
        //     if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) {
        //         isCommandsQueue = true;
        //     }
        //     if (!isCommandsQueue) {
        //         SelectedTitan.ClearTasks();
        //     }
        //     Vector3 clickPosition;
        //     if (planet.RaycastSurfacePoint(mainCamera.ScreenPointToRay(Input.mousePosition), out clickPosition)) {
        //         ResourcePointViewOld resourcePoint;
        //         if (planet.FindResourcePointClick(clickPosition, out resourcePoint)) {
        //             SelectedTitan.AddResourceTask(resourcePoint);
        //         } else {
        //             SelectedTitan.AddMoveTask(clickPosition);
        //         }
        //     }
        // }
    }
Ejemplo n.º 5
0
 private void SelectTitan(TitanView titanView)
 {
     // Enemy titan
     if (titanView.Titan.Faction != faction)
     {
         return;
     }
     if (selectedTitan != null)
     {
         selectedTitan.UpdateTaskList  -= UpdateTaskList;
         selectedTitan.UpdateResources -= UpdateResources;
     }
     selectedTitan = null;
     if (titanView == null || !titanView.Titan.IsAlive)
     {
         gameUI.SelectTitan();
         moveMarkers.HideSelection();
         // RocketAimView.Hide();
         return;
     }
     selectedTitan = titanView;
     selectedTitan.UpdateTaskList  += UpdateTaskList;
     selectedTitan.UpdateResources += UpdateResources;
     selectedTitan.UpdateModules   += UpdateModules;
     moveMarkers.SelectTitan(titanView);
     //RocketAimView.Hide();
     gameUI.SelectTitan(selectedTitan);
 }
Ejemplo n.º 6
0
 public void RemoveMarker(TitanView titan)
 {
     for (int i = 0; i < markers.Count; i++)
     {
         if (markers[i].Titan == null || markers[i].Titan == titan)
         {
             markers[i].Destroy();
         }
     }
 }
Ejemplo n.º 7
0
        public void Init(TitanView titan, PlanetView planet)
        {
            Titan            = titan;
            controlledPlanet = planet;
            var image = GetComponentInChildren <Image>();

            if (image != null)
            {
                image.color = titan.Titan.Faction.ID == 0 ? Color.blue : Color.red;
            }
        }
Ejemplo n.º 8
0
 public void SelectTitan(TitanView titan = null)
 {
     // if (selectedTitan != null) {
     //     selectedTitan.UnSubscribe(UpdateTitanStatus);
     // }
     selectedTitan = titan;
     // if (selectedTitan != null) {
     //     selectedTitan.Subscribe(UpdateTitanStatus);
     // }
     UpdateTitanStatus();
 }
Ejemplo n.º 9
0
 public void SelectTitan(TitanView titan)
 {
     timer = 0;
     gameObject.SetActive(true);
     needShowWeaponRange     = true; //  titan.Titan.Laser.IsActive;
     fireRadius              = 3;    //titan.Titan.Laser.Radius;
     transform.parent        = titan.transform;
     transform.localRotation = Quaternion.identity;
     transform.localPosition = Vector3.zero;
     fireRing.gameObject.SetActive(needShowWeaponRange);
     UpdateMarker(0);
 }
Ejemplo n.º 10
0
 public void Destroy()
 {
     Titan = null;
     Destroy(gameObject, destroyTime);
     scaleAnimator.Show(false);
 }
Ejemplo n.º 11
0
 public void OnRemoveTitan(TitanView titanView)
 {
     gameUI.RemoveMarker(titanView);
 }
Ejemplo n.º 12
0
 public void OnAddTitan(TitanView titanView, PlanetView planetView)
 {
     gameUI.AddMarker(titanView, planetView);
 }