public void SelectUnit()
        {
            RenderUnitRanges.CreateRanges();


            if (SelectionManager.Current.Selection.Ids.Count <= 0)
            {
            }
            else
            {
                UnitInstance Uinst = SelectionManager.Current.AffectedGameObjects[SelectionManager.Current.Selection.Ids[0]].GetComponent <UnitInstance>();

                if (Uinst != null)
                {
                    UnitName.SetValue(Uinst.Owner.Name);
                    SelectedUnitsGroup.text = Uinst.Owner.Parent.Name + " (" + Uinst.Owner.Parent.Owner.Name + ")";

                    UnitStats.text = Uinst.UnitRenderer.BP.CodeName + "\n"
                                     + "Reclaim: Mass: " + (Uinst.UnitRenderer.BP.BuildCostMass * Uinst.UnitRenderer.BP.Wreckage_MassMult)
                                     + ", Energy: " + (Uinst.UnitRenderer.BP.BuildCostEnergy * Uinst.UnitRenderer.BP.Wreckage_EnergyMult)
                                     + "\nVision radius: " + Uinst.UnitRenderer.BP.VisionRadius
                                     + ((Uinst.UnitRenderer.BP.MaxRange > 0) ? ("\nWeapon range: " + Uinst.UnitRenderer.BP.MaxRange) : "");
                    return;
                }
            }


            // Default
            UnitName.SetValue("");
            SelectedUnitsGroup.text = "";
            UnitStats.text          = "";
        }
Esempio n. 2
0
 private void OnDisable()
 {
     ClearRename();
     ForceExitCreate();
     PlacementManager.OnDropOnGameplay -= DropAtGameplay;
     SelectionManager.Current.ClearAffectedGameObjects();
     RenderUnitRanges.Clear();
 }
    private void Awake()
    {
        Instance = this;

        for (int i = 0; i < MaxUnitRanges; i++)
        {
            UnitRanges[i] = new UnitRange();
        }
    }
    public void OnRenderObject()
    {
        if (PreviewTex.IsPreview || !MapLuaParser.IsMapLoaded)
        {
            return;
        }

        if (!Markers.MarkersControler.Current.MarkerLayersSettings.SpawnRanges)
        {
            return;
        }

        lineMaterial.SetPass(0);

        var scenario = MapLuaParser.Current.ScenarioLuaFile.Data;

        for (int c = 0; c < scenario.Configurations.Length; c++)
        {
            for (int t = 0; t < scenario.Configurations[c].Teams.Length; t++)
            {
                for (int a = 0; a < scenario.Configurations[c].Teams[t].Armys.Count; a++)
                {
                    MapLua.SaveLua.Marker ArmyMarker = MapLua.SaveLua.GetMarker(scenario.Configurations[c].Teams[t].Armys[a].Name);

                    if (ArmyMarker != null && ArmyMarker.MarkerObj != null && ArmyMarker.MarkerType == MapLua.SaveLua.Marker.MarkerTypes.BlankMarker)
                    {
                        Vector3 pos = ArmyMarker.MarkerObj.transform.localPosition;
                        for (int i = 0; i < UtilityRanges.Length; i++)
                        {
                            RenderUnitRanges.DrawDottedCircle(pos, UtilityRanges[i], BuildRangeColor);
                        }
                        for (int i = 0; i < AtackRanges.Length; i++)
                        {
                            RenderUnitRanges.DrawDottedCircle(pos, AtackRanges[i], AttackRangeColor);
                        }
                    }
                }
            }
        }
    }