示例#1
0
文件: KTarget.cs 项目: zuojiashun/src
    public int GetTarget(ref KCharacter ppCharacter)
    {
        int nResult = 0;

        switch (m_eTargetType)
        {
        case TARGET_TYPE.ttNpc:

            KNpc pNpc = FirstFightMgr.Instance().m_NpcSet.GetObj(m_dwID);
            if (pNpc == null)
            {
                goto Exit0;
            }
            ppCharacter = (KCharacter)pNpc;
            break;

        case TARGET_TYPE.ttPlayer:

            KPlayer pPlayer = FirstFightMgr.Instance().m_PlayerSet.GetObj(m_dwID);
            if (pPlayer == null)
            {
                goto Exit0;
            }
            ppCharacter = (KCharacter)pPlayer;
            break;

        default:
            goto Exit0;
        }

        nResult = 1;
Exit0:
        return(nResult);
    }
示例#2
0
文件: KScene.cs 项目: zuojiashun/src
    private bool TraversePlayer <T>(ref T Func)
    {
        bool bResult  = false;
        bool bRetCode = false;

        KSearchTactic rTactic = Func as KSearchTactic;

        if (rTactic == null)
        {
            goto Exit0;
        }

        for (int i = 0; i < m_PlayerList.Count; ++i)
        {
            KPlayer pPlayer = m_PlayerList[i];

            bRetCode = rTactic.OperatorSearch(pPlayer);
            if (bRetCode == false)
            {
                goto Exit0;
            }
        }

        bResult = true;
Exit0:
        return(bResult);
    }
示例#3
0
    private void CreatePlayer()
    {
        IPlayer player = ClientGlobal.Instance().MainPlayer;

        if (player != null)
        {
            int job   = player.GetProp((int)PlayerProp.Job);
            int sex   = player.GetProp((int)PlayerProp.Sex);
            int index = 0;
            EntityViewProp[] propList = new EntityViewProp[(int)Client.EquipPos.EquipPos_Max];
            propList[index++] = new EntityViewProp((int)Client.EquipPos.EquipPos_Body, 0);
            propList[index++] = new EntityViewProp((int)Client.EquipPos.EquipPos_Weapon, (int)0);

            mainPlayer = CreateMainPlayer(player.GetName(), job, sex, propList, true);
            if (mainPlayer != null)
            {
                mainPlayer.SendMessage(EntityMessage.EntityCommand_SetPos, new UnityEngine.Vector3(100, 0f, -100));

                PlayAni anim_param = new PlayAni();
                anim_param.strAcionName = EntityAction.Stand;
                anim_param.fSpeed       = 1;
                anim_param.nStartFrame  = 0;
                anim_param.nLoop        = -1;
                anim_param.fBlendTime   = 0.1f;
                mainPlayer.SendMessage(EntityMessage.EntityCommand_PlayAni, anim_param);
            }
        }


        KPlayer pPlayer = NewPlayer(0);

        pPlayer.m_pEntity = mainPlayer;

        AddPlayer(pPlayer, m_pCurScne);
    }
示例#4
0
文件: KTarget.cs 项目: zuojiashun/src
    public int SetTarget(TARGET_TYPE eType, uint dwID)
    {
        int nResult = 0;

        switch (eType)
        {
        case TARGET_TYPE.ttNoTarget:
            break;

        case TARGET_TYPE.ttNpc:
        {
            KNpc pNpc = null;

            pNpc = FirstFightMgr.Instance().m_NpcSet.GetObj(dwID);
            if (pNpc == null)
            {
                goto Exit0;
            }

            break;
        }

        case TARGET_TYPE.ttPlayer:
        {
            KPlayer pPlayer = null;


            pPlayer = FirstFightMgr.Instance().m_PlayerSet.GetObj(dwID);
            if (pPlayer == null)
            {
                goto Exit0;
            }
            break;
        }

        break;

        default:
            //error
            break;
        }
        ;

        m_eTargetType = eType;
        m_dwID        = dwID;

        nResult = 1;
Exit0:
        if (nResult == 0)
        {
            m_eTargetType = TARGET_TYPE.ttNoTarget;
        }
        return(nResult);
    }
示例#5
0
    public KPlayer NewPlayer(uint uPlayerID)
    {
        int     nRetCode = 0;
        KPlayer pPlayer  = new KPlayer();

        nRetCode = m_PlayerSet.Register(pPlayer, 0);
        if (nRetCode == 0)
        {
            goto Exit0;
        }

        nRetCode = pPlayer.Init();
        if (nRetCode == 0)
        {
            goto Exit0;
        }



Exit0:
        return(pPlayer);
    }
示例#6
0
文件: KTarget.cs 项目: zuojiashun/src
    public int GetTarget(ref float pfX, ref float pfZ)
    {
        int nResult = 0;

        switch (m_eTargetType)
        {
        case TARGET_TYPE.ttNpc:
        {
            KNpc pNpc = FirstFightMgr.Instance().m_NpcSet.GetObj(m_dwID);
            if (pNpc == null)
            {
                goto Exit0;
            }
            pNpc.GetAbsoluteCoordinate(ref pfX, ref pfZ);

            break;
        }

        case TARGET_TYPE.ttPlayer:
        {
            KPlayer pPlayer = FirstFightMgr.Instance().m_PlayerSet.GetObj(m_dwID);
            if (pPlayer == null)
            {
                goto Exit0;
            }
            pPlayer.GetAbsoluteCoordinate(ref pfX, ref pfZ);
        }
        break;

        default:
            goto Exit0;
        }

        nResult = 1;
Exit0:
        return(nResult);
    }
示例#7
0
文件: KScene.cs 项目: zuojiashun/src
    public void AddPlayer(KPlayer pPlayer)
    {
        m_PlayerList.Add(pPlayer);

        pPlayer.m_pScene = this;
    }
示例#8
0
 public int AddPlayer(KPlayer pPlayer, KScene pScene)
 {
     pScene.AddPlayer(pPlayer);
     return(1);
 }