示例#1
0
 public static void removePlayerListner(PlayerListener listener)
 {
     if (listeners.Contains(listener))
     {
         listeners.Remove(listener);
     }
 }
示例#2
0
 public static void addPlayerListner(PlayerListener listener)
 {
     if (!listeners.Contains(listener))
     {
         listeners.Add(listener);
     }
 }
    public static PlayerListener GetInstance()
    {
        if (instance == null)
        {
            instance = new PlayerListener();
        }

        return(instance);
    }
示例#4
0
    public void removePlayerListener(int eventId, PlayerListener listener)
    {
        Player[] player = this.m_players[eventId];
        int      num    = 0;

        while (num < player.Length)
        {
            ++num;
        }
    }
示例#5
0
        public static void InitializeGame(string[] prefixes)
        {
            GameSessionHandler handler = new GameSessionHandler();

            PlayerListener plistener = new PlayerListener(handler, new string[] { "http://localhost:4333/player/" });
            Thread         thr       = new Thread(new ThreadStart(plistener.StartListening));  //(new string[] { "http://localhost:4333/player/" })

            thr.Start();

            GameDataRequester glistener = new GameDataRequester(handler, new string[] { "http://localhost:4333/game/", "http://localhost:4333/select/" });

            glistener.StartListening();
        }
示例#6
0
        private void ButtonDown(Vector2 position)
        {
            var realPosition = Camera.main.ScreenToWorldPoint(position);

            var realX = (int)Math.Floor(realPosition.x / 16);
            var realY = (int)Math.Floor(realPosition.y / 16);

            var clickedObject = SelectedObjectByMouse();

            if (clickedObject != null)
            {
                PlayerListener.PlayerSetTarget(clickedObject);
            }
            else
            {
                //if (EventSystem.current.()) // check if didnt clickd UI elements
                ClickTile(new Position(realX, -realY));
            }
        }
示例#7
0
    public void ProccessJson(JObject jObject)
    {
        try
        {
            ServerMessage serverMessage = ServerMessage.ParseData(jObject);

            Type       type       = Type.GetType(serverMessage.@class);
            MethodInfo methodInfo = type.GetMethod(serverMessage.method);

            ParameterInfo[] parameterInfos = methodInfo.GetParameters();

            Player player = PlayerListener.GetInstance().FindPlayer(Convert.ToInt16(serverMessage.key));

            List <object> functionParameters =
                ServerMessageUtils.CreateFunctionParameters(parameterInfos, serverMessage);

            Dispatcher.Instance.Invoke(() => InvokeMethod(methodInfo, player, functionParameters));
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
        }
    }
示例#8
0
 public void AddListener(PlayerListener listener)
 {
     listeners.Add(listener);
 }
 private void Start()
 {
     PlayerListener.GetInstance().Register(this);
 }
示例#10
0
        private static void startServer()
        {
            if(gss != null)
            {
                Console.WriteLine("Game is already in progress.  Please reset or quit to start a new game.");
            }
            else
            {
                gss = new GameState[NUMBER_OF_GAMES];

                gameStarted = false;
                string[] names = new string[] {"Butterflies","Hurricanes","Black Holes","Revelations","Stockholm","Syndrome"};
                for (int i = 0; i < NUMBER_OF_GAMES; i++ )
                {
                    gss[i] = new GameState(names[i], i);//"Foo foo for you " + i, i);
                }

                listener = new PlayerListener();
                Console.WriteLine("The server is up, players can now connect.");
            }
        }
示例#11
0
 public int AddListener(PlayerListener listener)
 {
     return(AddEntryListener((GamestateEntry entry) => {
         listener(entry as PlayerEntry);
     }));
 }