コード例 #1
0
    // Update is called once per frame
    void Update()
    {
        if (PhotonNetwork.isMasterClient)
        {
            if (waypoints.Count > 0)
            {
                msControl.UpdateMovementInformation(MovementControl.MovementState.ATTACKMOVE, transform, waypoints[0]);
                if (msControl.OnApproach())
                {
                    waypoints.RemoveAt(0);
                }
            }
            else
            {
                msControl.UpdateStateInfo(MovementControl.MovementState.STOPATTACK);
            }

            if (minionInfo.Dead)
            {
                PhotonNetwork.Destroy(gameObject);
            }
        }
    }
コード例 #2
0
    void Update()
    {
        if (photonView.isMine)
        {
            if (Time.time >= regenTimer)
            {
                heroInfo.RegenAndPassives();
                regenTimer += 1f;
            }
            if (Input.GetMouseButtonDown(0))
            {
                if (storedInput == attackMove)
                {
                    Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
                    RaycastHit hit; LayerMask mask = 1 << 8;

                    if (Physics.Raycast(ray, out hit, 200, mask))
                    {
                        Click(hit.point, Color.red);
                        Collider hitTarget = ClickedCollider(hit.point);

                        if (hitTarget.gameObject != gameObject)
                        {
                            heroMovementControl.UpdateMovementInformation(MovementControl.MovementState.MOVEATTACK, hitTarget.transform, hit.point);
                        }
                        else
                        {
                            heroMovementControl.UpdateMovementInformation(MovementControl.MovementState.ATTACKMOVE, hitTarget.transform, hit.point);
                        }
                    }
                }
                else if (storedInput == spell1)
                {
                    Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
                    RaycastHit hit; LayerMask mask = 1 << 8;

                    if (Physics.Raycast(ray, out hit, 200, mask))
                    {
                        Click(hit.point, Color.red);
                        Collider hitTarget = ClickedCollider(hit.point);
                        HeroInfo.Abilities[0].Active(transform, HeroInfo, hitTarget.transform, hit.point);
                    }
                }
                storedInput = "";
            }
            if (Input.GetMouseButtonDown(1))
            {
                if (storedInput.Length > 0)
                {
                    Debug.Log("Command Canceled!");
                    storedInput = "";
                }
                else
                {
                    Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
                    RaycastHit hit; LayerMask mask = 1 << 8;

                    if (Physics.Raycast(ray, out hit, 200, mask))
                    {
                        Collider hitTarget = ClickedCollider(hit.point);

                        if (hitTarget.gameObject != gameObject)
                        {
                            heroMovementControl.UpdateMovementInformation(MovementControl.MovementState.MOVEATTACK, hitTarget.transform, hit.point);
                        }
                        else
                        {
                            heroMovementControl.UpdateMovementInformation(MovementControl.MovementState.MOVE, hitTarget.transform, hit.point);
                        }
                    }
                }
            }

            //Spells
//			if(Input.GetKeyDown(attackMove))
//			{
//				if(storedInput == attackMove)
//					storedInput = "";
//				else
//					storedInput = attackMove;
//			}
//
//			if(Input.GetKeyDown(spell1))
//			{
//				if(storedInput == "ctrl")
//				{
//					heroInfo.Abilities[0].LevelUp();
//					UpdateEffects();
//				}
//				if(Time.time >= heroInfo.Abilities[0].CurrentCooldown && heroInfo.Abilities[0].SkillLevel > 0 )
//				{
//					storedInput = spell1;
//					Debug.Log ("storedInput: " + storedInput);
//				}
//			}
//			if(Input.GetKeyDown(spell2))
//			{
//				storedInput = spell2;
//				Debug.Log ("storedInput: " + storedInput);
//			}
//			if(Input.GetKeyDown(spell3))
//			{
//				storedInput = spell3;
//				Debug.Log ("storedInput: " + storedInput);
//			}
//			if(Input.GetKeyDown(spell4))
//			{
//				storedInput = spell4;
//				Debug.Log ("storedInput: " + storedInput);
//			}
//			if(Input.GetKeyDown(stop))
//			{
//				Debug.Log ("storedInput: " + storedInput);
//				storedInput = "";
//				heroMovementControl.UpdateMovementInformation(MovementControl.MovementState.STOP, transform, transform.position);
//			}
//			if(Input.GetKeyDown(KeyCode.Escape))
//			{
//				if(storedInput.Length > 0)
//				{
//					Debug.Log("Command cancelled!");
//					storedInput = "";
//				}
//				//else if((MenuOpen))
//				//{
//				//Close Menu
//				//}
//				else
//				{
//					Debug.Log("Menu Opened");
//					//OpenBasicMenu
//				}
//			}
            if (Input.GetKey(KeyCode.Space))
            {
                LockedOn = true;
            }
            else
            {
                LockedOn = false;
            }
            if (Input.GetKeyDown(lockOnToggle))
            {
                if (PermLockOn)
                {
                    PermLockOn = false;
                }
                else
                {
                    PermLockOn = true;
                }
            }
//			if(Input.GetKey(KeyCode.LeftControl))
//			{
//				storedInput = "ctrl";
//			}
            //CameraControls
            if (LockedOn || PermLockOn)
            {
                playerCamera.transform.position = new Vector3(heroMovementControl.Position.x, playerCamera.transform.position.y, heroMovementControl.Position.z - 10);
            }
            else
            {
                if (cameraDown.Contains(Input.mousePosition))
                {
                    playerCamera.transform.Translate(0f, 0f, -cameraSpeed, Space.World);
                }
                if (cameraUp.Contains(Input.mousePosition))
                {
                    playerCamera.transform.Translate(0f, 0f, cameraSpeed, Space.World);
                }
                if (cameraLeft.Contains(Input.mousePosition))
                {
                    playerCamera.transform.Translate(-cameraSpeed, 0f, 0f, Space.World);
                }
                if (cameraRight.Contains(Input.mousePosition))
                {
                    playerCamera.transform.Translate(cameraSpeed, 0f, 0f, Space.World);
                }
            }
        }
    }