예제 #1
0
//		public int GetFormationHeroCount ()
//		{
//			return FormationsDictionary.Count;
//		}

//		public bool HasEmptyFormationPosition ()
//		{
//			return GetFormationHeroCount() < 5;
//		}
//		public bool HasSameHeroInFormation (int heroDataID)
//		{
//			List<uint> characterInstanceIDs = new List<uint>(FormationsDictionary.Values);
//			int characterInstanceIDCount = characterInstanceIDs.Count;
//			for (int i = 0; i < characterInstanceIDCount; i++)
//			{
//				if (!GameProxy.instance.IsPlayer(characterInstanceIDs[i]))
//				{
//					HeroInfo heroInfo = HeroProxy.instance.GetHeroInfo(characterInstanceIDs[i]);
//					if (heroInfo.heroData.id == heroDataID)
//					{
//						return true;
//					}
//				}
//			}
//			return false;
//		}

        public bool CanAddToFormationPosition(FormationPosition formationPosition, uint addCharacterInstanceID)
        {
//			bool can = true;
//			if (IsHeroInFormation(addCharacterInstanceID))
//			{
//				if (!IsPositionEmpty(formationPosition)
//				    && GetCharacterInstanceIDAt(formationPosition) == addCharacterInstanceID)
//				{
//					can = false;
//				}
//			}
//			else
//			{
//				HeroInfo heroInfo = HeroProxy.instance.GetHeroInfo(addCharacterInstanceID);
//				if (HasSameHeroInFormation(heroInfo.heroData.id))
//				{
//					if (!IsPositionEmpty(formationPosition))
//					{
//						uint characterInstanceID = GetCharacterInstanceIDAt(formationPosition);
//						if (!GameProxy.instance.IsPlayer(characterInstanceID)
//						    && HeroProxy.instance.GetHeroInfo(characterInstanceID).heroData.id == heroInfo.heroData.id)
//						{
//							can = true;
//						}
//						else
//						{
//							can = false;
//						}
//					}
//					else
//					{
//						can = false;
//					}
//				}
//				else
//				{
//					if (!IsPositionEmpty(formationPosition) && GameProxy.instance.IsPlayer((GetCharacterInstanceIDAt(formationPosition))))
//					{
//						can = false;
//					}
//					else
//					{
//						if (!HasEmptyFormationPosition())
//						{
//							if (!IsPositionEmpty(formationPosition))
//							{
//								can = true;
//							}
//							else
//							{
//								can = false;
//							}
//						}
//						else
//						{
//							can = true;
//						}
//					}
//				}
//			}
//			return can;
            return(FormationTeamInfo.CanAddToFormationPosition(formationPosition, addCharacterInstanceID));
        }
        public bool CanAddToFormationPosition(FormationPosition formationPosition, uint addCharacterInstanceID)
        {
//			bool can = true;
//			if (IsHeroInFormation(addCharacterInstanceID))
//			{
//				if (!IsPositionEmpty(formationPosition)
//				    && GetCharacterInstanceIDAt(formationPosition) == addCharacterInstanceID)
//				{
//					can = false;
//				}
//			}
//			else
//			{
//				ExpeditionHeroInfo expeditionInfo = GetExpeditionHeroInfo(addCharacterInstanceID);
////				HeroInfo heroInfo = HeroProxy.instance.GetHeroInfo(addCharacterInstanceID);
//				if (HasSameHeroInFormation(expeditionInfo.roleInfo.modelDataId))
//				{
//					if (!IsPositionEmpty(formationPosition))
//					{
//						uint characterInstanceID = GetCharacterInstanceIDAt(formationPosition);
//						ExpeditionHeroInfo oldInfo = GetExpeditionHeroInfo(characterInstanceID);
//						//if (!GameProxy.instance.IsPlayer(characterInstanceID)&&
//						if( oldInfo.roleInfo.modelDataId == expeditionInfo.roleInfo.modelDataId)
//						{
//							can = true;
//						}
//						else
//						{
//							can = false;
//						}
//					}
//					else
//					{
//						can = false;
//					}
//				}
//				else
//				{
////					if (!IsPositionEmpty(formationPosition) && GameProxy.instance.IsPlayer((GetCharacterInstanceIDAt(formationPosition))))
////					{
////						can = false;
////					}
////					else
////					{
//						if (!HasEmptyFormationPosition())
//						{
//							if (!IsPositionEmpty(formationPosition))
//							{
//								can = true;
//							}
//							else
//							{
//								can = false;
//							}
//						}
//						else
//						{
//							can = true;
//						}
////					}
//				}
//			}
//			return can;
            return(FormationTeamInfo.CanAddToFormationPosition(formationPosition, addCharacterInstanceID));
        }