Skip to content

Commit 27922a2

Browse files
committed
100
1 parent 2a9f5cd commit 27922a2

38 files changed

+4792
-566
lines changed

Assets/18811647_104108704164_2.jpg

212 KB
Loading

Assets/18811647_104108704164_2.jpg.meta

Lines changed: 92 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/AddressableAssetsData/AddressableAssetSettings.asset

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ MonoBehaviour:
6363
m_LabelTable:
6464
m_LabelNames:
6565
- default
66+
- Building
6667
m_SchemaTemplates: []
6768
m_GroupTemplateObjects:
6869
- {fileID: 11400000, guid: c7506949a2d77f64b90b34d8a212c83b, type: 2}

Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,31 @@ MonoBehaviour:
1717
m_SerializedData: []
1818
m_GUID: 65077e7bb908fb0488e68f6fcd4531a4
1919
m_SerializeEntries:
20+
- m_GUID: 2b4131ca5c4ae114c8feeedc2893680c
21+
m_Address: PowerBuilding
22+
m_ReadOnly: 0
23+
m_SerializedLabels:
24+
- Building
2025
- m_GUID: 2e0f595bdb2d2cd4784d34b557b1d924
21-
m_Address: Building
26+
m_Address: MainBuilding
27+
m_ReadOnly: 0
28+
m_SerializedLabels:
29+
- Building
30+
- m_GUID: ad88848010212ce459517428286721f6
31+
m_Address: SoliderBuilding
32+
m_ReadOnly: 0
33+
m_SerializedLabels:
34+
- Building
35+
- m_GUID: e32a1c7b776560f4381f2c16e03a8e33
36+
m_Address: TurretBuilding
2237
m_ReadOnly: 0
23-
m_SerializedLabels: []
38+
m_SerializedLabels:
39+
- Building
2440
- m_GUID: fdffe21397b161f4cbd7280f4a943778
2541
m_Address: BuildCheckCube
2642
m_ReadOnly: 0
27-
m_SerializedLabels: []
43+
m_SerializedLabels:
44+
- Building
2845
m_ReadOnly: 0
2946
m_Settings: {fileID: 11400000, guid: 7cf691406c1ad744f87484c0df2d2fc7, type: 2}
3047
m_SchemaSet:

Assets/AssetManager.cs

Lines changed: 0 additions & 13 deletions
This file was deleted.

Assets/BaseUnit.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
using System.Collections;
2+
using System.Collections.Generic;
3+
using UnityEngine;
4+
5+
public class BaseUnit : MonoBehaviour
6+
{
7+
public GameObject selectEffect;
8+
public void OnSelect()
9+
{
10+
selectEffect.SetActive(true);
11+
}
12+
public void OnDeSelect()
13+
{
14+
selectEffect.SetActive(false);
15+
}
16+
}

Assets/AssetManager.cs.meta renamed to Assets/BaseUnit.cs.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/BuildCheckCube.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,18 @@
44

55
public class BuildCheckCube : MonoBehaviour
66
{
7-
8-
public bool Check()
7+
public bool isBuildable;
8+
public void Check()
99
{
1010
if (Physics.CheckBox(transform.position, new Vector3(0.5f, 0, 0.5f),Quaternion.identity,LayerMask.GetMask("Building")))
1111
{
1212
GetComponent<SpriteRenderer>().color = Color.red;
13-
return false;
13+
isBuildable = false;
1414
}
1515
else
1616
{
1717
GetComponent<SpriteRenderer>().color = Color.green;
18-
return true;
18+
isBuildable = true;
1919
}
2020
}
2121

Assets/BuildManager.cs

Lines changed: 0 additions & 8 deletions
This file was deleted.

Assets/BuildTest.cs

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,29 @@
44
using UnityEngine.AddressableAssets;
55
using DreamerTool.Util;
66
using UnityEngine.ResourceManagement.AsyncOperations;
7+
using UnityEngine.InputSystem;
78

89
public class BuildTest : MonoBehaviour
910
{
10-
11+
1112
private BoxCollider selectBuilding;
1213
List<BuildCheckCube> checkCubeList = new List<BuildCheckCube>();
14+
1315
private void Awake()
1416
{
15-
17+
Addressables.LoadAssetsAsync<GameObject>("Building",null);
1618
}
17-
public void SetSelectBuilding()
19+
20+
public void SetSelectBuilding(int buildType)
1821
{
19-
Addressables.InstantiateAsync("Building").Completed += InitSelectBuilding;
22+
if(selectBuilding!=null)
23+
{
24+
Destroy(selectBuilding.gameObject);
25+
selectBuilding = null;
26+
checkCubeList.Clear();
27+
}
28+
var hit = DreamerUtil.GetMouseHit();
29+
Addressables.InstantiateAsync(((BuildingType)buildType).ToString(), hit.point, Quaternion.identity).Completed += InitSelectBuilding;
2030
}
2131
public void InitSelectBuilding(AsyncOperationHandle<GameObject> handle)
2232
{
@@ -30,13 +40,29 @@ public void InitSelectBuilding(AsyncOperationHandle<GameObject> handle)
3040
int tempi = i;
3141
int tempj = j;
3242
Addressables.InstantiateAsync("BuildCheckCube", selectBuilding.transform).Completed += (a) => {
33-
a.Result.transform.localPosition = new Vector3(tempi, selectBuilding.bounds.center.y + point.y + 0.25f, tempj);
43+
a.Result.transform.localPosition = new Vector3(tempi, 0.1f , tempj);
3444
a.Result.transform.rotation = Quaternion.Euler(90, 0, 0);
3545
checkCubeList.Add(a.Result.GetComponent<BuildCheckCube>());
3646
};
3747
}
3848
}
3949
}
50+
public void Build()
51+
{
52+
foreach (var checkCube in checkCubeList)
53+
{
54+
if (!checkCube.isBuildable)
55+
return;
56+
}
57+
58+
selectBuilding.gameObject.layer = LayerMask.NameToLayer("Building");
59+
selectBuilding = null;
60+
foreach (var checkCube in checkCubeList)
61+
{
62+
Destroy(checkCube.gameObject);
63+
}
64+
checkCubeList.Clear();
65+
}
4066
void HandleSelectBuildingCursor()
4167
{
4268
if (selectBuilding == null)
@@ -50,9 +76,19 @@ void HandleSelectBuildingCursor()
5076
{
5177
checkCube.Check();
5278
}
79+
80+
if(Mouse.current.leftButton.wasPressedThisFrame)
81+
{
82+
Build();
83+
}
84+
5385
}
86+
5487
void Update()
5588
{
5689
HandleSelectBuildingCursor();
90+
91+
92+
5793
}
5894
}

0 commit comments

Comments
 (0)