Доступ метода класса к методу родителя

Программирование на Юнити.

Доступ метода класса к методу родителя

Сообщение bend55omsk 22 мар 2017, 06:44

Здравствуйте форумчане, кому есть дело помогите. Итак
В проекте есть сетевая часть - это объект "DefaultClient" со скриптами. Использую TCP. Создаю я так:
В скрипте-родителе (App.cs) есть метод "TcpError".
В скрипте-родителе (App.cs) создаю класс "Client client = new AsTcpClient(host, port, username, authtoken);" по созданию TcpClient.

Но в этом классе есть элемент "tcpClient.BeginConnect (address, port, ConnectCallback, null);".
Метод "ConnectCallback" -дает знать потерялась ли сеть. Что то типа "Tcp: aborting".
И теперь САМОЕ интересное.
Как из созданного класса "Client client = new AsTcpClient(host, port, username, authtoken);" В СКРИПТЕ-родителе (App.cs) запустить метод "TcpError". То есть, как из класса созданного - вызвать метод родителя. Этот интернет ни дает ни какой конкретики, правильно говорят великая помойка...
За помощь заранее спасибо (c#)
class App
Синтаксис:
Используется csharp
public class App : MonoBehaviour {

        public Client client;

       void Awake() {
                DontDestroyOnLoad(transform.gameObject);
            }

            void Start() {
             
            }
            public void TcpError(IAsyncResult result) {
             
            }

        public void Run(Login.Protocol protocol, string host, int port, string username, int authtoken) {
           
                client = new AsyncTcpClient(host, port, username, authtoken);
                client.Start();
              }        
        }
 
Последний раз редактировалось bend55omsk 25 мар 2017, 09:44, всего редактировалось 1 раз.
bend55omsk
UNец
 
Сообщения: 22
Зарегистрирован: 22 мар 2017, 06:12

Re: В интернете нет ответа

Сообщение юnity 22 мар 2017, 09:22

А что, если использовать статическую ссылку??
Синтаксис:
Используется csharp
public class App : MonoBehaviour {
        public static App appClass;
        public Client client;

       void Awake() {
                DontDestroyOnLoad(transform.gameObject);
            }

            void Start() {
              appClass = this;
            }
            public void TcpError(IAsyncResult result) {
             
            }

        public void Run(Login.Protocol protocol, string host, int port, string username, int authtoken) {
           
                client = new AsyncTcpClient(host, port, username, authtoken);
                client.Start();
              }        
        }
 

и в классе Client в старте вызвать App.appClass.TcpError(null);//что то там в параметр
Give exact coordinates of the decision of the problems
Аватара пользователя
юnity
UNITрон
 
Сообщения: 290
Зарегистрирован: 21 июл 2015, 18:30

Re: В интернете нет ответа

Сообщение bend55omsk 22 мар 2017, 11:07

юnity писал(а):А что, если использовать статическую ссылку??
Синтаксис:
Используется csharp
public class App : MonoBehaviour {
        public static App appClass;
        public Client client;

       void Awake() {
                DontDestroyOnLoad(transform.gameObject);
            }

            void Start() {
              appClass = this;
            }
            public void TcpError(IAsyncResult result) {
             
            }

        public void Run(Login.Protocol protocol, string host, int port, string username, int authtoken) {
           
                client = new AsyncTcpClient(host, port, username, authtoken);
                client.Start();
              }        
        }
 

и в классе Client в старте вызвать App.appClass.TcpError(null);//что то там в параметр


Спасибо большое за ответ, я тоже подумывал так сделать... Но
Но, не будет ли это сильно влиять на стабильность приложения или игры. Какой вообще максимум таких ссылок-10, 20 или 1000.
Читал статью о глобальных переменных в какой то игре Большой, не более 25 - 30. А сколько раз можно использовать статических ссылок???
bend55omsk
UNец
 
Сообщения: 22
Зарегистрирован: 22 мар 2017, 06:12

Re: В интернете нет ответа

Сообщение юnity 22 мар 2017, 12:55

Так делают, значит можно, другой информации у меняя по этому поводу нет, рад был ответить земляку.
Give exact coordinates of the decision of the problems
Аватара пользователя
юnity
UNITрон
 
Сообщения: 290
Зарегистрирован: 21 июл 2015, 18:30

Re: В интернете нет ответа

Сообщение Syberex 22 мар 2017, 16:11

bend55omsk писал(а):Спасибо большое за ответ, я тоже подумывал так сделать... Но
Но, не будет ли это сильно влиять на стабильность приложения или игры. Какой вообще максимум таких ссылок-10, 20 или 1000.
Читал статью о глобальных переменных в какой то игре Большой, не более 25 - 30. А сколько раз можно использовать статических ссылок???

Услышали звон, но не знаете где он ;)
На самом деле количество статических переменных как и других ничем не ограничено. Ваши статические переменные будут привязаны к определенному классу,
что значительно сокращает путаницу по сравнению с просто глобальными переменными, о которых могла идти речь. Ну а сколько их надо, зависит от вас и вашего проекта.
Злоупотреблять не надо, но не стоит и городить огород, вместо того, чтобы использовать простой и доступный способ :)
Аватара пользователя
Syberex
Адепт
 
Сообщения: 2292
Зарегистрирован: 14 янв 2011, 20:35
Откуда: Кострома
  • Сайт


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 6