Пример #1
0
        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);
            }
        }
Пример #2
0
 public void RemoveMember(TroopStats _memberToRemove)
 {
     members.Remove(_memberToRemove);
     if (onPlayerPartyRemove != null && _memberToRemove != null)
     {
         onPlayerPartyRemove(this, _memberToRemove);
     }
 }
Пример #3
0
 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);
         }
     }
 }
Пример #4
0
 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?");
         }
     }
 }
Пример #5
0
        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>();
        }
Пример #6
0
        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);
            }
        }
Пример #7
0
 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);
     }
 }
Пример #8
0
 public void UpdateRelations(Party _party, TroopStats _changedTroop)
 {
 }