public TroopStats GetStatsForType(TroopType _type) { TroopStats _newStats = null; switch (_type) { case TroopType.RegularViking: _newStats = new TroopStats("NewRegularViking", TroopType.RegularViking, 100, 10, 2, 40); break; case TroopType.Beserker: _newStats = new TroopStats("NewBeserker", TroopType.Beserker, 80, 25, 2, 10); break; } if (_newStats != null) { return(_newStats); } else { Debug.LogError("Requested trooptype not setup in the GetStatsForType method!"); return(null); } }
public void RemoveMember(TroopStats _memberToRemove) { members.Remove(_memberToRemove); if (onPlayerPartyRemove != null && _memberToRemove != null) { onPlayerPartyRemove(this, _memberToRemove); } }
public void TroopAdded(Party _party, TroopStats _addedTroop) { _addedTroop.relations = new SerializableDictionary <TroopStats, Relationship>(); foreach (TroopStats ts in _party.members) { if (ts != _addedTroop) { Relationship _newRe = new Relationship(); ts.relations.Add(_addedTroop, _newRe); _addedTroop.relations.Add(ts, _newRe); } } }
public void TroopRemoved(Party _party, TroopStats _removed) { foreach (TroopStats ts in _party.members) { if (ts != _removed) { ts.relations.Remove(_removed); } else { Debug.LogError("RelationshipManager: Removed troop is still in party?"); } } }
public TroopStats(TroopType _type) { TroopStats _newStats = GetStatsForType(_type); troopName = _newStats.troopName; type = _newStats.type; health = _newStats.health; damage = _newStats.damage; attackRange = _newStats.attackRange; blockChance = _newStats.blockChance; sprite = Resources.Load <Sprite>(_type.ToString()); relations = new SerializableDictionary <TroopStats, Relationship>(); }
public void RemoveMemberByName(string _memberToRemove) { TroopStats _removed = null; foreach (TroopStats ts in members) { if (ts.troopName == _memberToRemove) { _removed = ts; members.Remove(ts); break; } } if (onPlayerPartyRemove != null && _removed != null) { onPlayerPartyRemove(this, _removed); } }
public bool AddNewMember(string _memberName, TroopType _type) { if (TotalCapacity > TotalMembers) { TroopStats _newMemberStats = new TroopStats(_type); _memberName += (" " + TroopUtility.IntToRomanNumeral(AddNameToDatabase(_memberName))); _newMemberStats.troopName = _memberName; members.Add(_newMemberStats); if (onPlayerPartyAdd != null) { onPlayerPartyAdd(this, _newMemberStats); } return(true); } else { Debug.LogWarning("Can's add " + _memberName + ", this party reached max capacity."); return(false); } }
public void UpdateRelations(Party _party, TroopStats _changedTroop) { }