Показать сообщение отдельно
Старый 21.02.2013, 23:16   #36
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Передача переменной в метод

Ты все еще привязываешь себя к переменным. Но теперь ты можешь передать объекты, обладающие одинаковыми свойствами в функцию обработки. Пусть функция меняет эти свойства объектов, а не непонятные переменные.

И на сколько я понял ты немного не так применил интерфейс.

public class User MonoBehaviourIMoveDirection 

    private 
int direction;
    public 
int Direction 
    

        
get{ return direction;} 
        
setdirection value;} 
    } 
public class AIMonoBehaviourIMoveDirection 

    private 
int direction;
    public 
int Direction 
    

        
get{ return direction;} 
        
setdirection value;} 
    } 
и тогда твоя функция будет вращать/двигать оба этих объекта используя интерфейс для свойства Direction.

вот так:
public void RotatePlayerUnit(IMoveDirection toMove)  

    
toMove.Direction++; 

RotatePlayerUnit(экземпляр_AI_или_User ); 
PS: private int direction; - это локальная переменная является хранилищем значения. Свойство само по себе это два метода, которые позволяют читать и записывать это значение и если надо делать какие-то дополнительные действия при чтении и сохранении.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием