public void CheckCurrentBuyState(Critter critter) { if(critter.GetIsPlayer()){ if(critter){ if (critter.activeEvos.Contains(this)){ if (isMajor) { if (critter.equipedEvos.Contains(this)) { if (critter.lockedEvos.Contains(this)) { currentBuyState = playerBuyState.LOCKED; } else { currentBuyState = playerBuyState.EQUIPED; } } else { if (critter.lockedEvos.Contains(this)) { currentBuyState = playerBuyState.LOCKED; } else if (Prerequisites1.Count > 0) { foreach (Adaptation item in Prerequisites1) { if (critter.activeEvos.Contains(item)) { currentBuyState = playerBuyState.CANEQUIP; } else { currentBuyState = playerBuyState.NOREFUND; break; } } } else if (currentBuyState == playerBuyState.NOREFUND) { foreach (Adaptation item in Prerequisites2) { if (critter.activeEvos.Contains(item)) { currentBuyState = playerBuyState.CANEQUIP; } else { currentBuyState = playerBuyState.NOREFUND; } } } else { currentBuyState = playerBuyState.CANEQUIP; } } } else if (hasUnlocks){ foreach(Adaptation item in Unlocks){ if(critter.activeEvos.Contains(item)){ if (item.GetCurrentBuyState() == playerBuyState.EQUIPED) { currentBuyState = playerBuyState.NOREFUND; break; } else if (item.GetCurrentBuyState() == playerBuyState.ACTIVE) { currentBuyState = playerBuyState.NOREFUND; break; } else { currentBuyState = playerBuyState.ACTIVE; } } else{ currentBuyState = playerBuyState.ACTIVE; } } } else{ if(!hasUnlocks){ currentBuyState = playerBuyState.ACTIVE; } } } else if(critter.unlockedEvos.Contains(this)){ foreach (Adaptation item in critter.activeEvos) { if (!item.isMajor) { if (item.Conflicts.Contains(this)) { currentBuyState = playerBuyState.LOCKED; break; } else { currentBuyState = playerBuyState.UNLOCKED; } } else { currentBuyState = playerBuyState.UNLOCKED; } } foreach (Adaptation item in critter.equipedEvos) { if (item.Conflicts.Contains(this)) { currentBuyState = playerBuyState.LOCKED; break; } else { currentBuyState = playerBuyState.UNLOCKED; } } } else{ currentBuyState = playerBuyState.LOCKED; } } } }
public void SetCurrentBuyState(playerBuyState newState) { currentBuyState = newState; }