Показать сообщение отдельно
Старый 11.07.2015, 13:25   #142
EvilOkta
Знающий
 
Аватар для EvilOkta
 
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений
(для 229 пользователей)
Ответ: Проблемы разработки от EvilOkta

Читаю в mdsn описание Array. Вопрос такой. Есть ли методы, которые позволят из одномерного массива получить минимальное значение (максимальное тоже) и номер элемента этих значений? Сейчас реализовано через foreach но получается приходится вызывать в методе foreach аж 6 раз для разных исходных данных.
Метод делает на самом деле простую вещь - определяет, какие значения на каких гранях кубика
NumberChild - коллекция значений на гранях кубика (от 1 до 6)

public int Unit_Up_FieldUnit_Down_FieldUnit_W_FieldUnit_S_FieldUnit_A_FieldUnit_D_Field// значения на гранях кубика - это будет преобразовано в массив для разработки дальнейшего кода

public void Analize_Dice_Orientation () {
    
// анализ значений кубика
    
MaxCordInField 0f;
        foreach(
GameObject UnitChild in NumberChild) {
            if (
UnitChild.transform.position.MaxCordInField) {
                
MaxCordInField UnitChild.transform.position.y;
                
Unit_Up_Field = (int)NumberChild.IndexOf(UnitChild);
            }
        }
        
MaxCordInField 2f;
        foreach(
GameObject UnitChild in NumberChild) {
            if (
UnitChild.transform.position.MaxCordInField) {
                
MaxCordInField UnitChild.transform.position.y;
                
Unit_Down_Field = (int)NumberChild.IndexOf(UnitChild);
            }
        }
        
MaxCordInField this.transform.position.x-2f;
        foreach(
GameObject UnitChild in NumberChild) {
            if (
UnitChild.transform.position.MaxCordInField) {
                
MaxCordInField UnitChild.transform.position.x;
                
Unit_W_Field = (int)NumberChild.IndexOf(UnitChild);
            }
        }
        
MaxCordInField this.transform.position.x+2f;
        foreach(
GameObject UnitChild in NumberChild) {
            if (
UnitChild.transform.position.MaxCordInField) {
                
MaxCordInField UnitChild.transform.position.x;
                
Unit_S_Field = (int)NumberChild.IndexOf(UnitChild);
            }
        }
        
MaxCordInField this.transform.position.z-2f;
        foreach(
GameObject UnitChild in NumberChild) {
            if (
UnitChild.transform.position.MaxCordInField) {
                
MaxCordInField UnitChild.transform.position.z;
                
Unit_A_Field = (int)NumberChild.IndexOf(UnitChild);
            }
        }
        
MaxCordInField this.transform.position.z+2f;
        foreach(
GameObject UnitChild in NumberChild) {
            if (
UnitChild.transform.position.MaxCordInField) {
                
MaxCordInField UnitChild.transform.position.z;
                
Unit_D_Field = (int)NumberChild.IndexOf(UnitChild);
            }
        }
         } 
Печенкой чую, что можно оптимизировать но именно для случая с массивом, 6 параметров не оптимально
__________________
Области Хаоса - мой новый Youtube проект
(Offline)
 
Ответить с цитированием