private UiCard GetLeastHigherPriorityAICard(UiCard selectedCard) { UiCard [] cards = GetAICards(); UiCard LeastHigherPriorityCard = null; foreach (UiCard card in cards) { if (card.pHasChecked) { continue; } if (card.pPriority > selectedCard.pPriority) { if (LeastHigherPriorityCard == null) { LeastHigherPriorityCard = card; } else if (LeastHigherPriorityCard.pPriority > card.pPriority) { LeastHigherPriorityCard = card; } } } if (LeastHigherPriorityCard != null) { LeastHigherPriorityCard.pHasChecked = true; LeastHigherPriorityCard.SetSprite(sprites[LeastHigherPriorityCard.pPriority]); } return(LeastHigherPriorityCard); }
/* * This is to create a Card Object and assigning a Random priority . * Here I am assuming that all the sprites in the spritesheet are arranged in Ascending Order. * */ private GameObject CreateObject(Transform parent, bool isAI = false) { GameObject obj = (GameObject)Instantiate(UiCardObj, parent.position, Quaternion.identity); int rand = GetRandomInt(); UiCard cardInfo = obj.GetComponent <UiCard>(); cardInfo.pPriority = rand; if (!isAI) { cardInfo.SetSprite(sprites [rand]); } cardInfo.IsAI = isAI; obj.transform.parent = parent; return(obj); }