mirror of
https://github.com/kuhyx/WUT_Computer_Science.git
synced 2026-07-06 17:43:03 +02:00
merloj: finished basic communication
- rough, working design for now, needs to be polished
This commit is contained in:
parent
ed8f316588
commit
d5e2c9ae1b
@ -75,9 +75,10 @@ MonoBehaviour:
|
|||||||
m_Calls: []
|
m_Calls: []
|
||||||
tileCoord: {x: 0, y: 0}
|
tileCoord: {x: 0, y: 0}
|
||||||
WORLD_SPACE_OFFSET: {x: 0.5, y: 0.5, z: 0.5}
|
WORLD_SPACE_OFFSET: {x: 0.5, y: 0.5, z: 0.5}
|
||||||
|
MySquad: {fileID: 0}
|
||||||
rangeAttack: 3
|
rangeAttack: 3
|
||||||
rangeView: 1
|
rangeView: 1
|
||||||
damageAttack: 25
|
damageAttack: 0
|
||||||
speedAttack: 2
|
speedAttack: 2
|
||||||
lastAttackTick: -1
|
lastAttackTick: -1
|
||||||
target: {fileID: 0}
|
target: {fileID: 0}
|
||||||
|
|||||||
@ -45,12 +45,17 @@ public class Communication : MonoBehaviour
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Debug.Log(result.resetTTL);
|
|
||||||
|
|
||||||
// look fo enemies (enemyTeam) - add Enemies to enemiesSpotted (send List<Enemies>)
|
// look fo enemies (enemyTeam) - add Enemies to enemiesSpotted (send List<Enemies>)
|
||||||
if (result.resetTTL)//only check for enemies if you can see your squad
|
if (result.resetTTL)//only check for enemies if you can see your squad
|
||||||
{
|
{
|
||||||
|
foreach (Soldier sold in soldiersFound)
|
||||||
|
{
|
||||||
|
if (sold.GetOwnTeam() != myTeam)
|
||||||
|
{
|
||||||
|
result.enemiesSpotted.Add(sold);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@ -73,10 +78,10 @@ public class Communication : MonoBehaviour
|
|||||||
Vector2Int curTile = new Vector2Int(i, j);
|
Vector2Int curTile = new Vector2Int(i, j);
|
||||||
if ( (curTile - curPos).sqrMagnitude <= rangeSQR && curTile != curPos)//is current Tile in a circular range (and not our tile)
|
if ( (curTile - curPos).sqrMagnitude <= rangeSQR && curTile != curPos)//is current Tile in a circular range (and not our tile)
|
||||||
{
|
{
|
||||||
Soldier newSoldier = (Soldier)TilemapManager.GetSoldierS(i, j);
|
Entity newSoldier = TilemapManager.GetSoldierS(i, j);
|
||||||
|
|
||||||
if (newSoldier != null)
|
if (newSoldier != null && newSoldier.GetType() != typeof(Base))
|
||||||
soldiersFound.Add(newSoldier);
|
soldiersFound.Add((Soldier)newSoldier);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -105,7 +105,13 @@ public class Soldier : Entity
|
|||||||
|
|
||||||
if (cResult.resetTTL)
|
if (cResult.resetTTL)
|
||||||
{
|
{
|
||||||
|
//reset TTL
|
||||||
|
MySquad.AddSoldierToSquad(this);
|
||||||
|
|
||||||
|
foreach (Soldier sold in cResult.enemiesSpotted)
|
||||||
|
{
|
||||||
|
MySquad.AddSpottedEnemy(sold);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ref Queue<Action> queueToHandle = ref interrupts;
|
ref Queue<Action> queueToHandle = ref interrupts;
|
||||||
|
|||||||
@ -65,6 +65,11 @@ public class Squad : MonoBehaviour
|
|||||||
soldier.OnDeath.RemoveListener(RemoveSoldierFromSquad);
|
soldier.OnDeath.RemoveListener(RemoveSoldierFromSquad);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void AddSpottedEnemy(Entity enemy)
|
||||||
|
{
|
||||||
|
enemiesSpotted.AddToList(enemy);
|
||||||
|
}
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
TickSystem.OnTick += HandleTick;
|
TickSystem.OnTick += HandleTick;
|
||||||
|
|||||||
@ -21,8 +21,11 @@ public class TTLList<T> where T : UnityEngine.Object
|
|||||||
public void AddToList(T obj)
|
public void AddToList(T obj)
|
||||||
{
|
{
|
||||||
Debug.Log(obj);
|
Debug.Log(obj);
|
||||||
dict.Add(obj, basicTTL);
|
if (dict.ContainsKey(obj))
|
||||||
Debug.Log("Added object to dictionary", obj);
|
dict[obj] = basicTTL;
|
||||||
|
else
|
||||||
|
dict.Add(obj, basicTTL);
|
||||||
|
Debug.Log("Added/Changed object in dictionary", obj);
|
||||||
UpdateViewList();
|
UpdateViewList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user