Esempio n. 1
0
    public Frame RefreshAndReturnFrame()
    {
        Frame buf_Frame;

        myBuffer.RefreshFrame();

        AimLine.ClearAimLines();

//      if(Player.player_type==PLAYER_TYPE.MASTER)
//          for(;(buf_Frame=myBuffer.PopBufferFrame())!=null;)
//          {
//              GetComponent<PhotonView>().RPC ("PushFrame",PhotonTargets.OthersBuffered,new Packet(buf_Frame,prev_Frame).m_packet);
//              prev_Frame=new Frame(buf_Frame);
//          }
        buf_Frame = myBuffer.GetCurrentFrame();
        if (!buf_Frame.is_playing)
        {
            onPlayingEnded();
        }
        if (buf_Frame.ballballcollisionvolume > 0)
        {
            audio_player.PlayAudio("ball", buf_Frame.ballballcollisionvolume);
        }
        if (buf_Frame.ballwallcollisionvolume > 0)
        {
            audio_player.PlayAudio("wall", buf_Frame.ballwallcollisionvolume);
        }
        if (buf_Frame.ballpocketvolume > 0)
        {
            audio_player.PlayAudio("pocket", buf_Frame.ballpocketvolume);
        }

        return(buf_Frame);
    }
        public ExtendedAimlineModifier()
        {
            aimline = GameObject.FindObjectOfType <AimLine>();
            OnReadyForNextBubble();

            GlobalState.EventService.AddEventHandler <ReadyForNextBubbleEvent>(OnReadyForNextBubble);
        }
Esempio n. 3
0
    private void InstantiateAimLine()
    {
        Vector2    instantiationPoint = GameManager.instance.mainCamera.ScreenToWorldPoint(Input.mousePosition);
        GameObject currentAimLine     = Instantiate(this.aimLinePrefab, instantiationPoint, new Quaternion()) as GameObject;

        this.aimLine = currentAimLine.GetComponent <AimLine>();
        this.aimLine.OnAimLineReleased += CreateAsteroidGenerator;
        this.aimLine.SetupAimLine();
    }
Esempio n. 4
0
    void GameEnd1(int win0)       // second Game End, before web.
    {
        Player.win = win0;
        int isWin = ((Player.win == 1)?1:0);

        GlobalInfo.playCnt++;
        GlobalInfo.winCnt += isWin;
        AimLine.HideAimLines();
        //net
        Net.instance.SendMsg(new Game.GameEnd(this));
    }
Esempio n. 5
0
 public void HoldFire()
 {
     AimLine.SetActive(false);
     holsterPivot.rotation = crossHair.rotation;
     Pistol.transform.SetParent(holsterPivot.transform.GetChild(0));
     Pistol.transform.localScale    = Vector3.one;
     Pistol.transform.localPosition = Vector3.zero;
     Pistol.transform.DOLocalRotate(new Vector3(0, 0, 0), 0.15f, RotateMode.Fast).SetEase(Ease.Linear);
     holsterPivot.DOLocalRotate(new Vector3(0, -180, 0), 0.15f, RotateMode.Fast).SetEase(Ease.Linear).OnComplete(() =>
     {
         MovePlayer();
     });
 }
Esempio n. 6
0
 public void TakeAim()
 {
     holsterPivot.DOLocalRotate(crossHair.localRotation.eulerAngles, 0.15f, RotateMode.Fast).SetEase(Ease.Linear).OnComplete(() =>
     {
         Pistol.transform.SetParent(crossHair.transform.GetChild(0));
         Pistol.transform.localScale    = Vector3.one;
         Pistol.transform.localPosition = Vector3.zero;
         Pistol.transform.DOLocalRotate(new Vector3(0, 0, 0), 0.15f, RotateMode.Fast).SetEase(Ease.Linear).OnComplete(() =>
         {
             AimLine.SetActive(true);
             isFired = false;
         });
     });
 }
Esempio n. 7
0
    public void PlayDead()
    {
        AimLine.SetActive(false);
        Pistol.SetActive(false);
        GameManager.gameState = "Result";

        playerMesh.DOMove(deadPosition.position, 0.5f, false).OnComplete(() =>
        {
            mainCam.DOMove(PathSpawner.instance.levelBlocks[0].GetComponent <LevelProperties>().Enemies[0].endCamPoint.position, 0.3f);
            mainCam.DORotate(PathSpawner.instance.levelBlocks[0].GetComponent <LevelProperties>().Enemies[0].endCamPoint.rotation.eulerAngles, 0.1f);
        });
        playerMesh.DORotate(deadPosition.rotation.eulerAngles, 0.3f, RotateMode.Fast);
        GameManager.instance.DelayedReload(3);
    }
Esempio n. 8
0
    private void Start()
    {
        //m_InputSetting = InputMM.Instance.InputSettingMap[2];
        m_PlayerFSM           = new PlayerFSMSystem(this);
        m_Player              = this.GetComponent <Player>();
        m_WeaponController    = this.GetComponent <WeaponController>();
        m_StratagemController = this.GetComponent <StratagemController>();
        m_GrenadesController  = this.GetComponent <GrenadesController>();
        m_PAC        = this.GetComponent <PlayerAnimationsContorller>();
        m_Controller = this.GetComponent <CharacterController>();
        m_Collider   = m_Controller.GetComponent <Collider>();
        m_AimLine    = this.GetComponent <AimLine>();
        if (Camera.main != null)
        {
            m_Cam = Camera.main.transform;
        }

        #region PlayerFSMMap


        m_Animator = m_PAC.Animator;

        PlayerFSMStartState        m_StartState        = new PlayerFSMStartState();
        PlayerFSMGunState          m_GunState          = new PlayerFSMGunState();
        PlayerFSMReloadState       m_RelodaState       = new PlayerFSMReloadState();
        PlayerFSMMeleeAttackState  m_MeleeAttackState  = new PlayerFSMMeleeAttackState();
        PlayerFSMStratagemState    m_StratagemState    = new PlayerFSMStratagemState();
        PlayerFSMThrowState        m_ThrowState        = new PlayerFSMThrowState();
        PlayerFSMThrowBombState    m_ThrowBombState    = new PlayerFSMThrowBombState();
        PlayerFSMSwitchWeaponState m_SwitchWeaponState = new PlayerFSMSwitchWeaponState();
        PlayerFSMPickUpState       m_PickUpState       = new PlayerFSMPickUpState();

        m_StartState.AddTransition(ePlayerFSMTrans.Go_Gun, m_GunState);

        m_GunState.AddTransition(ePlayerFSMTrans.Go_MeleeAttack, m_MeleeAttackState);
        m_GunState.AddTransition(ePlayerFSMTrans.Go_Reload, m_RelodaState);
        m_GunState.AddTransition(ePlayerFSMTrans.Go_ThrowBomb, m_ThrowBombState);
        m_GunState.AddTransition(ePlayerFSMTrans.Go_Stratagem, m_StratagemState);
        m_GunState.AddTransition(ePlayerFSMTrans.Go_SwitchWeapon, m_SwitchWeaponState);
        m_GunState.AddTransition(ePlayerFSMTrans.Go_PickUp, m_PickUpState);

        m_MeleeAttackState.AddTransition(ePlayerFSMTrans.Go_Gun, m_GunState);

        m_ThrowBombState.AddTransition(ePlayerFSMTrans.Go_Gun, m_GunState);

        m_RelodaState.AddTransition(ePlayerFSMTrans.Go_Gun, m_GunState);

        m_StratagemState.AddTransition(ePlayerFSMTrans.Go_Throw, m_ThrowState);
        m_StratagemState.AddTransition(ePlayerFSMTrans.Go_Gun, m_GunState);

        m_ThrowState.AddTransition(ePlayerFSMTrans.Go_Gun, m_GunState);

        m_SwitchWeaponState.AddTransition(ePlayerFSMTrans.Go_Gun, m_GunState);

        m_PickUpState.AddTransition(ePlayerFSMTrans.Go_Gun, m_GunState);

        PlayerFSMRollState    m_RollState    = new PlayerFSMRollState();
        PlayerFSMVictoryState m_VictoryState = new PlayerFSMVictoryState();
        PlayerFSMDeadState    m_DeadState    = new PlayerFSMDeadState();
        PlayerFSMReliveState  m_ReliveState  = new PlayerFSMReliveState();

        m_ReliveState.AddTransition(ePlayerFSMTrans.Go_Gun, m_GunState);

        m_PlayerFSM.AddGlobalTransition(ePlayerFSMTrans.Go_Roll, m_RollState);
        m_PlayerFSM.AddGlobalTransition(ePlayerFSMTrans.Go_Victory, m_VictoryState);
        m_PlayerFSM.AddGlobalTransition(ePlayerFSMTrans.Go_Dead, m_DeadState);
        m_PlayerFSM.AddGlobalTransition(ePlayerFSMTrans.Go_Relive, m_ReliveState);

        m_PlayerFSM.AddState(m_StartState);
        m_PlayerFSM.AddState(m_GunState);
        m_PlayerFSM.AddState(m_MeleeAttackState);
        m_PlayerFSM.AddState(m_ThrowBombState);
        m_PlayerFSM.AddState(m_RelodaState);
        m_PlayerFSM.AddState(m_SwitchWeaponState);
        m_PlayerFSM.AddState(m_StratagemState);
        m_PlayerFSM.AddState(m_ThrowState);
        m_PlayerFSM.AddState(m_PickUpState);
        m_PlayerFSM.AddState(m_VictoryState);
        m_PlayerFSM.AddState(m_DeadState);
        m_PlayerFSM.AddState(m_RollState);

        #endregion
    }
Esempio n. 9
0
    void Update()
    {
        if (!started || Player.win != 0 || GameManager.noPhysics)
        {
            return;
        }
        UpdateTopUI();
        Transform sideCue         = Player.IsPlayer()?sideCueLeft:sideCueRight;
        Transform sideOppositeCue = Player.IsPlayer()?sideCueRight:sideCueLeft;

        sideCue.gameObject.SetActive(false);
        sideOppositeCue.gameObject.SetActive(true);
        //sideOppositeCue.GetComponent<CanvasGroup>().alpha=1.0f;
        if (send_rate++ % 15 == 0 && Player.player_type == PLAYER_TYPE.MASTER)
        {
            SerializeCue();
        }

        ballController.transform.position = CurrentFrame.Balls[0].r = cuePivot.position = BallControllers[0].transform.position;

        if (GetPlayingStatus())
        {
            ShowFrame();
            //cueRotation.position=new Vector3(cueRotation.position.x,1000.0f,cueRotation.position.z);
            cueRotation.localScale = new Vector3(0.0f, 0.0f, 0.0f);
            return;
        }

        if (Player.player_type == PLAYER_TYPE.SLAVE)
        {
            SyncedMovement();
        }
        else if (Player.player_type == PLAYER_TYPE.AI)
        {
            AIUPdate();
        }        //AI Action

        rotationDisplacement = (new Vector2(cueBallPivot.PositionX, cueBallPivot.PositionY));
        if (whiteballmoving)
        {
            AimLine.HideAimLines();
        }
        else
        {
            drawAimLine();
        }
        cueRotation.position = new Vector3(cueRotation.position.x, 10.0f, cueRotation.position.z);

        Vector3 vec_MouseDown = Camera.main.ScreenToWorldPoint(Input.mousePosition);

        //user Event
        if (Input.GetMouseButtonDown(0) && Player.IsPlayer())
        {
            cueDisplacement = 0.0f;
#if UNITY_ANDROID || UNITY_IOS
            if (Mathf.Abs(vec_MouseDown.x) > 16.0f)
            {
                sideControlled = true;
            }
            else
            {
                sideControlled = false;
            }
#endif

            if (Mathf.Abs(vec_MouseDown.z) < 8.2f)
            {
                hand.SetActive(false);
                cueStrPos = GetWorldPointConvertedPosition();
                Debug.Log("cueStrPos :    " + cueStrPos);
#if UNITY_ANDROID || UNITY_IOS
                canControlled = true;
#else
                sideControlled = true;
#endif
            }
        }

        if (Input.GetMouseButtonUp(0))
        {
            if (cueDisplacement != 0.0f && sideControlled && canUpdate && !whiteballmoving)
            {
                Debug.Log(cueDisplacement + " :   cueDisplacement");
                isShoting = true;
            }
            //cueRotation.localPosition = checkCuePosition - cueDisplacement*Vector3.forward;
#if MOBILE
            canControlled = false;
#else
            else
            {
                sideControlled = false;
            }
#endif
            whiteballmoving = false;
#if UNITY_ANDROID || UNITY_IOS
            if (GameManager.isMobileScene)
            {
                CurNodeBack.transform.position = new Vector3(CurNodeBackPosition0.x, CurNodeBackPosition0.y, CurNodeBackPosition0.z);
                ControlCue.transform.position  = new Vector3(ControlCuePosition0.x, ControlCuePosition0.y, ControlCuePosition0.z);
            }
#endif
        }