private void RemoveCharacterFromSlot() { //Disable interaction of the slot button GetComponent <Button>().interactable = false; /* OPTIONAL */ //UnSelectedCharacter string nameOfBeingSelectedChar = prefabOfSelectedCharacter.GetComponent <Prisoner>().GetPrisonerName(); SelectCharAvarList charAvarList = GameObject.FindGameObjectWithTag("Select Char Avar List").GetComponent <SelectCharAvarList>(); charAvarList.DeselectCharacterByName(nameOfBeingSelectedChar); prefabOfSelectedCharacter = null; GetComponent <Image>().sprite = null; GetComponent <Image>().color = new Color(1, 1, 1, 0); //if any slot contains the character selected on Screen, dont show arrow string nameOfAvarOnSelecting = charAvarList.GetIsOnInfoScrnCharacter().GetPrisonerPrefabName(); CharacterSlot[] slots = transform.parent.GetComponentsInChildren <CharacterSlot>(); for (int i = 0; i < slots.Length; i++) { if (slots[i].GetCharPrefNameInThisSlot() == nameOfAvarOnSelecting) { return; } } //Show arrows in every slots for (int i = 0; i < slots.Length; i++) { slots[i].ShowArrow(); } }
public bool IsCharAvarSelectedInThisSlot() { //TODO promote this variable to member variable later SelectCharAvarList charAvarList = GameObject.FindGameObjectWithTag("Select Char Avar List").GetComponent <SelectCharAvarList>(); string nameInPrefab = ""; if (GetCharacterPrefabInThisSlot()) { nameInPrefab = GetCharacterPrefabInThisSlot().GetComponent <Prisoner>().GetPrisonerName(); } for (int i = 0; i < charAvarList.transform.childCount; i++) { string PrisonerPrefabName = charAvarList.transform.GetChild(0).GetComponent <Selection_CharAvar>().GetPrisonerPrefabName(); if (nameInPrefab == PrisonerPrefabName) { print("hy not OK"); return(true); } } return(false); }
private void SelectingCharacterToSlot() { if (prefabOfSelectedCharacter != null) { RemoveCharacterFromSlot(); } //Get selecting character SelectCharAvarList charAvarList = GameObject.FindGameObjectWithTag("Select Char Avar List").GetComponent <SelectCharAvarList>(); Selection_CharAvar selectingCharacter = charAvarList.GetIsOnInfoScrnCharacter(); //De-effect of selection in avar list //charAvarList.DeselectAllCharacters(); if (selectingCharacter == null) { return; } //get the selecting character sprite Transform actualImgSprtObj = selectingCharacter.transform.GetChild(0); Sprite selectingCharSprite = actualImgSprtObj.GetComponent <Image>().sprite; //Show effect of selection character selectingCharacter.SetCharSelected(); selectingCharacter.MakeEffectOnSelected(); //Get for-playing character prefab prefabOfSelectedCharacter = selectingCharacter.GetCharPrefabOfThisAvar(); //set that to the image sprite in the slot GetComponent <Image>().sprite = selectingCharSprite; GetComponent <Image>().color = new Color(1, 1, 1, 1); GetComponent <Button>().interactable = true; HideAllArrows(); }