Ejemplo n.º 1
0
 void AcceptIncomingSpore(Spore incomingSpore, PlanetSettings.Allegiance sourceAllegiance)
 {
     if (myAllegiance.myAllegiance == sourceAllegiance ||
         myAllegiance.myAllegiance == PlanetSettings.Allegiance.unclaimed)
     {
         incomingSpore.ChangeOwnership(this);
         AddSpore(incomingSpore);
         if (myAllegiance.myAllegiance == PlanetSettings.Allegiance.unclaimed)
         {
             myAllegiance.ChangeAllegiance(sourceAllegiance);
         }
     }
     else
     {
         if (mySpores.Count > 0)
         {
             var finalSporeIndex = mySpores.Count - 1;
             var defendingSpore  = mySpores[finalSporeIndex];
             mySpores.RemoveAt(finalSporeIndex);
             incomingSpore.AttackOtherSpore(defendingSpore);
         }
         else
         {
             myAllegiance.ChangeAllegiance(sourceAllegiance);
         }
     }
 }
 void AllegianceChanged(PlanetSettings.Allegiance newAllegiance, PlanetSettings.Allegiance oldAllegiance)
 {
     scoreDictionary[oldAllegiance]--;
     scoreDictionary[newAllegiance]++;
     CalculateScore();
 }
 void Win(PlanetSettings.Allegiance winningAllegiance)
 {
     Debug.Log($"{winningAllegiance} wins!");
 }
 void AllegianceSet(PlanetSettings.Allegiance newAllegiance)
 {
     scoreDictionary[newAllegiance]++;
 }