public static void HandleBuildHQ(int fromClient, Packet packet) { int clientIDCheck = packet.ReadInt(); if (fromClient != clientIDCheck) { Console.WriteLine($"Player with ID: \"{fromClient}\" has assumed the wrong client ID: \"{clientIDCheck}\"!"); } Player player = Server.clients[fromClient].Player; HexCoordinates coordinates = packet.ReadHexCoordinates(); Headquarter hq = new Headquarter(); if (GameLogic.VerifyBuildHQ(coordinates, hq, player)) { Tribe tribe = GameLogic.ApplyBuildHQ(coordinates, hq); player.Tribe = tribe; ServerSend.BroadcastApplyBuildHQ(coordinates); ServerSend.BroadcastPlayer(player); Console.WriteLine("Player: " + player.Name + " successfully placed a HQ."); } else { Console.WriteLine("Player: " + player.Name + " failed to build HQ"); } Server.SaveGame(); }
public SplitClanPreventTribeSplitEventMessage(Clan clan, Tribe tribe, Agent agent, long date) : base(clan, WorldEvent.SplitClanPreventTribeSplitEventId, date) { clan.World.AddMemorableAgent(agent); AgentId = agent.Id; TribeId = tribe.Id; }
private IEnumerable <UnitModel> GetDeffenceUnits(Tribe tribe) { return(_units .Where(x => x.Tribe == tribe && (x.UnitType == UnitType.FOOT_TROOPS || x.UnitType == UnitType.CAVALRY) && (x.Attack < x.DeffenceAgainstCavalry || x.Attack < x.DeffenceAgainstInfantry))); }
public async Task <IHttpActionResult> PutTribe(int id, Tribe tribe) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != tribe.Id) { return(BadRequest()); } db.Entry(tribe).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TribeExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
private void Start() { instance = this; hp_Point = 200f; attack_Point = 3f; attack_Speed = 1.0f; move_Speed = 0.3f; playerTribe = Tribe.Demon; playerState = State.Wating; for (int i = 0; ; i++) { try { GameObject c = item_Set_Position.transform.GetChild(i).gameObject; item_List.Add(c); } catch { break; } } SendStatusData(); //초기실행시 필수 }
public static Packet GameState() { Packet packet = new Packet(); packet.Write(GameLogic.grid); //Send other Players packet.Write(GameLogic.Players.Count); foreach (Player player in GameLogic.Players) { packet.Write(player.Name); Tribe tribe = player.Tribe; if (tribe == null) { packet.Write((byte)255); } else { packet.Write(player.Tribe.Id); } packet.Write(player.Position); packet.Write(player.TroopInventory); } return(packet); }
/// <summary> /// Edit: PlayerTribeSelector /// </summary> private void MarkersGrid_EndCustomEdit(object sender, EndCustomEditEventArgs e) { if (e.Column.Key == "Name") { var oldMarker = e.Row.DataRow as MarkerGridRow; if (oldMarker == null || e.Row.RowType == RowType.NewRecord) { //oldMarker = new MarkerGridRow(); //oldMarker.Enabled = (bool)e.Row.GridEX.GetValue("Enabled"); object selected = _playerTribeSelector.Tribe ?? (object)_playerTribeSelector.Player; e.Value = selected; e.DataChanged = true; } else { Player newPlayer = _playerTribeSelector.Player; Tribe newTribe = _playerTribeSelector.Tribe; if (newPlayer != oldMarker.Player || newTribe != oldMarker.Tribe) { DeleteMarker(oldMarker); oldMarker.Player = newPlayer; oldMarker.Tribe = newTribe; UpdateMarker(oldMarker, oldMarker.GetMarkerSettings()); object selected = _playerTribeSelector.Tribe ?? (object)_playerTribeSelector.Player; e.Value = selected; e.DataChanged = true; } } } }
public TribeContextMenu(Map map, Tribe tribe) { _tribe = tribe; _menu = JanusContextMenu.Create(); if (map.Display.IsVisible(tribe)) { _menu.AddCommand(ControlsRes.ContextMenu_Pinpoint, OnPinPoint); } _menu.AddCommand(ControlsRes.ContextMenu_PinpointAndCenter, OnPinpointAndCenter, Properties.Resources.TeleportIcon); _menu.AddSeparator(); var markerContext = new MarkerContextMenu(map, tribe); _menu.AddMarkerContextCommands(markerContext); _menu.AddSeparator(); _menu.AddCommand(ControlsRes.ContextMenu_TwStats, OnTwStats); _menu.AddCommand(ControlsRes.ContextMenu_TwGuest, OnTwGuest); _menu.AddSeparator(); _menu.AddCommand(ControlsRes.ContextMenu_ToClipboard, OnToClipboard, Properties.Resources.clipboard); _menu.AddCommand(ControlsRes.ContextMenu_ToBbCode, OnBbCode, Properties.Resources.clipboard); }
public override void Reset(long newTriggerDate) { base.Reset(newTriggerDate); _demandClan = Faction as Clan; _originalTribe = OriginalPolity as Tribe; }
public ClanDemandsInfluenceDecisionEvent(Clan demandClan, FactionEventData data) : base(demandClan, data) { _demandClan = demandClan; _originalTribe = World.GetPolity(data.OriginalPolityId) as Tribe; DoNotSerialize = true; }
public override void Reset(long newTriggerDate) { base.Reset(newTriggerDate); _sourceTribe = Polity as Tribe; _originalSourceDominantClan = Polity.DominantFaction as Clan; }
public void SpawnTribe(AnimalProperties properties) { Tribe tribe = new Tribe(_world, properties); tribe.TribeColor = new Color(255, 255, 255); AddTribe(tribe); }
public FosterTribeRelationDecisionEvent(Tribe sourceTribe, long triggerDate) : base(sourceTribe, triggerDate, FosterTribeRelationDecisionEventId) { _sourceTribe = sourceTribe; _originalSourceDominantClan = sourceTribe.DominantFaction as Clan; DoNotSerialize = true; }
public FosterTribeRelationDecisionEvent(Tribe sourceTribe, PolityEventData data) : base(sourceTribe, data) { _sourceTribe = sourceTribe; _originalSourceDominantClan = World.GetFaction(data.OriginalDominantFactionId) as Clan; DoNotSerialize = true; }
public void TribeList() { Tribes = new Dictionary <int, Tribe>(); try { var TribeSheet = MainWindow.Realm.GameData.GetSheet <SaintCoinach.Xiv.Tribe>(); foreach (var Parse in TribeSheet) { var tribe = new Tribe { Index = Parse.Key, Name = Parse.Feminine }; if (Parse.Key == 0) { tribe.Name = "None"; } Tribes.Add(Parse.Key, tribe); } } catch (Exception) { Tribes = null; //throw; } }
public void TribeList() { Tribes = new Dictionary <int, Tribe>(); try { var TribeSheet = MainWindow.Realm.GameData.GetSheet <SaintCoinach.Xiv.Tribe>(); foreach (var Parse in TribeSheet) { Tribe tribe = new Tribe(); tribe.Index = Parse.Key; tribe.Name = Parse.Feminine; if (Parse.Key == 0) { tribe.Name = "None"; } Tribes.Add(Parse.Key, tribe); // Console.WriteLine($"{Parse.Key} {Parse.Feminine}"); } } catch (Exception e) { Tribes = null; throw; } }
private static string GenerateDescriptionIntro(Tribe sourceTribe, Tribe targetTribe) { return (sourceTribe.CurrentLeader.Name.BoldText + ", leader of " + sourceTribe.GetNameAndTypeStringBold() + ", is proposing " + targetTribe.GetNameAndTypeStringBold() + " merge into " + sourceTribe.CurrentLeader.PossessiveNoun + " tribe.\n\n" + "By accepting this proposal, " + targetTribe.GetNameAndTypeStringBold() + " will disappear.\n\n"); }
public static void LeaderPreventsSplit(Clan splitClan, Clan dominantClan, Tribe tribe, long eventId) { float charismaFactor = splitClan.CurrentLeader.Charisma / 10f; float wisdomFactor = splitClan.CurrentLeader.Wisdom / 15f; float attributesFactor = Mathf.Max(charismaFactor, wisdomFactor); attributesFactor = Mathf.Clamp(attributesFactor, 0.5f, 2f); int rngOffset = RngOffsets.TRIBE_SPLITTING_EVENT_TRIBE_LEADER_PREVENTS_MODIFY_ATTRIBUTE; // Influence float randomFactor = dominantClan.GetNextLocalRandomFloat(rngOffset++); float influencePercentChange = (BaseMaxInfluencePercentChange - BaseMinInfluencePercentChange) * randomFactor + BaseMinInfluencePercentChange; influencePercentChange /= attributesFactor; Polity.TransferInfluence(dominantClan, splitClan, influencePercentChange); // Relationship randomFactor = dominantClan.GetNextLocalRandomFloat(rngOffset++); float relationshipPercentChange = (BaseMaxRelationshipPercentChange - BaseMinRelationshipPercentChange) * randomFactor + BaseMinRelationshipPercentChange; relationshipPercentChange *= attributesFactor; float newValue = MathUtility.IncreaseByPercent(dominantClan.GetRelationshipValue(splitClan), relationshipPercentChange); Faction.SetRelationship(dominantClan, splitClan, newValue); // Updates LeaderPreventsSplit_notifySplitClan(splitClan, dominantClan, tribe, eventId); }
public void PerformAction(Tribe tribe) { AddListener(m_owningTower); AddListener(tribe); m_currentTribe = tribe; m_actionActive = true; m_completion = 0.0f; m_workerCount = Mathf.Max(1, tribe.Count); float secondsRemaining = GetEffectiveActionDuration(); if (ShowsWorkingArea()) { m_workingArea = CreateWorkingArea(tribe, secondsRemaining); } m_tribeSign = CreateTribeSign(tribe); m_tribeSign.transform.position = transform.position + new Vector3(2.0f, 0.5f, 0.0f); this.OnBeginAction(secondsRemaining); foreach (ITowerSegmentCallback listener in m_listenerList) { listener.OnBeginAction(this); } this.OnProgressAction(secondsRemaining); foreach (ITowerSegmentCallback listener in m_listenerList) { listener.OnProgressAction(this, m_completion, secondsRemaining); } }
public void CreateRandomTribes(int numberOfTribes) { for (int i = 0; i != numberOfTribes; ++i) { AnimalProperties properties = new AnimalProperties(); properties.Agility = 1 + RandomGenerator.Random.Next(0, 2); properties.Stamina = 1 + RandomGenerator.Random.Next(0, 3); properties.Strength = 1 + RandomGenerator.Random.Next(0, 3); properties.Diet = AnimalProperties.DietType.CARNIVORE; properties.GroupBehaviour = 1 + RandomGenerator.Random.Next(0, 6);; properties.PreferredAltitude = 50 + RandomGenerator.Random.Next(-40, 40);; properties.PreferredTemperature = 300 + +RandomGenerator.Random.Next(-40 + 40);; properties.PreferredTerrain = AnimalProperties.TerrainType.LAND; properties.NumberOfAnimals = 10 + RandomGenerator.Random.Next(0, 20); Tribe tribe = new Tribe(_world, properties); tribe.PositionInTiles = RandomGenerator.GetRandomVector2iInRect(new IntRect(0, 0, _world.GetWorldProperties().WorldSizeInTiles.X, _world.GetWorldProperties().WorldSizeInTiles.Y)); for (int j = 0; j != properties.NumberOfAnimals; ++j) { tribe.SpawnAnimal(); } _tribeList.Add(tribe); } }
public GameObject CreateTribeSign(Tribe tribe) { GameObject obj; if (tribe.m_unitColour == UnitColour.Blue) { obj = Instantiate(m_owningTower.m_tribeXSignPrefab) as GameObject; } else if (tribe.m_unitColour == UnitColour.Red) { obj = Instantiate(m_owningTower.m_tribeBSignPrefab) as GameObject; } else if (tribe.m_unitColour == UnitColour.Yellow) { obj = Instantiate(m_owningTower.m_tribeYSignPrefab) as GameObject; } else if (tribe.m_unitColour == UnitColour.Green) { obj = Instantiate(m_owningTower.m_tribeASignPrefab) as GameObject; } else { return(null); } TribeSignUI ui = obj.GetComponent <TribeSignUI>(); ui.tribe = tribe; return(obj); }
public MarkerContextMenu(Map map, Tribe tribe) { _menu = JanusContextMenu.Create(); _map = map; _tribe = tribe; InitializeMenu(); }
/* Called on initialisation */ public void Awake() { m_listenerList = new List <ITowerSegmentCallback>(); m_currentTribe = null; m_actionActive = false; m_workerCount = 1.0f; }
public ClanDemandsInfluenceDecisionEvent(Clan demandClan, long triggerDate) : base(demandClan, triggerDate, ClanDemandsInfluenceDecisionEventId) { _demandClan = demandClan; _originalTribe = demandClan.Polity as Tribe; DoNotSerialize = true; }
protected override void DestroyInternal() { base.DestroyInternal(); if ((Polity != null) && Polity.StillPresent) { Tribe tribe = Polity as Tribe; long triggerDate = CalculateTriggerDate(tribe); if (triggerDate < 0) { // skip reseting the event since the trigger date is invalid return; } if (triggerDate <= tribe.World.CurrentDate) { throw new System.Exception( "Trigger Date (" + triggerDate + ") less or equal to current date: " + tribe.World.CurrentDate); } tribe.ResetEvent(FosterTribeRelationDecisionEventId, triggerDate); } }
public AvoidOpeningTribeEventMessage(Tribe tribe, Agent agent, long date) : base(tribe, WorldEvent.AvoidOpenTribeDecisionEventId, date) { tribe.World.AddMemorableAgent(agent); AgentId = agent.Id; TribeId = tribe.Id; }
public TribeContextMenu(Map map, Tribe tribe) { _tribe = tribe; _menu = JanusContextMenu.Create(); if (map.Display.IsVisible(tribe)) { _menu.AddCommand("Pinpoint", OnPinPoint); } _menu.AddCommand("Pinpoint && Center", OnPinpointAndCenter, Properties.Resources.TeleportIcon); _menu.AddSeparator(); var markerContext = new MarkerContextMenu(map, tribe); _menu.AddMarkerContextCommands(markerContext); _menu.AddSeparator(); _menu.AddCommand("TWStats", OnTwStats); _menu.AddCommand("TW Guest", OnTwGuest); _menu.AddSeparator(); _menu.AddCommand("To clipboard", OnToClipboard, Properties.Resources.clipboard); _menu.AddCommand("BBCode", OnBbCode, Properties.Resources.clipboard); }
public ActionResult Select(string race) { Tribe selected = Model.AvailableTribes.First(tribe => tribe.ToString() == race); Model.CurrentWebPlayer.SelectTribe(selected); return(View("show", Model)); }
public static void TribeLeaderPreventedSplit(Clan splitClan, Clan dominantClan, Tribe tribe) { splitClan.SetToUpdate(); dominantClan.SetToUpdate(); tribe.AddEventMessage(new PreventTribeSplitEventMessage(tribe, splitClan, tribe.CurrentLeader, splitClan.World.CurrentDate)); }
/// <summary> /// Publishes an event for all the villages in one tribe /// </summary> public void SelectVillages(object sender, Tribe tribe, VillageTools action) { if (tribe != null) { VillagesSelected(sender, new TribeEventArgs(tribe, action)); } }
public static void LeaderAttemptsFosterRelationship_TriggerRejectDecision(Tribe sourceTribe, Tribe targetTribe, float chanceOfRejecting, long eventId) { World world = sourceTribe.World; bool acceptOffer = targetTribe.GetNextLocalRandomFloat(RngOffsets.FOSTER_TRIBE_RELATION_EVENT_TARGETTRIBE_LEADER_ACCEPT_OFFER) > chanceOfRejecting; Clan targetDominantClan = targetTribe.DominantFaction as Clan; if (targetTribe.IsUnderPlayerFocus || targetDominantClan.IsUnderPlayerGuidance) { Decision handleOfferDecision; handleOfferDecision = new HandleFosterTribeRelationAttemptDecision(sourceTribe, targetTribe, acceptOffer, eventId); // Give player options if (targetDominantClan.IsUnderPlayerGuidance) { world.AddDecisionToResolve(handleOfferDecision); } else { handleOfferDecision.ExecutePreferredOption(); } } else if (acceptOffer) { HandleFosterTribeRelationAttemptDecision.LeaderAcceptsOffer(sourceTribe, targetTribe, eventId); } else { HandleFosterTribeRelationAttemptDecision.LeaderRejectsOffer(sourceTribe, targetTribe, eventId); } }
/// <summary> /// Publishes an event for one tribe /// </summary> public void SelectTribe(object sender, Tribe tribe, VillageTools tool) { if (TribeSelected != null) { TribeSelected(sender, new TribeEventArgs(tribe, tool)); } }
public DetailsCommand(DetailsDisplayEnum display, Tribe tribe, VillageTools tool) { Tooltip = tribe.ToString(); Display = display; if (Display == DetailsDisplayEnum.None || Display == DetailsDisplayEnum.Village || Display == DetailsDisplayEnum.Player) Display = DetailsDisplayEnum.Tribe; UnderlyingDisplay = DetailsDisplayEnum.Tribe; Tribe = tribe; Tool = tool; }
public void CannotAttack() { Tribe tribe = new Tribe(10, 3, 2, 10, 6, 1, 2, 3); tribe.NewDay(); tribe.NewDay(); Assert.IsTrue(tribe.CanAttack()); tribe.NewDay(); Assert.IsFalse(tribe.CanAttack()); }
public void CreateTribe() { Tribe tribe = new Tribe(10, 10, 2, 10, 6, 1, 1, 1); Assert.IsTrue(tribe.CanAttack()); Assert.AreEqual(10, tribe.Day); Assert.AreEqual(6, tribe.Strength); Assert.AreEqual(2, tribe.West); Assert.AreEqual(10, tribe.East); }
public void CreateTribeAndNewDay() { Tribe tribe = new Tribe(10, 10, 2, 10, 6, 1, 2, 3); tribe.NewDay(); Assert.IsTrue(tribe.CanAttack()); Assert.AreEqual(11, tribe.Day); Assert.AreEqual(9, tribe.Strength); Assert.AreEqual(4, tribe.West); Assert.AreEqual(12, tribe.East); }
public static void Main(string[] args) { string inputname = args[0]; string outputname = args[1]; string[] lines = File.ReadAllLines(inputname); int ncases = int.Parse(lines[0]); int nline = 0; IList<string> results = new List<string>(); Attacks attacks = new Attacks(); for (int k = 0; k < ncases; k++) { Console.WriteLine(string.Format("Solving Case #{0}", k + 1)); nline++; int ntribes = int.Parse(lines[nline]); IList<Tribe> tribes = new List<Tribe>(); for (int j = 0; j < ntribes; j++) { nline++; string[] words = lines[nline].Split(' '); int day = int.Parse(words[0]); int nattacks = int.Parse(words[1]); int west = int.Parse(words[2]); int east = int.Parse(words[3]); int strength = int.Parse(words[4]); int ddays = int.Parse(words[5]); int ddistance = int.Parse(words[6]); int dstrength = int.Parse(words[7]); Tribe tribe = new Tribe(day, nattacks, west, east, strength, ddays, ddistance, dstrength); tribes.Add(tribe); } int count = attacks.Count(tribes); results.Add(string.Format("Case #{0}: {1}", k + 1, count)); } File.WriteAllLines(outputname, results.ToArray()); }
public TribeTableRow(Map map, Tribe tribe) { Tribe = tribe; _map = map; // player is currently visible? Cells.Add(VillageTableRow.GetVisibleImageCell(_map, tribe)); Cells.Add(new Cell(tribe.Rank)); Cells.Add(new Cell(tribe.Tag) { ToolTipText = tribe.Tooltip }); Cells.Add(new Cell(tribe.Players.Count)); Cells.Add(new Cell(tribe.PlayerDifferenceString)); Cells.Add(new Cell(tribe.AllPoints)); if (tribe.PreviousTribeDetails != null) { Cells.Add(new Cell(tribe.AllPoints - tribe.PreviousTribeDetails.AllPoints)); } else { Cells.Add(new Cell()); } Cells.Add(new Cell(tribe.Villages)); if (tribe.PreviousTribeDetails != null) { Cells.Add(new Cell(tribe.Villages - tribe.PreviousTribeDetails.Villages)); } else { Cells.Add(new Cell()); } Cells.Add(new Cell(tribe.Name)); }
public void SetMarker(MarkerSettings settings) { _settings = settings; _player = null; _tribe = null; SetControlProperties(settings); }
public void PlayerSelectedTribe(IPlayer player, Tribe tribe) { }
/// <summary> /// Clears the input box /// </summary> public void EmptyTextBox(bool raiseEvent) { Player = null; Tribe = null; SelectorControl.BackColor = NeutralInput; _tooltip.ToolTipTitle = string.Empty; _tooltip.SetToolTip(this, GetEmptyTooltip()); if (string.IsNullOrEmpty(SelectorControl.Text)) return; bool oldHandleText = _handleTextChanged; _handleTextChanged = raiseEvent; SelectorControl.Text = string.Empty; _handleTextChanged = oldHandleText; }
/// <summary> /// Sets a tribe in the box /// </summary> public void SetTribe(Tribe tribe) { SetTribe(tribe, false); }
private void LoadTwSnapshot(string dataPath, out WorldVillagesCollection villages, out Dictionary<string, Player> players, out Dictionary<string, Tribe> tribes) { if (IsValidDataPath(dataPath)) { // load map files string[] readVillages = File.ReadAllLines(dataPath + FileVillageString); string[] readPlayers = File.ReadAllLines(dataPath + FilePlayerString); string[] readTribes = File.ReadAllLines(dataPath + FileTribeString); // Temporary dictionaries for mapping var tempPlayers = new Dictionary<int, string>(WorldPlayerCount); var tempTribes = new Dictionary<int, string>(WorldTribeCount); // Load tribes tribes = new Dictionary<string, Tribe>(readTribes.Length + 1); foreach (string tribeString in readTribes) { var tribe = new Tribe(tribeString.Split(',')); tribes.Add(tribe.Tag.ToUpper(), tribe); tempTribes.Add(tribe.Id, tribe.Tag.ToUpper()); } // Load players players = new Dictionary<string, Player>(readPlayers.Length + 1); foreach (string playerString in readPlayers) { var player = new Player(playerString.Split(',')); // Find tribe if (player.TribeId != 0 && tempTribes.ContainsKey(player.TribeId)) { Tribe tribe = tribes[tempTribes[player.TribeId]]; player.Tribe = tribe; tribes[tribe.Tag.ToUpper()].AddPlayer(player); } players.Add(player.Name.ToUpper(), player); tempPlayers.Add(player.Id, player.Name.ToUpper()); } // Load villages villages = new WorldVillagesCollection(readVillages.Length + 1); foreach (string villageString in readVillages) { var village = new Village(villageString.Split(',')); // links to and from players if (village.PlayerId != 0 && tempPlayers.ContainsKey(village.PlayerId)) { Player player = players[tempPlayers[village.PlayerId]]; village.Player = player; players[player.Name.ToUpper()].AddVillage(village); } if (village.Location.IsValidGameCoordinate()) { villages.Add(new Point(village.X, village.Y), village); } } } else { tribes = new Dictionary<string, Tribe>(); players = new Dictionary<string, Player>(); villages = new WorldVillagesCollection(); } }
/// <summary> /// Sets a player in the box /// </summary> private void SetPlayer(Player player, bool raiseEvent) { Player = player; Tribe = null; if (player != null) { if (SelectorControl.Text != player.Name) { _handleTextChanged = false; SetDataSource(); SelectorControl.Text = player.Name; _handleTextChanged = true; } SelectorControl.SelectionStart = Text.Length; SelectorControl.BackColor = GoodInput; _tooltip.ToolTipTitle = player.Name; _tooltip.SetToolTip(this, player.Tooltip); if (raiseEvent && PlayerSelected != null) { PlayerSelected(this, new PlayerEventArgs(player, VillageTools.PinPoint)); } } else { EmptyTextBox(raiseEvent); } }
public void RemoveMarker(Map map, Tribe tribe) { _markers.RemoveAll(x => x.Tribe == tribe); World.Default.InvalidateMarkers(); }
/// <summary> /// Gets the marker for the tribe or /// return a new one /// </summary> public Marker GetMarker(Tribe tribe) { Debug.Assert(tribe != null); if (World.Default.You.HasTribe && World.Default.You.Tribe == tribe) { Debug.Assert(YourTribeMarker.Settings.Name == Marker.DefaultNames.YourTribe); return YourTribeMarker; } Marker found; if (_markTribe.TryGetValue(tribe.Id, out found)) { return found; } return new Marker(MarkerSettings.Create(EnemyMarker.Settings.Color, EnemyMarker.Settings.View)); }
public static void AddTribeContextCommands(this UIContextMenu menu, Map map, Tribe tribe) { string tribeDesc = string.Format("{0} ({1})", tribe.Tag, Common.GetPrettyNumber(tribe.AllPoints)); if (tribe.Rank <= 20) { tribeDesc = string.Format("#{0} {1}", tribe.Rank, tribeDesc); } var tribeCommand = menu.AddCommand(tribeDesc, null, Properties.Resources.Tribe); tribeCommand.ToolTipText = tribe.Tooltip; var tribeContext = new TribeContextMenu(map, tribe); tribeCommand.Commands.AddRange(tribeContext.GetCommands().ToArray()); }
/// <summary> /// Cleanup anything when switching worlds or settings /// </summary> protected internal override void CleanUp() { _selectedVillage = null; _pinPointedTribe = null; _lockPinpointedVillage = false; _unpinpointedVillage = null; }
private void EventPublisher_VillagesSelected(object sender, VillagesEventArgs e) { if (e.Tool == VillageTools.PinPoint) { var tribe = e.Villages as Tribe; if (tribe != null) { _pinPointedTribe = tribe; _pinPointedVillage = null; _selectedVillage = null; _lockPinpointedVillage = false; } else { _pinPointedTribe = null; _pinPointedVillage = e.FirstVillage; } } }
/// <summary> /// Sets a tribe in the box /// </summary> private void SetTribe(Tribe tribe, bool raiseEvent) { Player = null; Tribe = tribe; if (tribe != null) { if (SelectorControl.Text != tribe.Tag) { _handleTextChanged = false; SetDataSource(); SelectorControl.Text = tribe.Tag; _handleTextChanged = true; } SelectorControl.SelectionStart = Text.Length; SelectorControl.BackColor = GoodInput; _tooltip.ToolTipTitle = tribe.Tag; _tooltip.SetToolTip(this, tribe.Tooltip); if (raiseEvent && TribeSelected != null) { TribeSelected(this, new TribeEventArgs(tribe, VillageTools.PinPoint)); } } else { EmptyTextBox(raiseEvent); } }
/// <summary> /// Update a tribe marker and refresh the map /// </summary> public void UpdateMarker(Map map, Tribe tribe, MarkerSettings settings) { if (World.Default.You.HasTribe && tribe == World.Default.You.Tribe) { settings = MarkerSettings.ChangeName(settings, Marker.DefaultNames.YourTribe); YourTribeMarker = new Marker(settings); } else { _markers.RemoveAll(x => x.Tribe == tribe); _markers.Add(new Marker(tribe, settings)); } World.Default.InvalidateMarkers(); }
private void SelectorControl_ValueChanged(object sender, EventArgs e) { if (_handleTextChanged) { var selected = SelectorControl.SelectedItem as PlayerOrTribeRow; if (selected != null) { if (selected.IsPlayer) { Player ply = World.Default.GetPlayer(SelectorControl.Text); if (ply != null) { SetPlayer(ply, true); } } else if (selected.IsTribe) { var ply = World.Default.GetTribe(SelectorControl.Text); if (ply != null) { SetTribe(ply, true); } } } else { Player = null; Tribe = null; } } }
public void Remove(Tribe tribe) { _tmp.Remove(tribe); }
private void SelectorControl_TextChanged(object sender, EventArgs e) { if (_handleTextChanged) { bool found = false; if (SelectorControl.Text.Length > 0 && string.IsNullOrEmpty(SelectorControl.SelectedText)) { if (AllowPlayer) { Player ply = World.Default.GetPlayer(SelectorControl.Text); if (ply != null) { found = true; SetPlayer(ply, true); } } if (AllowTribe && !found) { Tribe tribe = World.Default.GetTribe(SelectorControl.Text); if (tribe != null) { found = true; SetTribe(tribe, true); } } } if (!found && SelectorControl.BackColor != BadInput) { if (SelectorControl.Text.Length == 0) { SelectorControl.BackColor = NeutralInput; } else { SelectorControl.BackColor = BadInput; _tooltip.ToolTipTitle = string.Empty; _tooltip.SetToolTip(this, GetEmptyTooltip()); } SelectorControl.Image = null; Tribe = null; Player = null; } } }
public void SetMarker(Tribe tribe) { _settings = null; _player = null; _tribe = tribe; Marker marker = World.Default.Map.MarkerManager.GetMarker(tribe); SetControlProperties(marker.Settings); }
/// <summary> /// Checks if the tribe matches the current search criteria /// </summary> public bool Match(Tribe tribe) { if (Text.Length != 0 && !tribe.Name.ToUpper(CultureInfo.InvariantCulture).Contains(Text) && !tribe.Tag.ToUpper(CultureInfo.InvariantCulture).Contains(Text)) { return false; } if (tribe.AllPoints < PointsBetweenStart || (PointsBetweenEnd > 0 && tribe.AllPoints > PointsBetweenEnd)) return false; return true; }
public void SetMarker(Player player) { _settings = null; _player = player; _tribe = null; Marker marker = World.Default.Map.MarkerManager.GetMarker(player); SetControlProperties(marker.Settings); }
/// <summary> /// Prepares the user control for tribe details viewing /// </summary> private void SetQuickFinder(Tribe tribe, VillageTools tool) { SetQuickFinder(new DetailsCommand(_current.Display, tribe, tool)); }
/// <summary> /// Publishes an event for all the villages in one tribe /// </summary> public void SelectVillages(object sender, Tribe tribe, VillageTools action) { if (tribe != null) VillagesSelected(sender, new TribeEventArgs(tribe, action)); }