mirror of
https://github.com/kuhyx/WUT_Computer_Science.git
synced 2026-07-04 15:43:16 +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: []
|
||||
tileCoord: {x: 0, y: 0}
|
||||
WORLD_SPACE_OFFSET: {x: 0.5, y: 0.5, z: 0.5}
|
||||
MySquad: {fileID: 0}
|
||||
rangeAttack: 3
|
||||
rangeView: 1
|
||||
damageAttack: 25
|
||||
damageAttack: 0
|
||||
speedAttack: 2
|
||||
lastAttackTick: -1
|
||||
target: {fileID: 0}
|
||||
|
||||
@ -45,12 +45,17 @@ public class Communication : MonoBehaviour
|
||||
break;
|
||||
}
|
||||
}
|
||||
Debug.Log(result.resetTTL);
|
||||
|
||||
// look fo enemies (enemyTeam) - add Enemies to enemiesSpotted (send List<Enemies>)
|
||||
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;
|
||||
@ -73,10 +78,10 @@ public class Communication : MonoBehaviour
|
||||
Vector2Int curTile = new Vector2Int(i, j);
|
||||
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)
|
||||
soldiersFound.Add(newSoldier);
|
||||
if (newSoldier != null && newSoldier.GetType() != typeof(Base))
|
||||
soldiersFound.Add((Soldier)newSoldier);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -105,7 +105,13 @@ public class Soldier : Entity
|
||||
|
||||
if (cResult.resetTTL)
|
||||
{
|
||||
//reset TTL
|
||||
MySquad.AddSoldierToSquad(this);
|
||||
|
||||
foreach (Soldier sold in cResult.enemiesSpotted)
|
||||
{
|
||||
MySquad.AddSpottedEnemy(sold);
|
||||
}
|
||||
}
|
||||
|
||||
ref Queue<Action> queueToHandle = ref interrupts;
|
||||
|
||||
@ -65,6 +65,11 @@ public class Squad : MonoBehaviour
|
||||
soldier.OnDeath.RemoveListener(RemoveSoldierFromSquad);
|
||||
}
|
||||
|
||||
public void AddSpottedEnemy(Entity enemy)
|
||||
{
|
||||
enemiesSpotted.AddToList(enemy);
|
||||
}
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
TickSystem.OnTick += HandleTick;
|
||||
|
||||
@ -21,8 +21,11 @@ public class TTLList<T> where T : UnityEngine.Object
|
||||
public void AddToList(T obj)
|
||||
{
|
||||
Debug.Log(obj);
|
||||
dict.Add(obj, basicTTL);
|
||||
Debug.Log("Added object to dictionary", obj);
|
||||
if (dict.ContainsKey(obj))
|
||||
dict[obj] = basicTTL;
|
||||
else
|
||||
dict.Add(obj, basicTTL);
|
||||
Debug.Log("Added/Changed object in dictionary", obj);
|
||||
UpdateViewList();
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user