public ColossusMission GetColossusMissionPerTarget(GameEntityGUID targetGuid) { for (int i = 0; i < base.AICommanders.Count; i++) { AICommander_Colossus aicommander_Colossus = base.AICommanders[i] as AICommander_Colossus; if (aicommander_Colossus != null && aicommander_Colossus.CurrentColossusMission != null && aicommander_Colossus.CurrentColossusMission.TargetGuid == targetGuid) { return(aicommander_Colossus.CurrentColossusMission); } } return(null); }
private void UpdateColossusMissions() { for (int i = 0; i < this.colossusData.Count; i++) { Unit unit = this.colossusData[i].Army.StandardUnits[0]; ColossusMission colossusMissionPerColossus = this.GetColossusMissionPerColossus(unit.GUID); if (colossusMissionPerColossus != null) { for (int j = 0; j < this.refreshColossusMissions.Count; j++) { this.refreshColossusMissions[j](colossusMissionPerColossus, unit); } } } for (int k = 0; k < this.colossusData.Count; k++) { Unit unit2 = this.colossusData[k].Army.StandardUnits[0]; ColossusMission colossusMission = this.GetColossusMissionPerColossus(unit2.GUID); bool flag = false; for (int l = 0; l < this.refreshColossusMissions.Count; l++) { ColossusMission colossusMission2 = this.updateColossusMissions[l](colossusMission, unit2); if (colossusMission2 != null) { flag = true; colossusMission = colossusMission2; } } if (flag) { for (int m = 0; m < base.AICommanders.Count; m++) { if (base.AICommanders[m].ForceArmyGUID == this.colossusData[k].Army.GUID) { AICommander_Colossus aicommander_Colossus = this.aiCommanders[k] as AICommander_Colossus; aicommander_Colossus.ChangeColossusMission(colossusMission); } } } } }