예제 #1
0
        public override bool Do(IOperator oper)
        {
            PEActionParamVQNS param = PEActionParamVQNS.param;

            param.vec = transform.position;
            param.q   = transform.rotation;
            param.n   = id;
            param.str = Ainm;
            return(oper.DoAction(PEActionType.Sleep, param));
        }
예제 #2
0
    private void RPC_SKDAVQNS(uLink.BitStream stream, uLink.NetworkMessageInfo info)
    {
        PEActionType      proType = stream.Read <PEActionType> ();
        PEActionParamVQNS param   = PEActionParamVQNS.param;

        param.vec = stream.Read <Vector3> ();
        param.q   = stream.Read <Quaternion> ();
        param.n   = stream.Read <int> ();
        param.str = stream.Read <string> ();
        if (MtCmpt != null)
        {
            MtCmpt.DoActionImmediately((PEActionType)proType, param);
        }
    }
예제 #3
0
    private void SendSKDASleep(PEActionType type, PEActionParam obj)
    {
        PEActionParamVQNS param = obj as PEActionParamVQNS;

        RPCServer(EPacketType.PT_InGame_SKDAVQNS, type, param.vec, param.q, param.n, param.str);
    }
예제 #4
0
    private void RPC_SKDAQueryEntityState(uLink.BitStream stream, uLink.NetworkMessageInfo info)
    {
        int          eEntityState = stream.Read <int> ();
        PEActionType proType      = PEActionType.None;

        if (MtCmpt != null)
        {
            if ((eEntityState & (int)EEntityState.EEntityState_Death) != 0)
            {
                proType = PEActionType.Death;
            }
            else if ((eEntityState & (int)EEntityState.EEntityState_EquipmentHold) != 0)
            {
                proType = PEActionType.EquipmentHold;
            }
            else if ((eEntityState & (int)EEntityState.EEntityState_HoldShield) != 0)
            {
                proType = PEActionType.HoldShield;
            }
            else if ((eEntityState & (int)EEntityState.EEntityState_GunHold) != 0)
            {
                proType = PEActionType.GunHold;
            }
            else if ((eEntityState & (int)EEntityState.EEntityState_BowHold) != 0)
            {
                proType = PEActionType.BowHold;
            }
            else if ((eEntityState & (int)EEntityState.EEntityState_AimEquipHold) != 0)
            {
                proType = PEActionType.AimEquipHold;
            }
            else if ((eEntityState & (int)EEntityState.EEntityState_HoldFlashLight) != 0)
            {
                proType = PEActionType.HoldFlashLight;
            }
            else if ((eEntityState & (int)EEntityState.EEntityState_TwoHandSwordHold) != 0)
            {
                proType = PEActionType.TwoHandSwordHold;
            }
            else if ((eEntityState & (int)EEntityState.EEntityState_Sit) != 0)
            {
                proType = PEActionType.Sit;
                PEActionParamVQSN paramVQSN = PEActionParamVQSN.param;
                paramVQSN.vec = transform.position;
                paramVQSN.q   = transform.rotation;
                paramVQSN.n   = 0;
                paramVQSN.str = "SitOnChair";
                MtCmpt.DoActionImmediately(PEActionType.Sit, paramVQSN);
                return;
            }
            else if ((eEntityState & (int)EEntityState.EEntityState_SLeep) != 0)
            {
                proType = PEActionType.Sleep;
                PEActionParamVQNS paramVQNS = PEActionParamVQNS.param;
                paramVQNS.vec = transform.position;
                paramVQNS.q   = transform.rotation;
                paramVQNS.n   = 0;
                paramVQNS.str = "Sleep";
                MtCmpt.DoActionImmediately(PEActionType.Sleep, paramVQNS);
                return;
            }
            else if ((eEntityState & (int)EEntityState.EEntityState_Cure) != 0)
            {
                proType = PEActionType.Cure;
            }
            else if ((eEntityState & (int)EEntityState.EEntityState_Operation) != 0)
            {
                proType = PEActionType.Operation;
            }
            if (proType != PEActionType.None)
            {
                MtCmpt.DoActionImmediately(proType);
            }
        }
    }