Example #1
0
    void OnCommandMoveToPoint(CMD_MoveToPoint varCommand)
    {
        PlayerCharacter tmpPlayerCharacter = PlayerManager.GetSingleton().GetPlayerCharacter(varCommand.roleId);

        if (tmpPlayerCharacter)
        {
            /*
             * tmpPlayerCharacter.SetNavigation(false);
             * tmpPlayerCharacter.transform.position = ProtoTransfer.Get(data.position);
             * tmpPlayerCharacter.transform.rotation = Quaternion.Euler(ProtoTransfer.Get(data.direction));
             * tmpPlayerCharacter.SetNavigation(true);
             */
            tmpPlayerCharacter.MoveToPoint(ProtoTransfer.Get(varCommand.destination));
        }
    }
Example #2
0
    public void OnUpdate()
    {
        for (int i = 0; i < mPlayerCharacterList.Count; ++i)
        {
            mPlayerCharacterList[i].OnUpdate();
        }


        if (Input.GetMouseButtonDown(1))
        {
            if (EventSystem.current.IsPointerOverGameObject())
            {
                return;
            }

            if (mCamera && mPlayerCharacterSelf)
            {
                Ray        tmpRay = mCamera.ScreenPointToRay(Input.mousePosition);
                RaycastHit tmpHit;
                if (Physics.Raycast(tmpRay, out tmpHit, 100))
                {
                    mLastPosition.x = 0;
                    mLastPosition.y = 0;
                    mLastPosition.z = 0;

                    Vector3 position = tmpHit.point;

                    SetClickPosition(1, position);

                    CMD_MoveToPoint data = SharedValue <CMD_MoveToPoint> .sData;
                    data.roleId      = mRoleId;
                    data.destination = ProtoTransfer.Get(position);
                    data.position    = ProtoTransfer.Get(mPlayerCharacterSelf.position);
                    data.direction   = ProtoTransfer.Get(mPlayerCharacterSelf.direction);


                    Command cmd = new Command();
                    cmd.Set(CommandID.MOVE_TO_POINT, data);

                    EventDispatch.Dispatch(EventID.AddCommand, cmd);
                }
            }
        }
        if (Input.GetMouseButtonDown(0))
        {
            if (EventSystem.current.IsPointerOverGameObject())
            {
                return;
            }

            if (mCamera && mPlayerCharacterSelf)
            {
                Ray        tmpRay = mCamera.ScreenPointToRay(Input.mousePosition);
                RaycastHit tmpHit;
                if (Physics.Raycast(tmpRay, out tmpHit, 100))
                {
                    mLastPosition = tmpHit.point;
                    SetClickPosition(0, tmpHit.point);
                }
            }
        }
    }