Esempio n. 1
0
        //-----------------------------------------------------------------------------
        public string evUpdate(IEbEvent ev)
        {
            EbEvent1 <float> e          = (EbEvent1 <float>)ev;
            float            elapsed_tm = e.param1;

            mfCurSecond += elapsed_tm;

            return("");
        }
Esempio n. 2
0
        //-----------------------------------------------------------------------------
        public string evSetState(IEbEvent ev)
        {
            EbEvent1 <_eLevelState> e           = (EbEvent1 <_eLevelState>)ev;
            _eLevelState            level_state = e.param1;

            if (level_state == _eLevelState.Switch)
            {
                return("CRenderLevelStateSwitch");
            }

            return("");
        }
Esempio n. 3
0
        //-----------------------------------------------------------------------------
        public string evUpdate(IEbEvent ev)
        {
            EbEvent1 <float> e          = (EbEvent1 <float>)ev;
            float            elapsed_tm = e.param1;

            mfCurSecond += elapsed_tm;

            IRenderListener listener = mScene.getListener();

            if (listener != null)
            {
                listener.onSceneShowMessageBox("鱼潮来临!!!", false, "", 1, (int)0, false, false);//_eMessageBoxLayer.SwitchLevel
            }

            return("");
        }
        //---------------------------------------------------------------------
        public string evUpdate(IEbEvent ev)
        {
            EbEvent1 <float> e          = (EbEvent1 <float>)ev;
            float            elapsed_tm = e.param1;

            if (mfCurSecond > mfMaxSecond)
            {
                return("CLogicLevelStateNormal");
            }
            else
            {
                mfCurSecond += elapsed_tm;
            }

            return("");
        }
Esempio n. 5
0
    //-------------------------------------------------------------------------
    // event: 设置进入停止状态
    public string evSetStopState(IEbEvent ev)
    {
        EbEvent1 <List <_tNodeParamPair> > evt        = ev as EbEvent1 <List <_tNodeParamPair> >;
        List <_tNodeParamPair>             list_param = evt.param1;

        Dictionary <byte, object> map_param = mNode.getMapParam();

        if (list_param != null)
        {
            foreach (var i in list_param)
            {
                map_param[i.k] = i.v;
            }
        }

        return("CNodeStateStop");
    }
Esempio n. 6
0
    //-------------------------------------------------------------------------
    // event: 每帧更新
    public string evMainUpdate(IEbEvent ev)
    {
        EbEvent1 <float> evt        = ev as EbEvent1 <float>;
        float            elapsed_tm = evt.param1;

        // 执行脚本函数
        if (mNodeServerScript != null)
        {
            mNodeServerScript.onUpdate(mNode, elapsed_tm);
        }
        else if (mNodeClientScript != null)
        {
            mNodeClientScript.onUpdate(mNode, elapsed_tm);
        }

        return("");
    }
        //---------------------------------------------------------------------
        public string evUpdate(IEbEvent ev)
        {
            EbEvent1 <float> e          = (EbEvent1 <float>)ev;
            float            elapsed_tm = e.param1;

            if (mfCurSecond > mfMaxSecond)
            {
                return("CLogicLevelStateSwitch");
            }
            else
            {
                mfCurSecond += elapsed_tm;
            }

            if (mLevel != null)
            {
                mLevel.updateOutFish(elapsed_tm);
            }

            return("");
        }
Esempio n. 8
0
    //-------------------------------------------------------------------------
    // event: 每帧更新
    public string evMainUpdate(IEbEvent ev)
    {
        if (!mNode.getNodeSys().isClient())
        {
            // 更新所有触发器
            EbEvent1 <float>    evt          = ev as EbEvent1 <float>;
            float               elasped_tm   = evt.param1;
            List <INodeTrigger> trigger_list = mNode.getTriggerList();
            foreach (var i in trigger_list)
            {
                i.update(elasped_tm);
            }

            // 检查有没有触发器触发
            bool triggered = false;
            foreach (var i in trigger_list)
            {
                triggered = i.triggered();
                if (triggered)
                {
                    break;
                }
            }
            if (trigger_list.Count == 0)
            {
                triggered = true;
            }
            foreach (var i in trigger_list)
            {
                i.reset();
            }

            // 检查触发条件是否满足
            bool triggered_condition = false;
            if (triggered)
            {
                triggered_condition = _checkTriggerCondition();
            }

            // 触发器触发了即执行脚本on_trigger函数
            bool trigger_ss = true;
            if (triggered)
            {
                if (mNodeServerScript != null)
                {
                    trigger_ss = mNodeServerScript.canExitStartState(mNode);
                }
            }

            // 触发结果
            bool can_run = false;
            if (triggered && triggered_condition && trigger_ss)
            {
                can_run = true;
            }

            if (can_run)
            {
                return("CNodeStateRun");
            }
        }

        return("");
    }