コード例 #1
0
 void OnToggleStart()
 {
     if (!m_bOpening)
     {
         m_Tween.Play(!m_bFunctionOpen);
         m_bOpening = true;
         if (FunctionButtonLogic.Instance() != null)
         {
             FunctionButtonLogic.Instance().ShowNewServerActivityEffect(m_bFunctionOpen);
         }
         if (SkillBarLogic.Instance() != null)
         {
             SkillBarLogic.Instance().ShowSkillChangeStateEffect(m_bFunctionOpen);
         }
         if (m_nNewPlayerGuideIndex == 17 ||
             m_nNewPlayerGuideIndex == 19 ||
             m_nNewPlayerGuideIndex == 21 ||
             m_nNewPlayerGuideIndex == 23)
         {
             NewPlayerGuide(m_nNewPlayerGuideIndex + 1);
         }
         else if (m_nNewPlayerGuideIndex == 8)
         {
             NewPlayerGuide(11);
         }
     }
 }
コード例 #2
0
 public override void Start()
 {
     base.Start();
     // XP教学特殊
     if (SkillBarLogic.Instance() != null)
     {
         if (m_nIdx == 1)
         {
             SkillBarLogic.Instance().NewPlayerGuide(1);
             base.Finish();
         }
         else if (m_nIdx == 8)
         {
             SkillBarLogic.Instance().NewPlayerGuide(8);
             base.Finish();
         }
         else
         {
             Messenger.AddListener(MessengerConst.OnNewPlayerGuideClose, OnNewPlayerGuideClose);
             SkillBarLogic.Instance().NewPlayerGuide(m_nIdx);
         }
     }
     else
     {
         base.Finish();
     }
 }
コード例 #3
0
 // 技能按钮
 static void SkillBarUI(int nIndex)
 {
     if (SkillBarLogic.Instance())
     {
         SkillBarLogic.Instance().NewPlayerGuide(nIndex);
     }
 }
コード例 #4
0
    void Update()
    {
        if (m_bShow)
        {
            if (m_firstShowTime > m_continueShowTime)
            {
                m_firstShowTime = 0;
                if (SkillBarLogic.Instance() != null)
                {
                    SkillBarLogic.Instance().UpdateSkillBarInfo();
                }
                UIManager.CloseUI(UIInfo.NewItemGetRoot);
                m_bShow = false;

                if (OpenServer.Instance())
                {
                    OpenServer.Instance().onClickOpenServer();
                }
                UIManager.CloseUI(UIInfo.OpenServer);
            }
            else
            {
                m_firstShowTime += Time.deltaTime;
            }
        }
    }
コード例 #5
0
ファイル: JoyStickLogic.cs プロジェクト: kimch2/PackageClient
    public void NewPlayerGuide(int nIndex)
    {
        m_NewPlayerStep = nIndex;
        switch (nIndex)
        {
        case 1:
            if (SkillBarLogic.Instance() != null)
            {
                SkillBarLogic.Instance().ShowAndHide(false);
            }
            NewPlayerGuidLogic.OpenWindow_Circle(gameObject, 224, StrDictionary.GetClientDictionaryString("#{10293}"), "center",
                                                 (int)NewPlayerGuidLogic.MotionType.FromL2R, true, true, true, null, null, false);
            GameManager.gameManager.SoundManager.PlaySoundEffect(226);
            break;

        // 取消坐骑冲锋摇杆教学
//             case 2:
//                 NewPlayerGuidLogic.OpenWindow_Circle(gameObject, 224, StrDictionary.GetClientDictionaryString("#{10299}"), "right", 0, true);
//                 GameManager.gameManager.SoundManager.PlaySoundEffect(232);
//                 break;
        case 3:
            //无需处理
            break;

        default:
            break;
        }
    }
コード例 #6
0
ファイル: ReliveLogic.cs プロジェクト: kimch2/PackageClient
 void OnDisable()
 {
     if (SkillBarLogic.Instance() != null)
     {
         SkillBarLogic.Instance().ShowSkillChangeStateEffect(true);
     }
 }
コード例 #7
0
 public override void Execute(UnityOSC.OSCPacket packet)
 {
     if (SkillBarLogic.Instance() != null)
     {
         SkillBarLogic.Instance().SwitchTarget();
     }
 }
コード例 #8
0
ファイル: ReliveLogic.cs プロジェクト: kimch2/PackageClient
 void OnEnable()
 {
     if (SkillBarLogic.Instance() != null)
     {
         SkillBarLogic.Instance().ShowSkillChangeStateEffect(false);
     }
 }
コード例 #9
0
 void OnDrag(Vector2 delta)
 {
     //m_SkillBarSwitch.Drag(delta);
     m_Turntable.Drag(delta);
     if (SkillBarLogic.Instance() && SkillBarLogic.Instance().NewPlayerGuide_Step == 4)
     {
         NewPlayerGuidLogic.CloseWindow();
         SkillBarLogic.Instance().NewPlayerGuide_Step = -1;
         GameManager.gameManager.PlayerDataPool.ForthSkillFlag = false;
     }
 }
コード例 #10
0
 void OnClickOK()
 {
     UIManager.CloseUI(UIInfo.StoryCopySceneInfoRoot);
     GameManager.gameManager.PlayerDataPool.JuQingCopySceneData.ReqOpenStoryCopyScene(m_nStoryCopySceneID);
     if (m_nStoryCopySceneID == 0 && SkillBarLogic.Instance() != null)
     {
         if (!GameManager.gameManager.PlayerDataPool.JuQingCopySceneData.IsPass(0))
         {
             SkillBarLogic.Instance().HideTransformButtonWithLock();
         }
     }
 }
コード例 #11
0
    public void SwitchAllWhenPopUIShow(bool isShow)
    {
        if (MissionDialogAndLeftTabsLogic.Instance())
        {
            MissionDialogAndLeftTabsLogic.Instance().PlayTween(!isShow);
        }
        if (TargetFrameLogic.Instance())
        {
            TargetFrameLogic.Instance().PlayTween(!isShow);
        }
        if (FunctionButtonLogic.Instance())
        {
            FunctionButtonLogic.Instance().PlayTween(!isShow);
        }

        if (ExpLogic.Instance())
        {
            ExpLogic.Instance().PlayTween(!isShow);
        }
        if (ChatFrameLogic.Instance())
        {
            ChatFrameLogic.Instance().PlayTween(!isShow);
        }
        if (SkillBarLogic.Instance())
        {
            SkillBarLogic.Instance().PlayTween(!isShow);
        }
        if (PlayerHitsLogic.Instance())
        {
            PlayerHitsLogic.Instance().PlayTween(!isShow);
        }

        if (RechargeBarLogic.Instance())
        {
            RechargeBarLogic.Instance().PlayTween(!isShow);
        }

        if (!isShow)
        {
            if (JoyStickLogic.Instance())
            {
                JoyStickLogic.Instance().CloseWindow();
            }
        }
        else
        {
            if (JoyStickLogic.Instance())
            {
                JoyStickLogic.Instance().OpenWindow();
            }
        }
    }
コード例 #12
0
 void Check_NewPlayerGuide()
 {
     if (SkillBarLogic.Instance() != null && SkillBarLogic.Instance().NewPlayerGuide_Step == 3)
     {
         SkillBarLogic.Instance().NewPlayerGuide_Step = 0;
         NewPlayerGuide(1);
     }
     if (SkillBarLogic.Instance() != null && SkillBarLogic.Instance().NewPlayerGuide_Step == 5)
     {
         SkillBarLogic.Instance().NewPlayerGuide_Step = 0;
         NewPlayerGuidLogic.CloseWindow();
     }
 }
コード例 #13
0
        public uint Execute(PacketDistributed ipacket)
        {
            GC_SKILL_STUDY packet = (GC_SKILL_STUDY )ipacket;

            if (null == packet)
            {
                return((uint)PACKET_EXE.PACKET_EXE_ERROR);
            }
            //enter your logic

            Obj_MainPlayer _mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

            if (_mainPlayer)
            {
                if (!packet.HasAttachSkillId)
                {
                    _mainPlayer.StudySkillOpt(packet.SkillId, packet.Skillindex);
                }
                else
                {
                    _mainPlayer.StudySkillOpt(packet.SkillId, packet.Skillindex, packet.AttachSkillId, packet.AttachSkillIndex);
                }
            }

            if (SkillLevelUpRoot.Instance())
            {
                SkillLevelUpRoot.Instance().UpdateSkillInfo();
                if (SkillLevelUpRoot.Instance().DelUpdateSkillMenu != null)
                {
                    SkillLevelUpRoot.Instance().DelUpdateSkillMenu();
                }
            }

            if (GUIData.delMasterDataUpdate != null)
            {
                GUIData.delMasterDataUpdate();
            }

            //新手引导-突刺第一步
            for (int i = 0; i < GlobeVar.SKILL_GUIDE_START_IDS.Length; i++)
            {
                if (GlobeVar.SKILL_GUIDE_START_IDS[i] == packet.SkillId &&
                    GameManager.gameManager.RunningScene == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_FB_CABALINTRO)
                {
                    SkillBarLogic.Instance().NewPlayerGuide(3);
                    break;
                }
            }

            return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
        }
コード例 #14
0
 public void ComboNewPlayerGuideOver()
 {
     if (NewPlayerGuide_Step == 1)
     {
         if (GameManager.gameManager.RunningScene == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_FB_CABALINTRO)
         {
             m_NewPlayerGuide_Step = 0;
             if (SkillBarLogic.Instance() != null)
             {
                 SkillBarLogic.Instance().NewPlayerGuide(5);
             }
         }
     }
 }
コード例 #15
0
    /// <summary>
    /// 动画完成
    /// </summary>
    public void OnOverAnimation()
    {
        CameraManager.Instance.CameraCullingMask(Color.black, 0);

        if (JtddSceneControl.Instance() != null)
        {
            JtddSceneControl.Instance().ShowSceneObject("SceneModel/Suidao");
        }

        if (BackCamerControll.Instance() != null)
        {
            BackCamerControll.Instance().InitBlackScreenTween(Color.black, 1.0f, 1.0f, 0.0f);
            BackCamerControll.Instance().PlayBlackScreenTween();
            BackCamerControll.Instance().SetAutoClose(true);
        }

        if (Singleton <ObjManager> .GetInstance() != null)
        {
            Singleton <ObjManager> .GetInstance().CreateMainPlayer();
        }

        ProcessInput.IsProcessInput = true;
        if (null != GameManager.gameManager.SceneLogic)
        {
            GameManager.gameManager.SceneLogic.CharacterDisplayFilter = Games.Scene.SceneLogic.ECharacterDisplayFilter.ShowAll;
        }
        Time.timeScale = 1;

        if (PlayerFrameLogic.Instance() != null)
        {
            PlayerFrameLogic.Instance().HideHPAndMPText();
        }
        if (SkillBarLogic.Instance() != null)
        {
            SkillBarLogic.Instance().HideTransformButtonInDemo();
        }

        GameManager.gameManager.SoundManager.StopSoundEffect(210);
        GameManager.gameManager.SoundManager.StopSoundEffect(211);
        GameManager.gameManager.SoundManager.StopSoundEffect(212);
        GameManager.gameManager.SoundManager.StopSoundEffect(213);

        GameManager.gameManager.SoundManager.PlayBGMusic(248, 0.5f, 0.5f);

        //删除该物体
        Destroy(this.gameObject);
        Resources.UnloadUnusedAssets();
        GC.Collect();
    }
コード例 #16
0
 private bool CheckXpSkill(Tab_SkillBase tabSkillBase)
 {
     //玩家已经点击过了变身按钮 tween正在进行
     if ((tabSkillBase.SkillClass & (int)SKILLCLASS.XP) != 0)
     {
         if (SkillBarLogic.Instance() != null)
         {
             if (SkillBarLogic.Instance().m_isXpBtnOpen)
             {
                 return(false);
             }
         }
     }
     return(true);
 }
コード例 #17
0
    void OnClickButton()
    {
        UIManager.CloseUI(UIInfo.PicGuideRoot);

        if (m_NewPlayerGuideIndex == 0)
        {
            m_NewPlayerGuideIndex = GlobeVar.INVALID_ID;
            if (SkillBarLogic.Instance() != null)
            {
                SkillBarLogic.Instance().CrashBtnIntroGuide = true;
                SkillBarLogic.Instance().m_CrashBtn.SetActive(true);
                SkillBarLogic.Instance().NewPlayerGuide(6);
            }
        }
    }
コード例 #18
0
    public TransformController(SkillBarLogic root)
    {
        m_TransStep     = TransStep.None;
        m_SkillBarLogic = root;

//         m_BeginDataPVE = new TransformerBeginData();
//         m_BeginDataPVE.m_vSpriteBeginPos_Local = root.m_SpritePVE.transform.localPosition;
//         m_BeginDataPVE.m_vBeginPos_Local = root.m_PVEBtn.transform.localPosition;
//         m_BeginDataPVE.m_vAnchorPos_Local = root.m_PVEBtn.transform.parent.localPosition;
//         m_BeginDataPVE.m_vLblPos_Local = root.m_LblPvE.transform.localPosition;
//         m_BeginDataPVE.m_nBeginWidth = root.m_SpritePVEBG.width;
//
//         m_BeginDataPVP = new TransformerBeginData();
//         m_BeginDataPVP.m_vSpriteBeginPos_Local = root.m_SpritePVP.transform.localPosition;
//         m_BeginDataPVP.m_vBeginPos_Local = root.m_PVPBtn.transform.localPosition;
//         m_BeginDataPVP.m_vAnchorPos_Local = root.m_PVPBtn.transform.parent.localPosition;
//         m_BeginDataPVP.m_vLblPos_Local = root.m_LblPvP.transform.localPosition;
//         m_BeginDataPVP.m_nBeginWidth = root.m_SpritePVPBG.width;

        m_listPVEWidgetData = new List <WidgetData>();
        m_listPVPWidgetData = new List <WidgetData>();

        //PVE
        m_listPVEWidgetData.Add(GenWidgetDataFromObj(root.m_PVEBtn.transform.parent.gameObject));
        m_listPVEWidgetData.Add(GenWidgetDataFromObj(root.m_PVEBtn.gameObject));
        for (int i = 0; i < root.m_PVEBtn.transform.childCount; i++)
        {
            GameObject obj = root.m_PVEBtn.transform.GetChild(i).gameObject;
            WidgetData wd  = GenWidgetDataFromObj(obj);
            if (wd != null)
            {
                m_listPVEWidgetData.Add(wd);
            }
        }

        //PVP
        m_listPVEWidgetData.Add(GenWidgetDataFromObj(root.m_PVPBtn.transform.parent.gameObject));
        m_listPVPWidgetData.Add(GenWidgetDataFromObj(root.m_PVPBtn.gameObject));
        for (int i = 0; i < root.m_PVPBtn.transform.childCount; i++)
        {
            GameObject obj = root.m_PVPBtn.transform.GetChild(i).gameObject;
            WidgetData wd  = GenWidgetDataFromObj(obj);
            if (wd != null)
            {
                m_listPVPWidgetData.Add(wd);
            }
        }
    }
コード例 #19
0
 public void ComboNewPlayerGuideAutoOver()
 {
     if (NewPlayerGuide_Step == 1)
     {
         if (GameManager.gameManager.RunningScene == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_FB_CABALINTRO)
         {
             if (SkillBarLogic.Instance() != null)
             {
                 SkillBarLogic.Instance().UnlockSkillAtForFTE(1);
                 SkillBarLogic.Instance().UnlockSkillAtForFTE(2);
                 SkillBarLogic.Instance().UnlockSkillAtForFTE(3);
                 NewPlayerGuidLogic.txtFteIndex = 1;
             }
         }
     }
 }
コード例 #20
0
    //void InitXPEnergySlot()
    //{
    //    CircleEnergySlotLogic.CircleEnergyInfo energyInfo = new CircleEnergySlotLogic.CircleEnergyInfo();
    //    energyInfo.zeroSpriteFill = 0;
    //    energyInfo.maxSpriteFill = 1;
    //    energyInfo.zeroEffectRotation = 10.0f;
    //    energyInfo.maxEffectRotation = -125.0f;
    //    energyInfo.deleEnergyFull = PlayXPEffect;
    //    m_SkillXPEnergy.InitInfo(energyInfo);
    //}

    public void ChangeXPEnergy(int nValue, int maxXP)
    {
        if (maxXP <= 0 || nValue < 0)
        {
            return;
        }

        if (SkillBarLogic.Instance() != null)
        {
            SkillBarLogic.Instance().ChangeXpValueBtn(nValue, maxXP);
        }

        int nXPPercent = 0;

        nXPPercent = (int)(((float)nValue / (float)maxXP) * 100);
        if (SkillBarLogic.Instance() != null)
        {
            SkillBarLogic.Instance().UpdateXpBtnState(nXPPercent);
        }

//         int nIndex = 0;
//
//         //小于最小变身值
//         if (nXPPercent < GlobeVar.XP_CHNAGE_MODE_1)
//         {
//             //一个也不显示
//             nIndex = 0;
//         }//1变
//         else if (nXPPercent >= GlobeVar.XP_CHNAGE_MODE_1 && nXPPercent < GlobeVar.XP_CHANGE_MODE_2)
//         {
//             nIndex = 1;
//         }//2变
//         else if(nXPPercent >= GlobeVar.XP_CHANGE_MODE_2 && nXPPercent < GlobeVar.XP_CHANGE_MODE_3)
//         {
//             nIndex = 2;
//         }//3变
//         else if (nXPPercent >= GlobeVar.XP_CHANGE_MODE_3)
//         {
//             nIndex = 3;
//         }
//         if (SkillBarLogic.Instance() != null)
//         {
//             SkillBarLogic.Instance().PlayXPActiveEffect(nIndex);
//         }
    }
コード例 #21
0
ファイル: JoyStickLogic.cs プロジェクト: kimch2/PackageClient
    /// <summary>
    /// 按下/抬起响应
    /// </summary>
    /// <param name='bPressed'>
    /// 是否被按下
    /// </param>
    void OnPress(bool bPressed)
    {
        if (!ProcessInput.IsProcessInput)
        {
            return;
        }

#if UNITY_EDITOR
        if (m_NewPlayerStep == 1 &&
            NewPlayerGuidLogic.Instance() != null &&
            NewPlayerGuidLogic.Instance().gameObject.activeInHierarchy)
        {
            m_NewPlayerStep = 0;
            GameManager.gameManager.SoundManager.StopSoundEffect(226);
            if (SkillBarLogic.Instance() != null)
            {
                SkillBarLogic.Instance().NewPlayerGuide(2);
            }
        }
        if (m_NewPlayerStep == 2)
        {
            m_NewPlayerStep = 0;
            //GameManager.gameManager.SoundManager.StopSoundEffect(232);
            NewPlayerGuidLogic.CloseWindow();
        }
        if (m_NewPlayerStep == 3)
        {
            m_NewPlayerStep = 0;
            //GameManager.gameManager.SoundManager.StopSoundEffect(232);
            NewPlayerGuidLogic.CloseWindow();
        }
        if (!Singleton <ObjManager> .GetInstance().MainPlayer.IsDie() && !UIManager.IsSubUIShow())
        {
            if (!Singleton <ObjManager> .GetInstance().MainPlayer.BaseAttr.Die)
            {
                if (bPressed)
                {
                    // 重置移动后事件
                    if (Singleton <ObjManager> .GetInstance().MainPlayer)
                    {
                        Singleton <ObjManager> .GetInstance().MainPlayer.MoveOverEvent.Reset();
                    }

                    // 记录鼠标位置
                    m_MouseBuffer = Input.mousePosition;
                    // 拖动时重设精灵透明度
                    m_JoyStickSprite.alpha = 1.0f;
                    m_BackGround1.alpha    = 1.0f;
                    m_BackGround2.alpha    = 1.0f;
                    m_BackGround1.gameObject.transform.localScale = new Vector3(1.2f, 1.2f, 1.0f);
                    if (null != m_BackGround1.gameObject.GetComponent <Spin>())
                    {
                        m_BackGround1.gameObject.GetComponent <Spin>().enabled = true;
                    }

                    // 重置Tween动画
                    TweenPosition nTween = gameObject.GetComponent <TweenPosition>();
                    if (null != nTween)
                    {
                        nTween.from = gameObject.transform.localPosition;
                        nTween.Reset();
                    }
                }
                else
                {
                    // 恢复摇杆精灵透明度
                    m_JoyStickSprite.alpha = 0.5f;
                    m_BackGround1.alpha    = 0.5f;
                    m_BackGround2.alpha    = 0.5f;
                    m_BackGround1.gameObject.transform.localScale = new Vector3(1.0f, 1.0f, 1.0f);
                    if (null != m_BackGround1.gameObject.GetComponent <Spin>())
                    {
                        m_BackGround1.gameObject.GetComponent <Spin>().enabled = false;
                    }
                    // 发送摇杆状态-复位 玩家不再移动
                    m_ProcessInput.ResetStickState();

                    // 播放Tween动画摇杆回归
                    TweenPosition nTween = gameObject.GetComponent <TweenPosition>();
                    if (null != nTween)
                    {
                        nTween.from = gameObject.transform.localPosition;
                        nTween.Play();
                    }
                }
            }
        }
#endif
    }
コード例 #22
0
    public void AfterTweenPosition()
    {
        if (m_ItemType == NEWITEMTYPE.TYPE_SKILL)
        {
            if (!hasAttachSkill)
            {
                if (SkillBarLogic.Instance() != null)
                {
                    if (GetItemListSkillCount() == 0)
                    {
                        //播放新技能特效
                        SkillBarLogic.Instance().SkillBtnShowEffect = SkillBarLogic.Instance().ShowSkillButtonEffect;
                        SkillBarLogic.Instance().PlayNewSkillEffect(m_destGameObject);

                        SkillBarLogic.Instance().UpdateSkillBarInfo();
                    }
                    if (m_NewPlayerGuide_Step != 0)
                    {
                        m_NewPlayerGuide_Step = 0;
                    }
                }
            }
        }
        else
        {
            if (m_ItemType == NEWITEMTYPE.TYPE_MENUBAR || m_ItemType == NEWITEMTYPE.TYPE_FELLOW3DSHOW)
            {
                if (MenuBarLogic.Instance() != null)
                {
                    MenuBarLogic.Instance().InitButtonActive();
                }
                if (PlayerFrameLogic.Instance() != null)
                {
                    PlayerFrameLogic.Instance().AddRemindNum();
                }
            }
            else if (m_ItemType == NEWITEMTYPE.TYPE_FUNCTION)
            {
                if (FunctionButtonLogic.Instance() != null)
                {
                    FunctionButtonLogic.Instance().InitButtonActive();
                    FunctionButtonLogic.Instance().PlayNewButtonEffect();
                }
            }
            MissionNewPlayerGuide(m_IntParam);
        }

        m_ItemTween.enabled = false;

        //如果有附带技能
        if (hasAttachSkill)
        {
            NewPlayerGuider(2);
        }
        else
        {
            m_AttachItemTween.enabled = false;
            if (m_ItemListBuffer.Count > 0)
            {
                InitDataInfo curInfo = m_ItemListBuffer[0];
                NewItemGetLogic.Instance().Init(curInfo._spriteName, curInfo._destGameObject, curInfo._type, curInfo._nNewSkillID, curInfo._attachGameObject, curInfo._ItemName, curInfo._strFuncName, curInfo._strDec);
                m_ItemListBuffer.RemoveAt(0);
            }
            else
            {
                UIManager.CloseUI(UIInfo.NewItemGetRoot);
                m_bShow = false;
            }
        }
    }
コード例 #23
0
    static void OnLoadItemGetRoot(bool bSuccess, object param)
    {
        // 异常 如果资源加载失败
        if (bSuccess == false)
        {
            InitDataInfo curInfo = param as InitDataInfo;
            if (curInfo == null)
            {
                return;
            }
            if (curInfo._type == NEWITEMTYPE.TYPE_SKILL)
            {
                if (SkillBarLogic.Instance() != null)
                {
                    SkillBarLogic.Instance().UpdateSkillBarInfo();

                    if (GameManager.gameManager.PlayerDataPool.ForthSkillFlag == true)
                    {
                        if (SkillBarLogic.Instance())
                        {
                            SkillBarLogic.Instance().NewPlayerGuide(4);
                        }
                    }
                }
            }
            else
            {
                if (curInfo._type == NEWITEMTYPE.TYPE_MENUBAR || curInfo._type == NEWITEMTYPE.TYPE_FELLOW3DSHOW)
                {
                    if (MenuBarLogic.Instance() != null)
                    {
                        MenuBarLogic.Instance().InitButtonActive();
                    }
                    if (PlayerFrameLogic.Instance() != null)
                    {
                        PlayerFrameLogic.Instance().AddRemindNum();
                    }
                }
                else if (curInfo._type == NEWITEMTYPE.TYPE_FUNCTION)
                {
                    if (FunctionButtonLogic.Instance() != null)
                    {
                        FunctionButtonLogic.Instance().InitButtonActive();
                        FunctionButtonLogic.Instance().PlayNewButtonEffect();
                    }
                }
            }
            return;
        }

        if (NewItemGetLogic.Instance() != null)
        {
            InitDataInfo curInfo = param as InitDataInfo;
            NewItemGetLogic.Instance().Init(curInfo._spriteName, curInfo._destGameObject, curInfo._type, curInfo._nNewSkillID, curInfo._attachGameObject, curInfo._ItemName, curInfo._strFuncName, curInfo._strDec);
            if (JoyStickLogic.Instance() != null)
            {
                ProcessInput.Instance().ReleaseTouch();
                JoyStickLogic.Instance().ReleaseJoyStick();
            }
        }
    }
コード例 #24
0
        //开始使用轻功技能
        public void PlayLightSkill(Vector3 dstPos, int nStep)
        {
            //首先判断是否为二段跳
            //if (IsLightState && m_bIsLightSecondStepState)
            //{
            //    m_bIsLightSecondStepActived = true;
            //}

            //暂时只支持一段跳
            if (nStep != 1)
            {
                return;
            }

            //判断场景内是否可以使用轻功
            Tab_SceneClass sceneClass = TableManager.GetSceneClassByID(GameManager.gameManager.RunningScene, 0);

            if (null != sceneClass && sceneClass.IsCanUseLight != 1)
            {
                return;
            }

            Tab_LightSkill lightSkill = TableManager.GetLightSkillByID(nStep, 0);

            if (null == lightSkill)
            {
                return;
            }

            //设置开始时间和持续时间
            m_fLightStartTime = Time.time;
            //将目标点的Y进行赋值,由于不考虑落差,所以先按照当前点的y值进行计算
            if (null != ObjTransform)
            {
                Vector3 targetPos = new Vector3(dstPos.x, ActiveScene.GetTerrainPosition(dstPos).y, dstPos.z);

                if (BaseAttr.MoveSpeed > 0)
                {
                    Vector2 vecSrc = new Vector2(ObjTransform.position.x, ObjTransform.position.z);
                    Vector2 vecDst = new Vector2(dstPos.x, dstPos.z);
                    m_fLightLastTime = Vector2.Distance(vecSrc, vecDst) / BaseAttr.MoveSpeed;

                    if (BaseAttr.MoveSpeed > 5.0f)
                    {                                                                   // 如果客户端因为乘骑,加速等,速度大于5,则按5的速度计算轻功所需时间
                        m_fLightLastTime = Vector2.Distance(vecSrc, vecDst) / 5.0f;     // 轻功一律按照5的速度算
                    }
                    m_fLightWantHight = 0.1f + (Vector2.Distance(vecSrc, vecDst) / 3f); // 计算轻功最高的高度,防止距离短但是飞的高
                    if (m_fLightWantHight < 0.1f)
                    {
                        m_fLightWantHight = 0.1f;
                    }
                    if (m_fLightWantHight > 3)
                    {
                        m_fLightWantHight = 3;
                    }
                }

                m_fMoveSpeed = BaseAttr.MoveSpeed;

                if (m_fLightLastTime <= 0 || m_fLightLastTime > 5.0f)
                {
                    m_fLightLastTime = 5.0f;        //否则给默认值5秒,和服务器的最长时间相同
                }
                StartLightSkillMove(lightSkill.AnimId, targetPos);

                if (ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER && null != SkillBarLogic.Instance())
                {
                    //SkillBarLogic.Instance().BeginLightCD();
                }
            }
        }
コード例 #25
0
        public void SkillFinsh()
        {
            if (m_nLastSkillId == -1 || m_bIsUsingSkill == false)
            {
                return;
            }
            //清除数据
            m_bIsUsingSkill     = false;
            m_fLastUseSkillTime = 0;
            m_nLastSkillId      = -1;
            if (m_UsingSkillBaseInfo == null || m_UsingSkillExInfo == null || m_SkillSender == null)
            {
                return;
            }

            m_SkillSender.EnableMovingRotation(true);

            if (m_SkillSender.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER ||
                m_SkillSender.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_OTHER_PLAYER)
            {
                Obj_OtherPlayer player = m_SkillSender as Obj_OtherPlayer;
                if (null != player)
                {
                    player.UpdateVisualAfterSkill();
                }

                if ((m_UsingSkillBaseInfo.SkillClass & (int)SKILLCLASS.CrashMove) != 0)
                {
                    Obj_MainPlayer _mainPlayer = (Obj_MainPlayer)player;
                    _mainPlayer.IsFirstUseCrash = false;
                }
            }

            ////XP 阳关三叠 放完 恢复之前的视角
            //if ((m_UsingSkillBaseInfo.SkillClass & (int)SKILLCLASS.XP) != 0 ||
            //     m_UsingSkillBaseInfo.Id == (int)SKILLBASEID.YGSDID)
            //{
            //    CameraController camController = Singleton<ObjManager>.GetInstance().MainPlayer.GetComponent<CameraController>();
            //    if (camController != null)
            //    {
            //        if (m_OldCameraScan !=-1)
            //        {
            //            camController.m_Scale = m_OldCameraScan;
            //        }
            //    }
            //}
            for (int i = 0; i < m_UsingSkillBaseInfo.getIsNeedStopEffectIdCount(); i++)
            {
                int nIsNeedStopEffectId = m_UsingSkillBaseInfo.GetIsNeedStopEffectIdbyIndex(i);
                //如果需要在技能结束的时候 停止对应的特效 则停止
                if (nIsNeedStopEffectId != -1)
                {
                    m_SkillSender.StopEffect(nIsNeedStopEffectId);
                }
            }

            if (m_SkillSender.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER)
            {
                Obj_MainPlayer player = m_SkillSender as Obj_MainPlayer;
                if (null != player)
                {
                    player.SyncPosToServer(true);
                }
                if ((m_UsingSkillBaseInfo.SkillClass & (int)SKILLCLASS.XP) != 0 && SkillBarLogic.Instance() != null)
                {
                    //SkillBarLogic.Instance().TransformCon.End();
                }

                if (SkillBarLogic.Instance() != null)
                {
                    SkillBarLogic.Instance().SetAttackBarCanUseNext(true);
                }
            }

            //清除数据
            m_UsingSkillBaseInfo = null;
            m_UsingSkillExInfo   = null;
            m_SkillSender        = null;
        }
コード例 #26
0
        //释放技能
        public void UseSkill(int skillId, int senderId, int targetId, string skillname = "")
        {
            if (m_bIsUsingSkill)
            {
                BreakCurSkill();
            }
            m_fLastUseSkillTime = Time.time;
            m_SkillSender       = Singleton <ObjManager> .GetInstance().FindObjCharacterInScene(senderId);

            if (m_SkillSender == null)
            {
                LogModule.DebugLog("MainPlayer is Null:" + senderId);
                return;
            }
            m_UsingSkillExInfo = TableManager.GetSkillExByID(skillId, 0);
            if (m_UsingSkillExInfo == null)
            {
                LogModule.DebugLog("SkillExinfo is Null: " + skillId);
                return;
            }
            int BaseSkillId = m_UsingSkillExInfo.BaseId;

            m_UsingSkillBaseInfo = TableManager.GetSkillBaseByID(BaseSkillId, 0);
            if (m_UsingSkillBaseInfo == null)
            {
                LogModule.DebugLog("SkillBaseInfo is Null" + BaseSkillId);
                return;
            }
            if (m_SkillSender.IsMoving)//可以攻击了且在移动 停止移动
            {
                m_SkillSender.StopMove();
            }

            //!!!使用的是旋风则 屏蔽旋转
            //if (m_UsingSkillBaseInfo.Id ==(int)SKILLBASEID.XFZBASEID)
            //{
            //    m_SkillSender.EnableMovingRotation(false);
            //}

            if (m_UsingSkillBaseInfo.Id == (int)SKILLBASEID.RIDE_SKILLID)
            {
                GameManager.gameManager.SoundManager.PlaySoundEffect(244);
            }

            //如果有目标 朝向目标
            Obj_Character _targetObjCharacter = Singleton <ObjManager> .GetInstance().FindObjCharacterInScene(targetId);

            if (_targetObjCharacter && _targetObjCharacter.ServerID != m_SkillSender.ServerID)
            {
                m_SkillSender.FaceTo(_targetObjCharacter.Position);
            }
            //如果有目标缓存一下目标位置
            TargetData.Clear();
            if (_targetObjCharacter != null)
            {
                TargetData._targetId  = targetId;
                TargetData._targetPos = _targetObjCharacter.transform.position;
                TargetData._hasSet    = true;
            }
            //开始播放动画
            PlayAnimation(m_UsingSkillExInfo.SatrtMotionId);
            m_UsingSkillStartAni = m_UsingSkillExInfo.SatrtMotionId;

            //子弹播放
            int nBulletNum = m_UsingSkillExInfo.getBulletEffectIDCount();

            for (int i = 0; i < nBulletNum; i++)
            {
                int _nBulletId = m_UsingSkillExInfo.GetBulletEffectIDbyIndex(i);
                if (_nBulletId != -1)
                {
                    if (_nBulletId == 93 || _nBulletId == 94 || _nBulletId == 95) //大理子弹 特殊处理下
                    {
                        m_SkillSender.PlayEffect(_nBulletId);
                    }
                    else
                    {
                        BulletData bulletData = new BulletData(senderId, targetId);
                        m_SkillSender.PlayEffect(_nBulletId, OnLoadBullet, bulletData);
                    }
                }
            }
            //显示技能名字
            if (m_UsingSkillBaseInfo.IsShowSkillName == 1 && m_SkillSender.ObjType != Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_OTHER_PLAYER)
            {
                if (skillname == "")
                {
                    if (m_SkillSender.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER)
                    {
                        m_SkillSender.ShowDamageBoard_SkillName(Games.GlobeDefine.GameDefine_Globe.DAMAGEBOARD_TYPE.SKILL_NAME, m_UsingSkillBaseInfo.Name);
                    }
                    else if (m_SkillSender.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_NPC)
                    {
                        m_SkillSender.ShowDamageBoard_SkillName(Games.GlobeDefine.GameDefine_Globe.DAMAGEBOARD_TYPE.SKILL_NAME_NPC, m_UsingSkillBaseInfo.Name, false);
                    }
                    else
                    {
                        m_SkillSender.ShowDamageBoard_SkillName(Games.GlobeDefine.GameDefine_Globe.DAMAGEBOARD_TYPE.SKILL_NAME, m_UsingSkillBaseInfo.Name, false);
                    }
                }
                else
                {
                    m_SkillSender.ShowDamageBoard_SkillName(Games.GlobeDefine.GameDefine_Globe.DAMAGEBOARD_TYPE.SKILL_NAME, skillname, false);
                }
            }
            //主角的一些的 特殊处理
            if (m_SkillSender.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER)
            {
                Obj_MainPlayer _mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

                if (_mainPlayer)
                {
                    // 使用XP技能,如果有新手指引就 关掉
                    if ((m_UsingSkillBaseInfo.SkillClass & (int)SKILLCLASS.XP) != 0 &&
                        SkillBarLogic.Instance() &&
                        SkillBarLogic.Instance().NewPlayerGuide_Step == 1)
                    {
                        NewPlayerGuidLogic.CloseWindow();
                    }

                    //当前释放的Xp技能成功了
                    if ((m_UsingSkillBaseInfo.SkillClass & (int)SKILLCLASS.XP) != 0 && SkillBarLogic.Instance() != null)
                    {
                        SkillBarLogic.Instance().m_isUseSkillClick = true;
                        SkillBarLogic.Instance().OnClickXpShowBtn();
                        SkillBarLogic.Instance().TransformCon.TakeEffect();
                    }
                    int nSkillIndx = _mainPlayer.GetSkillIndexById(skillId);

                    int nChangeState = _mainPlayer.GetCurrentChangeState();

                    if (nSkillIndx >= 0 && nSkillIndx < _mainPlayer.OwnSkillInfo.Length)
                    {
                        //常规技能
                        if (m_UsingSkillBaseInfo.GetChangeModebyIndex(nChangeState) == 0)
                        {
                            Tab_CoolDownTime _coolDownTime = TableManager.GetCoolDownTimeByID(m_UsingSkillExInfo.CDTimeId, 0);
                            //吟唱技不在这里加CD 吟唱技能生效后才走CD 服务器同步过来
                            if (_coolDownTime != null && m_UsingSkillBaseInfo.UseType != (int)SKILLUSETYPE.YINCHANG)
                            {
                                _mainPlayer.OwnSkillInfo[nSkillIndx].CDTime = _coolDownTime.CDTime;
                            }

                            //非连续技 增加公共CD
                            int nPublicSkillCDId           = (int)SKILLDEFINE.PUBLICCDID;
                            Tab_CoolDownTime _publicCDTime = TableManager.GetCoolDownTimeByID(nPublicSkillCDId, 0);
                            if (_publicCDTime != null && m_UsingSkillBaseInfo.HasPublicCd == 1)
                            {
                                _mainPlayer.SkillPublicTime = _publicCDTime.CDTime;
                            }
                        }
                    }

                    //如果是冲撞技能
                    if ((m_UsingSkillBaseInfo.SkillClass & (int)SKILLCLASS.CrashMove) != 0)
                    {
                        Tab_CoolDownTime _coolDownTime = TableManager.GetCoolDownTimeByID(m_UsingSkillExInfo.CDTimeId, 0);
                        _mainPlayer.CrashSkillCDTime = _coolDownTime.CDTime;

                        //非连续技 增加公共CD
                        int nPublicSkillCDId           = (int)SKILLDEFINE.PUBLICCDID;
                        Tab_CoolDownTime _publicCDTime = TableManager.GetCoolDownTimeByID(nPublicSkillCDId, 0);
                        if (_publicCDTime != null && m_UsingSkillBaseInfo.HasPublicCd == 1)
                        {
                            _mainPlayer.SkillPublicTime = _publicCDTime.CDTime;
                        }
                    }

                    if (CanShowSkillProgress(skillId))
                    {
                        //如果是吟唱技则 显示引导条
                        if (m_UsingSkillBaseInfo.UseType == (int)SKILLUSETYPE.YINCHANG)
                        {
                            //吟唱时间为当前动作的长度
                            float fYinChangTime = m_UsingSkillExInfo.YinChangTime / 1000.0f;//转换成秒
                            //设置持续时间
                            if (SkillProgressLogic.Instance() != null)
                            {
                                SkillProgressLogic.Instance().PlaySkillProgress(SkillProgressLogic.ProgressModel.ORDERMODEL, fYinChangTime);
                            }
                        }
                        else if ((m_UsingSkillBaseInfo.SkillClass & (int)SKILLCLASS.DUTIAO) != 0)
                        {
                            //技能长度为当前引导条的长度
                            float fContiueTime = m_UsingSkillExInfo.SkillContinueTime / 1000.0f;//转换成秒
                            //设置持续时间
                            if (SkillProgressLogic.Instance() != null)
                            {
                                SkillProgressLogic.Instance().PlaySkillProgress(SkillProgressLogic.ProgressModel.REVERSEDMODE, fContiueTime);
                            }
                        }
                    }
                    if (m_SkillSender.Controller != null && m_SkillSender.Controller.CombatFlag)
                    {
                        _mainPlayer.AutoComabat = true;
                    }
                    //add by mawenbin
                    //移植天龙3D TT15398 死亡复活*复活点自动寻路过程中释放六脉神剑立马被打断
                    //清除自动寻路 加个开关限制
                    if (GameManager.gameManager.PlayerDataPool.IsServerFlagOpen(SERVER_FLAGS_ENUM.FLAG_SKILLBREAKAUTOMOVE))
                    {
                        if (null != GameManager.gameManager.AutoSearch &&
                            GameManager.gameManager.AutoSearch.IsAutoSearching)
                        {
                            GameManager.gameManager.AutoSearch.Stop();
                        }
                    }
                }
            }
            //npc和主角自身放技能 可以自带震屏效果
            if (m_SkillSender.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER ||
                m_SkillSender.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_NPC)
            {
                //摄像机的 操作
                CameraOpt();
            }
            //测试用代码
            if (m_UsingSkillExInfo.HasRangeWarning == 1 && m_SkillSender.ObjEffectController != null)
            {
                m_SkillSender.ObjEffectController.PlaySkillWarningEffect(skillId);
            }

            m_nLastSkillId  = skillId;
            m_nLastSendId   = senderId;
            m_nLastTargetId = targetId;
            m_bIsUsingSkill = true;
        }
コード例 #27
0
        public uint Execute(PacketDistributed ipacket)
        {
            GC_UPDATE_NEEDIMPACTINFO packet = (GC_UPDATE_NEEDIMPACTINFO)ipacket;

            if (null == packet)
            {
                return((uint)PACKET_EXE.PACKET_EXE_ERROR);
            }
            //enter your logic
            bool bHasRemoveOP = false;

            for (int nImpactIndex = 0; nImpactIndex < packet.impactIdCount; nImpactIndex++)
            {
                if (packet.GetImpactId(nImpactIndex) == -1)
                {
                    continue;
                }
                //添加
                if (nImpactIndex < packet.isAddCount && packet.GetIsAdd(nImpactIndex) == 1)
                {
                    ClientImpactInfo _impactInfo = new ClientImpactInfo();
                    _impactInfo.CleanUp();
                    _impactInfo.ImpactId = packet.GetImpactId(nImpactIndex);
                    if (nImpactIndex < packet.impactLogicIdCount)
                    {
                        _impactInfo.ImpactLogicId = packet.GetImpactLogicId(nImpactIndex);
                    }
                    if (nImpactIndex < packet.isForeverCount)
                    {
                        _impactInfo.IsForever = (packet.GetIsForever(nImpactIndex) == 1 ? true : false);
                    }
                    if (nImpactIndex < packet.remainTimeCount)
                    {
                        _impactInfo.RemainTime = packet.GetRemainTime(nImpactIndex) / 1.0f;
                    }
                    GameManager.gameManager.PlayerDataPool.ClientImpactInfo.Add(_impactInfo);

                    if (_impactInfo.ImpactId == GlobeVar.MOUNTCRASH_IMPACTID)
                    {
                        if (BackCamerControll.Instance() != null)
                        {
                            BackCamerControll.Instance().PlaySceneEffect(434);
                        }
                    }
                }
                else //移除
                {
                    for (int i = 0; i < GameManager.gameManager.PlayerDataPool.ClientImpactInfo.Count; i++)
                    {
                        if (GameManager.gameManager.PlayerDataPool.ClientImpactInfo[i].ImpactId == packet.GetImpactId(nImpactIndex))
                        {
                            if (GameManager.gameManager.PlayerDataPool.ClientImpactInfo[i].ImpactId == GlobeVar.MOUNTCRASH_IMPACTID)
                            {
                                if (BackCamerControll.Instance() != null)
                                {
                                    BackCamerControll.Instance().StopSceneEffect(434, false);
                                }
                            }

                            if (GameManager.gameManager.PlayerDataPool.ClientImpactInfo[i].ImpactId >= GlobeVar.XP_IMPACT_MIN_ID && GameManager.gameManager.PlayerDataPool.ClientImpactInfo[i].ImpactId <= GlobeVar.XP_IMPACT_MAX_ID)
                            {
                                bHasRemoveOP = true;
                            }
                            ClientImpactInfo _TmpInfo = new ClientImpactInfo();
                            _TmpInfo.CleanUp();
                            GameManager.gameManager.PlayerDataPool.ClientImpactInfo[i] = _TmpInfo;
                        }
                    }
                }
            }
            //清除无效的
            List <ClientImpactInfo> impactList = new List <ClientImpactInfo>();

            for (int i = 0; i < GameManager.gameManager.PlayerDataPool.ClientImpactInfo.Count; ++i)
            {
                if (GameManager.gameManager.PlayerDataPool.ClientImpactInfo[i].IsVaild() == false)
                {
                    impactList.Add(GameManager.gameManager.PlayerDataPool.ClientImpactInfo[i]);
                }
            }

            for (int i = 0; i < impactList.Count; ++i)
            {
                GameManager.gameManager.PlayerDataPool.ClientImpactInfo.Remove(impactList[i]);
            }
            //更新主角头像图标
            if (PlayerFrameLogic.Instance() != null)
            {
                PlayerFrameLogic.Instance().UpdateBuffIcon();
            }

            Obj_MainPlayer _mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

            if (_mainPlayer != null && _mainPlayer.GetCurrentChangeState() != _mainPlayer.CurChangeState)
            {
                _mainPlayer.CurChangeState = _mainPlayer.GetCurrentChangeState();
                if (SkillBarLogic.Instance() != null)
                {
                    SkillBarLogic.Instance().OnClickXpClose();
                }

                if ((int)Games.GlobeDefine.GameDefine_Globe.ChangeModeState.CHANGE_2 == _mainPlayer.CurChangeState ||
                    (int)Games.GlobeDefine.GameDefine_Globe.ChangeModeState.CHANGE_1 == _mainPlayer.CurChangeState)
                {
                    Singleton <ObjManager> .GetInstance().ChangeMainPlayer();
                }
                else
                {
                    if ((int)Games.GlobeDefine.GameDefine_Globe.ChangeModeState.NORMAL == _mainPlayer.CurChangeState)
                    {
                        Singleton <ObjManager> .GetInstance().ChangeMainPlayerToNormal();
                    }
                }
                if (SkillBarLogic.Instance() != null)
                {
                    SkillBarLogic.Instance().CleanUpSkillBarInfo();
                    SkillBarLogic.Instance().UpdateSkillBarInfo();
                    SkillBarLogic.Instance().CleanUpAttackBarInfo();
                    SkillBarLogic.Instance().SetChangeModeAttackBtn();
                    SkillBarLogic.Instance().UpdateSkillActiveByChangeState(_mainPlayer.CurChangeState);
                }
            }
            //             //当移除了变身之后,需要恢复原先的技能
            //             if ( bHasRemoveOP && _mainPlayer != null && SkillBarLogic.Instance()
            //                  && _mainPlayer.CurChangeState == (int)Games.GlobeDefine.GameDefine_Globe.ChangeModeState.NORMAL)
            //             {
            //                 SkillBarLogic.Instance().ShowAfterChangeSkill(false);
            //                 SkillBarLogic.Instance().CleanUpSkillBarInfo();
            //                 SkillBarLogic.Instance().SaveNotChangeModeSkillBarInfo();
            //                 SkillBarLogic.Instance().OnClickXpClose();
            //             }

            return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
        }
コード例 #28
0
        public uint Execute(PacketDistributed ipacket)
        {
            GC_COPYSCENE_RESULT packet = (GC_COPYSCENE_RESULT )ipacket;

            if (null == packet)
            {
                return((uint)PACKET_EXE.PACKET_EXE_ERROR);
            }
            //enter your logic
            if (packet.Result == 0)
            {
                UIManager.ShowUI(UIInfo.FailRoot);
            }
            else
            {
                VictoryScoreRoot.Clear();
                VictoryScoreRoot.m_nResult       = packet.Result;
                VictoryScoreRoot.m_nSceneId      = packet.SceneID;
                VictoryScoreRoot.m_Difficult     = packet.Difficult;
                VictoryScoreRoot.m_nSolo         = packet.IsSolo;
                VictoryScoreRoot.m_nStar         = packet.Star;
                VictoryScoreRoot.m_nScore        = packet.Score;
                VictoryScoreRoot.m_nCarom        = packet.Carom;
                VictoryScoreRoot.m_nTime         = packet.Time;
                VictoryScoreRoot.m_nExp          = packet.Exp;
                VictoryScoreRoot.m_nMoney        = packet.Money;
                VictoryScoreRoot.m_nDrawIndex    = packet.DrawIndex;
                VictoryScoreRoot.m_nDrawIndexTwo = packet.DrawIndexTwo;
                VictoryScoreRoot.m_nPetExp       = packet.PetExp;
                if (VictoryScoreRoot.m_nStar >= 5)
                {
                    VictoryScoreRoot.m_FanPaiNumber = 2;
                }
                else
                {
                    VictoryScoreRoot.m_FanPaiNumber = 1;
                }

                if (VictoryScoreRoot.m_nStar < 5)
                {
                    VictoryScoreRoot.m_nDrawIndexTwo = -1;
                }

                for (int i = 0; i < packet.RewardTypeCount; i++)
                {
                    VictoryScoreRoot.addRewardList(packet.GetRewardType(i), packet.GetRewardItemId(i), packet.GetRewardCount(i));
                }
                for (int i = 0; i < packet.DrawTypeCount; i++)
                {
                    VictoryScoreRoot.addDrawList(packet.GetDrawType(i), packet.GetDrawItemId(i), packet.GetDrawCount(i));
                }


                for (int i = 0; i < packet.UserInSceneCount; i++)
                {
                    if (packet.GetUserInScene(i) != Games.GlobeDefine.GlobeVar.INVALID_GUID)
                    {
                        VictoryScoreRoot.addUserInScene(packet.GetUserInScene(i));
                    }
                }

                UIManager.ShowUI(UIInfo.VictoryScoreRoot);
            }
            if (SkillBarLogic.Instance() != null)
            {
                SkillBarLogic.Instance().TransformCon.End();
            }
            return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
        }
コード例 #29
0
ファイル: JoyStickLogic.cs プロジェクト: kimch2/PackageClient
    void UpdateWithTouch()
    {
        // 特殊判断 如果新手指引开着 且有屏蔽 防止在设备上按到摇杆
        if (m_NewPlayerStep == 0 &&
            NewPlayerGuidLogic.Instance() != null &&
            NewPlayerGuidLogic.Instance().gameObject.activeInHierarchy&&
            NewPlayerGuidLogic.Instance().IsMaskEnable)
        {
            return;
        }

        if (m_FingerID == -1)
        {
            if (null == UICamera.mainCamera)
            {
                return;
            }

            for (int i = 0; i < Input.touchCount; i++)
            {
                Touch      touch       = Input.GetTouch(i);
                Vector3    vecTouchPos = touch.position;
                Ray        rayTouch    = UICamera.mainCamera.ScreenPointToRay(vecTouchPos);
                RaycastHit hitTouch;
                if (Physics.Raycast(rayTouch, out hitTouch))
                {
                    // 如果点中二级界面 拦截 打开二级菜单时摇杆隐藏 取消判断 防止出错
//                     if (hitTouch.collider.gameObject.tag == "SubUI")
//                     {
//                         return;
//                     }
                    // 点中摇杆
                    if (hitTouch.collider.gameObject.transform.parent == gameObject.transform.parent)
                    {
                        if (touch.phase == TouchPhase.Began)
                        {
                            if (m_NewPlayerStep == 1 &&
                                NewPlayerGuidLogic.Instance() != null &&
                                NewPlayerGuidLogic.Instance().gameObject.activeInHierarchy)
                            {
                                m_NewPlayerStep = 0;

                                if (SkillBarLogic.Instance() != null)
                                {
                                    SkillBarLogic.Instance().NewPlayerGuide(2);
                                }
                            }
                            if (m_NewPlayerStep == 2)
                            {
                                m_NewPlayerStep = 0;
                                //GameManager.gameManager.SoundManager.StopSoundEffect(232);
                                NewPlayerGuidLogic.CloseWindow();
                            }
                            if (m_NewPlayerStep == 3)
                            {
                                m_NewPlayerStep = 0;
                                //GameManager.gameManager.SoundManager.StopSoundEffect(232);
                                NewPlayerGuidLogic.CloseWindow();
                            }
                            // 记录fingerID
                            m_FingerID = touch.fingerId;
                            ProcessInput.Instance().SceneTouchFingerID = -1;
                            //m_JoyStickCamera.GetComponent<UICamera>().JoyStickFingerID = m_FingerID;
                            // 摇杆开始移动
                            JoyStickStartMove();

#if (UNITY_ANDROID || UNITY_WP8) && !UNITY_EDITOR
                            _differenceX = touch.position.x;
                            _differenceY = touch.position.y;
#endif
                        }
                    }
                }
            }
        }
        else
        {
            for (int i = 0; i < Input.touchCount; i++)
            {
                Touch touch = Input.GetTouch(i);
                if (touch.fingerId == m_FingerID && touch.phase == TouchPhase.Moved)
                {
#if (UNITY_ANDROID || UNITY_WP8) && !UNITY_EDITOR
                    JoyStickInMoving(touch.position);
#else
                    JoyStickInMoving(touch.deltaPosition);
#endif
                }
                else if (touch.fingerId == m_FingerID && touch.phase == TouchPhase.Ended)
                {
                    m_FingerID = -1;
                    //m_JoyStickCamera.GetComponent<UICamera>().JoyStickFingerID = m_FingerID;
                    JoyStickEndMove();
                }
            }
        }
    }
コード例 #30
0
        public uint Execute(PacketDistributed ipacket)
        {
            GC_RET_USE_SKILL packet = (GC_RET_USE_SKILL)ipacket;

            if (null == packet)
            {
                return((uint)PACKET_EXE.PACKET_EXE_ERROR);
            }
            //enter your logic
            int nSkillId  = packet.HasFixedSkillId ? packet.FixedSkillId : packet.SkillId;
            int nSenderId = packet.SenderId;
            int nTargetID = packet.TargetId;

            Obj_Character Sender = Singleton <ObjManager> .GetInstance().FindObjCharacterInScene(nSenderId);

            if (Sender == null)
            {
                return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
            }
            if (Sender.SkillCore == null)
            {
                return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
            }
            int nFailType = (int)SKILLUSEFAILTYPE.INVALID;

            if (packet.HasSkillfailType)
            {
                nFailType = packet.SkillfailType;
            }
            string szSkillName = "";

            if (packet.HasSkillname)
            {
                szSkillName = packet.Skillname;
            }
            if (nFailType == (int)SKILLUSEFAILTYPE.DISTANCE)
            {
                if (Sender.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER)
                {
                    //服务器认定 距离不够 再往前走点
                    Obj_Character targetCharacter = Singleton <ObjManager> .GetInstance().FindObjCharacterInScene(nTargetID);

                    if (targetCharacter)
                    {
                        Tab_SkillEx _skillEx = TableManager.GetSkillExByID(nSkillId, 0);
                        if (_skillEx != null)
                        {
                            if (Sender.SkillCore.IsUsingSkill)
                            {
                                Sender.SkillCore.BreakCurSkill();
                            }
                            Singleton <ObjManager> .GetInstance().MainPlayer.CurUseSkillId = nSkillId;

                            Singleton <ObjManager> .GetInstance().MainPlayer.MoveTo(targetCharacter.Position, targetCharacter.gameObject, _skillEx.Radius - 2.0f);
                        }
                    }
                }
            }
            else
            {
                //结婚相关特殊表现
                if (nSkillId == GlobeVar.MARRY_SKILL_2)
                {
                    Sender.SkillCore.BreakCurSkill();
                    Sender.FaceTo(new UnityEngine.Vector3(13.79419f, 0.9015087f, 30.36249f));
                }
                //结婚相关特殊表现
                if (nSkillId == GlobeVar.MARRY_SKILL_1)
                {
                    Sender.SkillCore.BreakCurSkill();
                    Sender.FaceTo(new UnityEngine.Vector3(13.79419f, 0.9015087f, 4.068859f));
                }
                if (szSkillName != "")
                {
                    Sender.SkillCore.UseSkill(nSkillId, nSenderId, nTargetID, szSkillName);
                }
                else
                {
                    Sender.SkillCore.UseSkill(nSkillId, nSenderId, nTargetID);
                }

                Tab_SkillEx _skillEx = TableManager.GetSkillExByID(nSkillId, 0);
            }

            if (Sender is Obj_MainPlayer)
            {
                //if the main player in the state of changing mode

                int nImpactCount = GameManager.gameManager.PlayerDataPool.ClientImpactInfo.Count;

                Obj_MainPlayer _mainPlayer = Singleton <ObjManager> .Instance.MainPlayer;
                Tab_SkillEx    _skillEx    = TableManager.GetSkillExByID(nSkillId, 0);

                Tab_SkillBase _skillBase = null;

                int nSkillIndex  = -1;
                int nChangeState = -1;
                if (null != _mainPlayer)
                {
                    for (int i = 0; i < _mainPlayer.OwnSkillInfo.Length; i++)
                    {
                        if (_mainPlayer.OwnSkillInfo[i].SkillId == nSkillId)
                        {
                            nSkillIndex = i;
                            break;
                        }
                    }

                    nChangeState = _mainPlayer.GetCurrentChangeState();

                    // added by mawenbin
                    // 缓存玩家使用的技能,用于挂机连续技的判定
                    AI_PlayerCombat aiPlayerCombat = _mainPlayer.GetComponent <AI_PlayerCombat>();
                    if (null != aiPlayerCombat && Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER == Sender.ObjType)
                    {
                        aiPlayerCombat.CurUseSkillId = nSkillId;
                    }
                }

                if (null != _skillEx)
                {
                    _skillBase = TableManager.GetSkillBaseByID(_skillEx.BaseId, 0);
                }

                if (null != _skillBase)
                {
                    if (null != SkillBarLogic.Instance())
                    {
                        //if the skill is xp skill and can put into skillbar
                        if ((_skillBase.SkillClass & (int)SKILLCLASS.AUTOREPEAT) == 0 &&
                            (_skillBase.SkillClass & (int)SKILLCLASS.XP) == 0 &&
                            (_skillBase.GetChangeModebyIndex(_mainPlayer.CurChangeState) > 0) &&
                            (_skillBase.SkillClass & (int)SKILLCLASS.PASSIVITY) == 0)
                        {
                            for (int i = 0; i < SkillBarLogic.Instance().MySkillBarInfo.Length; i++)
                            {
                                if (nSkillId == SkillBarLogic.Instance().MySkillBarInfo[i].CurSkillId)
                                {
                                    SkillBarLogic.Instance().MySkillBarInfo[i].nPreSkillId           = nSkillId;
                                    SkillBarLogic.Instance().MySkillBarInfo[i].fCurrentStartTime     = Time.realtimeSinceStartup;
                                    SkillBarLogic.Instance().MySkillBarInfo[i].fCurDisabledStartTime = Time.realtimeSinceStartup;
                                    SkillBarLogic.Instance().MySkillBarInfo[i].nCurrentCDTime        = _skillEx.NextSkillEffectTime / 1000.0f;
                                    SkillBarLogic.Instance().MySkillBarInfo[i].fRemainCDTime         = _skillEx.NextSkillEffectTime / 1000.0f;
                                    SkillBarLogic.Instance().MySkillBarInfo[i].fDisabledRemTime      = _skillEx.NextSkillDisabledTime / 1000.0f;
                                    SkillBarLogic.Instance().MySkillBarInfo[i].fCurDisabedTime       = _skillEx.NextSkillDisabledTime / 1000.0f;
                                    SkillBarLogic.Instance().MySkillBarInfo[i].SkillCount++;
                                    if (false == GameManager.gameManager.PlayerDataPool.CommonData.GetCommondFlag((int)USER_COMMONFLAG.CF_COMBO_FIRSTUSED))
                                    {
                                        if (nSkillId == GlobeVar.SHUANGJIANSHI_SKILL1_COMBO1 || nSkillId == GlobeVar.SHUANGJIANSHI_SKILL1_COMBO2)
                                        {
                                            SkillBarLogic.Instance().MySkillBarInfo[i].nCurrentCDTime = 10;
                                            SkillBarLogic.Instance().MySkillBarInfo[i].fRemainCDTime  = 10;
                                        }
                                    }
                                    SkillBarLogic.Instance().SetSkillBarInfoForNext(i, _skillEx.NextContinueSkillId);

                                    //第一个连续技能来了,要有提示
                                    if (nSkillIndex != -1 && nSkillIndex == SkillBarLogic.Instance().MySkillBarInfo[i].SkillIndex)
                                    {
                                        if (null != ComboSkillTipLogic.Instance())
                                        {
                                            System.Collections.Generic.List <string> iconList = SkillBarLogic.Instance().GetContinueSkillIcons(_skillBase);
                                            ComboSkillTipLogic.Instance().Show(i, iconList.Count, iconList);
                                        }
                                    }

                                    if (null != ComboSkillTipLogic.Instance())
                                    {
                                        ComboSkillTipLogic.Instance().SetStep(i, SkillBarLogic.Instance().MySkillBarInfo[i].SkillCount);
                                    }
                                    if (_skillBase.NextIndex == _skillBase.FirstIndex)
                                    {
                                        SkillBarLogic.Instance().MySkillBarInfo[i].isCompleted = true;
                                        SkillBarLogic.Instance().MySkillBarInfo[i].SkillCount  = 0;
                                    }


                                    break;
                                }
                            }
                        }
                    }

                    //if it is xpSkill and attackSkill
                    if (((_skillBase.SkillClass & (int)SKILLCLASS.AUTOREPEAT) != 0) &&
                        _skillBase.GetChangeModebyIndex(_mainPlayer.CurChangeState) >= 0 &&
                        SkillBarLogic.Instance()._AttackBarInfo != null)
                    {
                        SkillBarLogic.Instance()._AttackBarInfo.fCurrentStartTime = Time.realtimeSinceStartup;
                        SkillBarLogic.Instance()._AttackBarInfo.fCurDisabledStartTime = Time.realtimeSinceStartup;
                        SkillBarLogic.Instance()._AttackBarInfo.nCurrentCDTime = _skillEx.NextSkillEffectTime;
                        SkillBarLogic.Instance()._AttackBarInfo.fRemainCDTime = _skillEx.NextSkillEffectTime;
                        SkillBarLogic.Instance()._AttackBarInfo.fDisabledRemTime = _skillEx.NextSkillDisabledTime;
                        SkillBarLogic.Instance()._AttackBarInfo.fCurDisabledTime = _skillEx.NextSkillDisabledTime;
                        SkillBarLogic.Instance()._AttackBarInfo.nCurSkillId = _skillEx.NextContinueSkillId;
                    }
                }
            }


            return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
        }