Пример #1
0
 public void AddFlystickListener(IFlystickListener flistener, ARTFlystick uniqueFlystick)
 {
     if (!ListenerToStickTable.ContainsValue(uniqueFlystick))
     {
         flystickListener.Add(flistener);
         ListenerToStickTable.Add(flistener, uniqueFlystick);
         StickToListenerTable.Add(uniqueFlystick, flistener);
     }
 }
Пример #2
0
 public void RemoveFlystickListener(IFlystickListener flistener)
 {
     if (flystickListener.Contains(flistener))
     {
         flystickListener.Remove(flistener);
         ARTFlystick stick = (ARTFlystick)ListenerToStickTable[flistener];
         ListenerToStickTable.Remove(flistener);
         StickToListenerTable.Remove(stick);
     }
 }
Пример #3
0
 public ARTFlystick getARTFlystickById(int id)
 {
     for (int i = 0; i < artFlysticks.Count; i++)
     {
         if (((ARTFlystick)artFlysticks[i]).getId() == id)
         {
             return((ARTFlystick)artFlysticks[i]);
         }
     }
     return(ARTFlystick.Empty());
 }
Пример #4
0
        protected void UpdateFlystickListener(IFlystickListener flistener)
        {
            ARTFlystick flystick = null;

            float[]  xyFloats   = null;
            BitArray binBStates = null;

            if (ListenerToStickTable.ContainsKey(flistener))
            {
                flystick   = (ARTFlystick)ListenerToStickTable[flistener];
                xyFloats   = flystick.GetStickXYPos();
                binBStates = new BitArray(new int[] { flystick.getButtonStates() });
            }

            if (flystick != null)
            {
                if (binBStates[3]) //leftbutton
                {
                    flistener.onLeftButtonPress(flystick);
                }
                if (binBStates[2]) //middlebutton
                {
                    flistener.onMiddleButtonPress(flystick);
                }
                if (binBStates[1]) //rightbutton
                {
                    flistener.onRightButtonPress(flystick);
                }
                if (binBStates[0]) //trigger
                {
                    flistener.onTriggerPress(flystick);
                }
                if (xyFloats[0] > 0.1F)
                {
                    flistener.onStickRight(flystick);
                }
                if (xyFloats[0] < -0.1F)
                {
                    flistener.onStickLeft(flystick);
                }
                if (xyFloats[1] > 0.1F)
                {
                    flistener.onStickUp(flystick);
                }
                if (xyFloats[1] < 0.1F)
                {
                    flistener.onStickDown(flystick);
                }
            }
        }
Пример #5
0
        //protected void addFlystick(ARTFlystick obj)
        //{
        //    for (int i = 0; i < artFlysticks.Count; i++)
        //    {
        //        if (((ARTFlystick)artFlysticks[i]).getId() == obj.getId())
        //        {
        //            artFlysticks.RemoveAt(i);
        //        }
        //    }
        //    artFlysticks.Add(obj);
        //}

        protected void addFlystick(ARTFlystick obj)
        {
            bool exists = false;

            for (int i = 0; i < artFlysticks.Count; i++)
            {
                if (((ARTFlystick)artFlysticks[i]).getId() == obj.getId())
                {
                    artFlysticks.RemoveAt(i);
                    artFlysticks.Insert(i, obj);
                    exists = true;
                }
            }
            if (!exists)
            {
                artFlysticks.Add(obj);
            }
        }