public List <FactionInfo> GetAllOfDiplomacy(FactionInfo faction, FactionDiplomacy diplomacy) { List <FactionInfo> returnvalue = new List <FactionInfo>(); int dval = (int)diplomacy; FactionDiplomacy ovalue; for (int other = 0; other < factioncount; ++other) { if (faction.factionNumber != other) { long key = GetDiplomacyKey(faction.factionNumber, other); if (factionDiplomacies.TryGetValue(key, out ovalue)) { if ((dval & (int)ovalue) == dval) { returnvalue.Add(new FactionInfo(other, this)); } } else { factionDiplomacies[key] = FactionDiplomacy.Neutral; if ((dval & (int)FactionDiplomacy.Neutral) == dval) { returnvalue.Add(new FactionInfo(other, this)); } } } } return(returnvalue); }
public void ChangeSceneToDiploWar() { SaveAndLoad saveAndLoad = FindObjectOfType <SaveAndLoad>(); FactionDiplomacy factionDiplomacy = FindObjectOfType <FactionDiplomacy>(); GameManager.gameManager.agentsToCombat = factionDiplomacy.agentsRecruited; saveAndLoad.SaveGame(); SceneManager.LoadScene("DiplomacyWar"); }
public bool IsDiplomacy(FactionInfo first, FactionInfo second, FactionDiplomacy diplomacy) { long key = GetDiplomacyKey(first.factionNumber, second.factionNumber); FactionDiplomacy returnvalue; int dval = (int)diplomacy; if (factionDiplomacies.TryGetValue(key, out returnvalue)) { return((dval & (int)(returnvalue)) == dval); } else { return((dval & (int)(factionDiplomacies[key] = FactionDiplomacy.Neutral)) == dval); } }
void Awake() { menuUI.SetActive(false); unitMenuUI.SetActive(false); State = ControlState.DESELECTED; Heights = new Dictionary <MapCoordinate, int>(); // Register Tiles MBTile[] tileList = FindObjectsOfType <MBTile>(); foreach (MBTile tile in tileList) { Vector3 tilePos = tile.transform.position; MapCoordinate mapCoordinate = new MapCoordinate(Mathf.RoundToInt(tilePos.x), Mathf.RoundToInt(tilePos.z)); tiles.Add(mapCoordinate, tile); Heights.Add(mapCoordinate, Mathf.RoundToInt(tilePos.y - tile.transform.localPosition.y)); tile.setStage(this); } // Register Factions HashSet <Faction> factions = new HashSet <Faction>(); foreach (MBUnit mbUnit in FindObjectsOfType <MBUnit>()) { factions.Add(mbUnit.Unit.Faction); } FactionDiplomacy = new FactionDiplomacy(factions); // Register Units foreach (MBUnit mbUnit in FindObjectsOfType <MBUnit>()) { Vector3 unitPos = mbUnit.transform.position; MapCoordinate mapCoordinate = new MapCoordinate(Mathf.RoundToInt(unitPos.x), Mathf.RoundToInt(unitPos.z)); units.Add(mbUnit, mapCoordinate); mbUnit.setStage(this); FactionDiplomacy.RegisterUnit(mbUnit); } }
public List <FactionInfo> GetAllOfDiplomacy(FactionDiplomacy diplomacy) { return(DefaultFactionCollection.GetAllOfDiplomacy(this, diplomacy)); }
public void SetDiplomacy(FactionInfo first, FactionInfo second, FactionDiplomacy diplomacy) { factionDiplomacies[GetDiplomacyKey(first.factionNumber, second.factionNumber)] = diplomacy; }
private void Start() { mOver = FindObjectOfType <MouseOver>(); factionDiplomacy = FindObjectOfType <FactionDiplomacy>(); }
private void Start() { //listToShowInUI = new List<DiplomacyAgent>(); factionDiplomacy = FindObjectOfType <FactionDiplomacy>(); }