Browse Source

Fleets Panel für Gegner

bolt_update
laurids 3 years ago
parent
commit
424c4789f4
8 changed files with 18527 additions and 18348 deletions
  1. +275
    -0
      Assets/GWConquest/Prefabs/UI/FleetsPanel.prefab
  2. +7
    -0
      Assets/GWConquest/Prefabs/UI/FleetsPanel.prefab.meta
  3. +18203
    -18304
      Assets/GWConquest/Scenes/GalaxyMap.unity
  4. +14
    -0
      Assets/GWConquest/Scripts/UI/GWLayout.cs
  5. +25
    -11
      Assets/GWConquest/Scripts/UI/GalaxyMapUI.cs
  6. +1
    -10
      Assets/GWConquest/Scripts/UI/ProductionMenu.cs
  7. +1
    -11
      Assets/GWConquest/Scripts/UI/TransportUI.cs
  8. +1
    -12
      Assets/GWConquest/Scripts/UI/UnitInfoPanel.cs

+ 275
- 0
Assets/GWConquest/Prefabs/UI/FleetsPanel.prefab View File

@ -0,0 +1,275 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &739669690
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 739669691}
- component: {fileID: 739669694}
- component: {fileID: 739669693}
- component: {fileID: 739669692}
m_Layer: 5
m_Name: FleetText
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &739669691
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 739669690}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 799397620141813293}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 14.72}
m_SizeDelta: {x: 0, y: 33.431747}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &739669694
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 739669690}
m_CullTransparentMesh: 0
--- !u!114 &739669693
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 739669690}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.7921569}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: c47f9c9ae53006b46bef8b5c48a002a5, type: 3}
m_FontSize: 23
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 300
m_Alignment: 1
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 1
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Republic Fleets
--- !u!114 &739669692
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 739669690}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3}
m_Name:
m_EditorClassIdentifier:
m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
m_EffectDistance: {x: 2, y: -2}
m_UseGraphicAlpha: 1
--- !u!1 &2125271039
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2125271040}
- component: {fileID: 2125271041}
m_Layer: 5
m_Name: FleetIcons
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2125271040
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2125271039}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 799397620141813293}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -2}
m_SizeDelta: {x: -10, y: -14}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &2125271041
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2125271039}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 048208b8918c3c74c821e2e69e3d613d, type: 3}
m_Name:
m_EditorClassIdentifier:
padding:
m_Left: 10
m_Right: 5
m_Top: 0
m_Bottom: 0
Spacing: {x: 15, y: 0}
--- !u!1001 &7358977232838604920
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 3709556431398436641, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_Name
value: FleetsPanel Variant
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_Pivot.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_AnchorMax.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_AnchorMin.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_SizeDelta.x
value: 224.84775
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_SizeDelta.y
value: 94.37462
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_AnchoredPosition.x
value: -280.7
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 9.838814
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 8b0edf9c7ac699a4da4b06f9b352ff47, type: 3}
--- !u!224 &799397620141813293 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47,
type: 3}
m_PrefabInstance: {fileID: 7358977232838604920}
m_PrefabAsset: {fileID: 0}

+ 7
- 0
Assets/GWConquest/Prefabs/UI/FleetsPanel.prefab.meta View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 050563ffe1cf76a4ca6ad29e50cca378
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

+ 18203
- 18304
Assets/GWConquest/Scenes/GalaxyMap.unity
File diff suppressed because it is too large
View File


+ 14
- 0
Assets/GWConquest/Scripts/UI/GWLayout.cs View File

@ -96,6 +96,20 @@ namespace GWConquest
} }
public static void UpdateGameObjects<T,V>(List<V> updatables, List<T> objects, GameObject prefab, RectTransform parentTransform, Func<T,T,bool> objectComparer = null) where V : IUpdatable<T>{
UpdateGameObjects(updatables, objects, obj => {
var objGO = UnityEngine.Object.Instantiate(prefab);
InitRectTransform(objGO.GetComponent<RectTransform>(), parentTransform);
var updatable = objGO.GetComponent<V>();
updatable.UpdateDisplay(obj);
return updatable;
}, objectComparer);
}
public static void InitRectTransform(RectTransform rt, Transform parent) public static void InitRectTransform(RectTransform rt, Transform parent)
{ {
rt.SetParent(parent); rt.SetParent(parent);


+ 25
- 11
Assets/GWConquest/Scripts/UI/GalaxyMapUI.cs View File

@ -18,8 +18,15 @@ namespace GWConquest
public GameObject PlayerFleetPanel; public GameObject PlayerFleetPanel;
public Text PlayerFleetText; public Text PlayerFleetText;
public RectTransform PlayerFleetTransform; public RectTransform PlayerFleetTransform;
[System.NonSerialized]
public List<FormationIcon> PlayerFormationIcons = new List<FormationIcon>(); public List<FormationIcon> PlayerFormationIcons = new List<FormationIcon>();
public GameObject EnemyFleetPanel;
public Text EnemyFleetText;
public RectTransform EnemyFleetTransform;
[System.NonSerialized]
public List<FormationIcon> EnemyFormationIcons = new List<FormationIcon>();
private Planet SelectedPlanet; private Planet SelectedPlanet;
@ -64,29 +71,36 @@ namespace GWConquest
{ {
var formations = SelectedPlanet.GetMainZone(ZoneType.Space).Formations; var formations = SelectedPlanet.GetMainZone(ZoneType.Space).Formations;
var playerFormations = formations.Where(f => f.Player == Player.CurrentPlayer).ToList();
GWLayout.UpdateGameObjects(PlayerFormationIcons, playerFormations, f => {
var itemIconGO = Instantiate(FormationIconPrefab);
GWLayout.InitRectTransform(itemIconGO.GetComponent<RectTransform>(), PlayerFleetTransform);
var currentPlayer = Player.CurrentPlayer;
var itemIconComp = itemIconGO.GetComponent<FormationIcon>();
var playerFormations = formations.Where(f => f.Player == currentPlayer).ToList();
var enemyFormations = formations.Where(f => f.Player != currentPlayer).ToList();
itemIconComp.UpdateDisplay(f);
return itemIconComp;
});
GWLayout.UpdateGameObjects(PlayerFormationIcons, playerFormations, FormationIconPrefab, PlayerFleetTransform);
GWLayout.UpdateGameObjects(EnemyFormationIcons, enemyFormations, FormationIconPrefab, EnemyFleetTransform);
if(playerFormations.Count > 0) if(playerFormations.Count > 0)
{ {
PlayerFleetPanel.SetActive(true); PlayerFleetPanel.SetActive(true);
PlayerFleetText.text = Player.CurrentPlayer.Faction.ShortName + " Fleets";
PlayerFleetText.text = currentPlayer.Faction.ShortName + " Fleets";
} }
else { else {
PlayerFleetPanel.SetActive(false); PlayerFleetPanel.SetActive(false);
} }
if(enemyFormations.Count > 0)
{
var enemyPlayer = enemyFormations[0].Player;
EnemyFleetPanel.SetActive(true);
EnemyFleetText.text = enemyPlayer.Faction.ShortName + " Fleets";
}
else {
EnemyFleetPanel.SetActive(false);
}
} }
} }


+ 1
- 10
Assets/GWConquest/Scripts/UI/ProductionMenu.cs View File

@ -40,16 +40,7 @@ namespace GWConquest
factory = _factory; factory = _factory;
unitClasses = factory.GetAvailableUnitClasses().ToList(); unitClasses = factory.GetAvailableUnitClasses().ToList();
GWLayout.UpdateGameObjects(iconList, unitClasses, uc => {
var itemIconGO = Instantiate(IconPrefab);
GWLayout.InitRectTransform(itemIconGO.GetComponent<RectTransform>(), Content);
var itemIconComp = itemIconGO.GetComponent<ProductionMenuIcon>();
itemIconComp.UpdateDisplay(uc);
return itemIconComp;
});
GWLayout.UpdateGameObjects(iconList, unitClasses, IconPrefab, Content);
} }


+ 1
- 11
Assets/GWConquest/Scripts/UI/TransportUI.cs View File

@ -150,17 +150,7 @@ namespace GWConquest
var addedItems = Inventory.AddAllItems(itemStacks); var addedItems = Inventory.AddAllItems(itemStacks);
GWLayout.UpdateGameObjects(panel.ItemIconList, addedItems.ToList(), item => {
var itemIconGO = Instantiate(ItemIconPrefab);
GWLayout.InitRectTransform(itemIconGO.GetComponent<RectTransform>(), panel.ItemsTransform);
var itemIconComp = itemIconGO.GetComponent<TransportUIItemIcon>();
itemIconComp.UpdateDisplay(item);
return itemIconComp;
}, (i1,i2) => ItemStack.ItemsEqual(i1,i2));
GWLayout.UpdateGameObjects(panel.ItemIconList, addedItems.ToList(), ItemIconPrefab, panel.ItemsTransform, (i1, i2) => ItemStack.ItemsEqual(i1, i2));
} }
public void SelectUnit(TransportUIUnitIcon icon) public void SelectUnit(TransportUIUnitIcon icon)


+ 1
- 12
Assets/GWConquest/Scripts/UI/UnitInfoPanel.cs View File

@ -150,18 +150,7 @@ namespace GWConquest
UpdateEquipment(); UpdateEquipment();
var items = CurrentUnit.Inventory.ToList(); var items = CurrentUnit.Inventory.ToList();
GWLayout.UpdateGameObjects(ItemIconList, items, item => {
var itemIconGO = Instantiate(ItemIconPrefab);
itemIconGO.GetComponent<RectTransform>().SetParent(InventoryTransform);
itemIconGO.GetComponent<RectTransform>().anchoredPosition = Vector2.zero;
var itemIconComp = itemIconGO.GetComponent<TransportUIItemIcon>();
itemIconComp.UpdateDisplay(item);
return itemIconComp;
}, (i1,i2) => ItemStack.ItemsEqual(i1,i2));
GWLayout.UpdateGameObjects(ItemIconList, items, ItemIconPrefab, InventoryTransform, (i1,i2) => ItemStack.ItemsEqual(i1,i2));
} }


Loading…
Cancel
Save