merloj: finished basic communication

- rough, working design for now, needs to be polished
This commit is contained in:
Maciekxdabu 2022-06-03 13:53:29 +02:00
parent ed8f316588
commit d5e2c9ae1b
5 changed files with 28 additions and 8 deletions

View File

@ -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}

View File

@ -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);
}
}
}

View File

@ -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;

View File

@ -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;

View File

@ -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();
}