public void OnSiteManagerEngine(object sender, StateMsg <bool> msg)
        {
            _Logger.Trace("Procesando {0}: {1}", EventTopicNames.SiteManagerEngine, msg);

            _StateManager.Radio.SiteManager = msg.State;
            //_StateManager.SiteManager = msg.State;
        }
Esempio n. 2
0
        public override void onMessage(Movable obj, StateMsg <Movable> msg)
        {
            MovableMsg type = (MovableMsg)msg.type;

            switch (type)
            {
            case MovableMsg.breakKinematic:
                obj.getSM().changeState(NormalState.Instance());
                break;

            case MovableMsg.moveLeft:
                obj.doMoveLeft();
                break;

            case MovableMsg.moveRight:
                obj.doMoveRight();
                break;

            case MovableMsg.moveUp:
                obj.doMoveUp();
                break;

            case MovableMsg.stopMove:
                obj.doStopMove();
                break;

            case MovableMsg.wait:
                obj.doWait();
                break;
            }
        }
Esempio n. 3
0
        public override void onMessage(AIMoveController obj, StateMsg <AIMoveController> msg)
        {
            AIMsg type = (AIMsg)msg.type;

            switch (type)
            {
            case AIMsg.reFindPath:
            case AIMsg.moveTimeIsOver:
                obj.getSM().changeState(AIFindingPathState.Instance());
                break;

            case AIMsg.catchPlayer:
                obj.getSM().changeState(AICatchPlayerState.Instance());
                break;

            case AIMsg.catchByTrap:
                obj.getSM().changeState(AICatchByTrapState.Instance());
                break;

            case AIMsg.waitForSomebody:
                AIMoveController ai = (AIMoveController)msg.sender;
                obj.setWaitThisAI(ai);
                obj.getSM().changeState(AIWaitState.Instance());
                break;
            }
        }
        public void OnHoldTlfCallEngine(object sender, StateMsg <bool> msg)
        {
            _Logger.Trace("Procesando {0}: {1}", EventTopicNames.HoldTlfCallEngine, msg);

            // JCAM: 03/01/2017
            // Por aquí pasa cuando, habiendo actividad en telefonía se hace PTT
            // o LC y la telefonía viene por altavoz
            // Debe aparcar las conversaciones establecidas y las aparcadas dejarlas aparcadas
            // Si la primera que encuentra está en estado de Hold o RemoteHold no aparcaría
            // la que está en conversación. Es por eso que se elimina de la búsqueda
            // las posiciones en estado de Hold o RemoteHold
            if (msg.State)
            {
                int id = _StateManager.Tlf.GetFirstInState(TlfState.Set, TlfState.Conf, TlfState.Out);  //, TlfState.RemoteHold, TlfState.Hold);
                if (id >= 0)
                {
                    //Aparco las conversaciones establecidas y las salientes (en diferido)
                    _EngineCmdManager.SetHold(id, msg.State, true);
                }
            }
            else
            {
                _EngineCmdManager.SetHold(-1, msg.State, true);
            }
        }
Esempio n. 5
0
    void ClientUpdate()
    {
        if (m_ClientSession.GetRecvedData(m_ClientRecvedData))
        {
            while (m_ClientRecvedData.Count != 0)
            {
                var      data = m_ClientRecvedData.Dequeue();
                StateMsg msg  = new StateMsg();
                msg.Unserialize(data);
                if (msg.TimeStamp > m_LastTimeStamp)
                {
                    m_TargetPos = msg.TargetPosition;
                    m_TargetRot = msg.TargetOrientation;
                    m_StartPos  = ClientObjectTF.position;
                    m_StartRot  = ClientObjectTF.rotation;
                    m_TotalTime = (m_TotalTime - m_SimTime) + msg.TimeStamp - m_LastTimeStamp;
                    if (m_TotalTime > 1f)
                    {
                        m_TotalTime = msg.TimeStamp - m_LastTimeStamp;
                    }
                    m_SimTime       = 0;
                    m_LastTimeStamp = msg.TimeStamp;
                }
            }
        }
        if (m_TotalTime < Mathf.Epsilon)
        {
            return;
        }
        m_SimTime += Time.deltaTime;
        float ratio = Mathf.Clamp01(m_SimTime / m_TotalTime);

        ClientObjectTF.position = Vector3.Lerp(m_StartPos, m_TargetPos, ratio);
        ClientObjectTF.rotation = Quaternion.Slerp(m_StartRot, m_TargetRot, ratio);
    }
Esempio n. 6
0
    public void SendMessage(StateMsg newMsg)
    {
        bool shouldBeLost = false;


        if (LostRate != 0.0f)
        {
            float rand = Random.Range(0.0f, 1.0f);
            if (rand <= LostRate)
            {
                shouldBeLost = true;
            }
        }


        if (!shouldBeLost)
        {
            if (DelaySec == 0.0f)
            {
                Dispatch(newMsg);
            }
            else
            {
                m_MsgList.Add(new Msg(newMsg, Time.realtimeSinceStartup + DelaySec));
            }
        }
    }
Esempio n. 7
0
        public override void onMessage(Movable obj, StateMsg <Movable> msg)
        {
            MovableMsg type = (MovableMsg)msg.type;

            switch (type)
            {
            case MovableMsg.onLabber:
                obj.getSM().changeState(OnLabberState.Instance());
                break;

            case MovableMsg.toNormal:
                obj.getSM().changeState(NormalState.Instance());
                break;

            case MovableMsg.moveDown:    //降落

                if (!obj.downTileIsBlock())
                {
                    obj.setFallTargetY(true);
                    obj.getSM().changeState(FallToTargetState.Instance());
                }

                break;

            case MovableMsg.moveLeft:
                obj.doMoveLeft();
                obj.adjustWhenMoveOnRope();
                break;

            case MovableMsg.moveRight:
                obj.doMoveRight();
                obj.adjustWhenMoveOnRope();
                break;

            case MovableMsg.stopMove:
                obj.doStopMove();
                break;

            case MovableMsg.wait:
                obj.doWait();
                break;

            case MovableMsg.moveUp:
                //通知發訊者此動作無效
                if (msg.sender != null)
                {
                    //從繩子移到JumpPoint會發動fall to rope,這時目標就停留在JumpPoint
                    //
                    //--J
                    //  --
                    if (Movable.Debug_do_moveUp)
                    {
                        obj.printDebugMsg("[注意!]do MoveUp on rope");
                    }
                    AIMoveController ai = msg.sender.myAI;
                    ai.getSM().handleMessage(new StateMsg <AIMoveController>((int)AIMsg.reFindPath, null));
                }
                break;
            }
        }
Esempio n. 8
0
        public void SetSiteChanged(StateMsg <string> msg)
        {
            // 0: Alias
            // 1: Frequency
            // 2: resultado
            string[] changeSiteRsp = msg.State.Split(',');

            for (int i = 0; i < Radio.NumDestinations; i++)
            {
                if (ChangingSite(i))
                {
                    if (changeSiteRsp[2].ToUpper() == "TRUE")
                    {
                        _Dst[i].Reset(_Dst[i].TempAlias);
                    }
                    else
                    {
                        _Dst[i].TempAlias = _Dst[i].Alias;
                    }
                }
                else if (_Dst[i].Frecuency == changeSiteRsp[1])
                {
                    if (changeSiteRsp[2].ToUpper() == "TRUE")
                    {
                        _Dst[i].Reset(changeSiteRsp[0]);
                    }
                    else
                    {
                        _Dst[i].TempAlias = _Dst[i].Alias;
                    }
                }
            }
            General.SafeLaunchEvent(SiteChanged, this, msg);
        }
Esempio n. 9
0
 void Dispatch(StateMsg sMsg)
 {
     Receiver.SetLastKnownTranslation(sMsg.Pos);
     Receiver.SetLastKnownVelocity(sMsg.Vel);
     Receiver.SetLastKnownAcceleration(sMsg.Acc);
     Receiver.SetLastKnownRotation(sMsg.Rot);
     Receiver.SetLastKnownAngularVelocity(sMsg.AngVel);
 }
Esempio n. 10
0
        public void Reset(StateMsg <string> msg)
        {
            if (_To != msg.State)
            {
                _To = msg.State;
                StateDescription = _To.Length > 0 ? Resources.IntrudeToDescription + " " + _To : "";

                General.SafeLaunchEvent(TlfIntrudeToChanged, this);
            }
        }
Esempio n. 11
0
        public void Reset(StateMsg <string> msg)
        {
            if (_By != msg.State)
            {
                _By = msg.State;
                StateDescription = _By.Length > 0 ? Resources.InterruptedByDescription + " " + _By : "";

                General.SafeLaunchEvent(TlfInterruptedByChanged, this);
            }
        }
Esempio n. 12
0
    public override void onMessage(Brick obj, StateMsg <Brick> msg)
    {
        BrickMsg type = (BrickMsg)msg.type;

        switch (type)
        {
        case BrickMsg.becomeTrap:
            obj.getSM().changeState(BrickFadeOutState.Instance());
            break;
        }
    }
Esempio n. 13
0
    public override void onMessage(Brick obj, StateMsg <Brick> msg)
    {
        BrickMsg type = (BrickMsg)msg.type;

        switch (type)
        {
        case BrickMsg.fadeInOk:
            obj.getSM().changeState(BrickNormalState.Instance());
            break;
        }
    }
Esempio n. 14
0
        public override void onMessage(AIMoveController obj, StateMsg <AIMoveController> msg)
        {
            AIMsg type = (AIMsg)msg.type;

            switch (type)
            {
            case AIMsg.moveTimeIsOver:
                obj.getSM().changeState(AIFindingPathState.Instance());
                break;
            }
        }
Esempio n. 15
0
        public override void onMessage(AIMoveController obj, StateMsg <AIMoveController> msg)
        {
            AIMsg type = (AIMsg)msg.type;

            switch (type)
            {
            case AIMsg.moveFromTrap:
                obj.getSM().changeState(AIMoveFromTrapState.Instance());
                break;
            }
        }
Esempio n. 16
0
        public void SiteChanged(object sender, StateMsg <string> msg)
        {
            int absPageBegin = _urrRdPageButton.Page * _NumPositionsByPage;

            for (int i = 0; i < _NumPositionsByPage; i++)
            {
                UrrRdButton bt  = _RdButtons[i];
                RdDst       dst = _StateManager.Radio[i + absPageBegin];

                Reset(bt, dst);
            }
        }
Esempio n. 17
0
 public void NextState(StateMsg msg)
 {
     switch(msg)
     {
         case StateMsg.yes:
             _automat.state = new Remember(_automat);
             break;
         case StateMsg.no:
             _automat.state = new DontRemember(_automat);
             break;
     }
 }
        public void OnHangToneStateEngine(object sender, StateMsg <bool> msg)
        {
            _Logger.Trace("Procesando {0}: {1}", EventTopicNames.HangToneStateEngine, msg);

            _StateManager.Tlf.HangTone.Reset(msg);
            if (!msg.State)
            {
                // Cuando se quita el tono de colgado quitamos también (si lo hay)
                // el mensaje de "Intervenido por:"
                _StateManager.Tlf.InterruptedBy.Reset();
            }
        }
        public void IntrudeToStateEngine(object sender, StateMsg <string> msg)
        {
            _Logger.Trace("Procesando {0}: {1}", EventTopicNames.IntrudeToStateEngine, msg);

            if (msg != null)
            {
                _StateManager.Tlf.InterruptedBy.Reset(msg);
            }
            else
            {
                _StateManager.Tlf.InterruptedBy.Reset();
            }
        }
Esempio n. 20
0
 public void NextState(StateMsg msg)
 {
     switch (msg)
     {
         case StateMsg.yes:
             WordEngine.Know(_automat.word);
             break;
         case StateMsg.no:
             WordEngine.DontKnow(_automat.word);
             break;
     }
     _automat.state = new SelectWord(_automat);
 }
Esempio n. 21
0
 public void NextState(StateMsg msg)
 {
     switch (msg)
     {
         case StateMsg.yes:
             PhraseEngine.Know(_automat.phrase);
             break;
         case StateMsg.no:
             PhraseEngine.DontKnow(_automat.phrase);
             break;
     }
     _automat.state = new SelectPhrase(_automat);
 }
Esempio n. 22
0
        public override void onMessage(Movable obj, StateMsg <Movable> msg)
        {
            MovableMsg type = (MovableMsg)msg.type;

            switch (type)
            {
            case MovableMsg.jumpFromRope:
                obj.getSM().changeState(OnAirState.Instance());
                break;

            case MovableMsg.fallToAlignRopeFinish:
                obj.getSM().changeState(OnRopeState.Instance());
                break;
            }
        }
Esempio n. 23
0
        public override void onMessage(AIMoveController obj, StateMsg <AIMoveController> msg)
        {
            AIMsg type = (AIMsg)msg.type;

            switch (type)
            {
            case AIMsg.reFindPath:
                obj.movable.getSM().handleMessage(new StateMsg <Movable>((int)MovableMsg.breakKinematic, null));
                obj.getSM().changeState(AIFindingPathState.Instance());
                break;

            case AIMsg.catchPlayer:
                obj.getSM().changeState(AICatchPlayerState.Instance());
                break;
            }
        }
Esempio n. 24
0
        public void OnSelCalResponse(object sender, StateMsg <string> msg)
        {
            if (msg.State != string.Empty)
            {
                _TBDisplayMessages.Text = (msg.State != "Error") ? Resources.SendingTonesSelCal : Resources.ErrorSelCal;

                switch (Memory++ % 3)
                {
                case 0:
                    _BtMem1.Text    = _TBDisplayCode.Text;
                    _BtMem1.Enabled = true;
                    break;

                case 1:
                    _BtMem2.Text    = _TBDisplayCode.Text;
                    _BtMem2.Enabled = true;
                    break;

                case 2:
                    _BtMem3.Text    = _TBDisplayCode.Text;
                    _BtMem3.Enabled = true;
                    break;
                }

                Reset = true;

                tableLayoutPanel2.Enabled = _CodePanelEnabled;

                // Prepara restauracion equipo SELCAL
                try
                {
                    if (msg.State != "Error")
                    {
                        _CmdManager.RdPrepareSelCal(false, "");
                    }
                }
                catch (Exception ex)
                {
                    _TBDisplayMessages.Text = Resources.ErrorSelCal;
                    _Logger.Error("ERROR envío comando SelCal", ex);
                    return;
                }

                _TBDisplayMessages.Text = (msg.State != "Error") ? msg.State : Resources.ErrorSelCal;
            }
        }
Esempio n. 25
0
        public void OnHfGlobalStatus(object sender, StateMsg <string> msg)
        {
            if (msg.State != _HfGlobalStatus)
            {
                _HfGlobalStatus = msg.State;

                _RdPageBT.Page = _StateManager.Radio.Page;
                int absPageBegin = _RdPageBT.Page * _NumPositionsByPage;

                for (int i = 0; i < _NumPositionsByPage; i++)
                {
                    RdButton bt  = _RdButtons[i];
                    RdDst    dst = _StateManager.Radio[i + absPageBegin];

                    UpdateTx(bt, dst);
                }
            }
        }
Esempio n. 26
0
        public override void onMessage(AIMoveController obj, StateMsg <AIMoveController> msg)
        {
            AIMsg type = (AIMsg)msg.type;

            switch (type)
            {
            case AIMsg.findPathOk:
                obj.getSM().changeState(AIMoveState.Instance());
                break;

            case AIMsg.catchByTrap:
                obj.getSM().changeState(AICatchByTrapState.Instance());
                break;

            case AIMsg.catchPlayer:
                obj.getSM().changeState(AICatchPlayerState.Instance());
                break;
            }
        }
Esempio n. 27
0
    void ServerUpdate()
    {
        if (m_HasClientConnected == false)
        {
            if (m_ServerSession.GetRecvedData(m_ServerRecvedData))
            {
                while (m_ServerRecvedData.Count != 0)
                {
                    m_HasClientConnected = true;
                    m_ServerRecvedData.Dequeue();
                }
            }
        }
        else
        {
            Vector3 toTarget = m_ServerTargetPos - m_ServerPos;
            if (toTarget.sqrMagnitude < 0.5f)
            {
                m_ServerTargetPos = new Vector3(Random.Range(-10, 10), 0, Random.Range(-10, 10));
            }
            else
            {
                toTarget.Normalize();
                m_ServerPos += 6 * Time.deltaTime * toTarget;
                m_ServerRot  = Quaternion.LookRotation(toTarget);
            }
            if (Time.time > m_NextSyncTime)
            {
                StateMsg msg = new StateMsg();
                msg.TargetPosition    = m_ServerPos;
                msg.TargetOrientation = m_ServerRot;
                msg.TimeStamp         = Time.time;

                m_ServerSession.Send(msg.Serialize());
                m_NextSyncTime = Time.time + 0.2f;
            }
            ServerObjectTF.position = m_ServerPos;
            ServerObjectTF.rotation = m_ServerRot;
        }
    }
Esempio n. 28
0
        public override void onMessage(Movable obj, StateMsg <Movable> msg)
        {
            MovableMsg type = (MovableMsg)msg.type;

            switch (type)
            {
            case MovableMsg.onRope:
                obj.getSM().changeState(OnRopeState.Instance());
                break;

            case MovableMsg.onLabber:
                obj.getSM().changeState(OnLabberState.Instance());
                break;

            case MovableMsg.landing:
                obj.getSM().changeState(NormalState.Instance());
                break;

            case MovableMsg.toKinematic:
                obj.getSM().changeState(KinematicState.Instance());
                break;
            }
        }
Esempio n. 29
0
 public void handleMessage(StateMsg <T> msg)
 {
     current.onMessage(obj, msg);
 }
Esempio n. 30
0
 public void NextState(StateMsg msg)
 {
     WordEngine.DontKnow(_automat.word);
     _automat.state = new SelectWord(_automat);
 }
Esempio n. 31
0
 public void NextState(StateMsg msg)
 {
     state.NextState(msg);
 }
Esempio n. 32
0
 public PhraseState NextState(StateMsg msg)
 {
     _phraseAutomat.NextState(msg);
     return GetState();
 }
Esempio n. 33
0
 public void NextState(StateMsg msg)
 {
     PhraseEngine.DontKnow(_automat.phrase);
     _automat.state = new SelectPhrase(_automat);
 }
Esempio n. 34
0
 public WordState NextState(StateMsg msg)
 {
     _wordAutomat.NextState(msg);
     return GetState();
 }
Esempio n. 35
0
 public static string GetMessageType()
 {
     return(StateMsg.GetMessageType());
 }
Esempio n. 36
0
 public void Reset(StateMsg <FunctionState> msg)
 {
     State = msg.State;
 }
Esempio n. 37
0
 public void Reset(StateMsg <bool> msg)
 {
     On = msg.State;
 }
Esempio n. 38
0
 public void NextState(StateMsg msg)
 {
     throw new NotImplementedException();
 }
Esempio n. 39
0
 public virtual void onMessage(T obj, StateMsg <T> msg)
 {
 }