private void SetBulletDirection(Bullet bullet) { Vector3 hitPosition = RaycastUtility.GetRaycastMousePosition(); Vector3 shotDirection = Vector3.Normalize(hitPosition - _shootPosition.position); bullet.direction = shotDirection; }
private void GenerateGameItems() { var config = SingletonManager.Get <GameItemConfigManager>().GetConfig(); var list = new System.Collections.Generic.List <int>(); foreach (var item in config.Items) { list.Add(item.Id); } var r = new System.Random(); var basePos = SingletonManager.Get <MapConfigManager>().SceneParameters.PlayerBirthPosition; int sceneObjectCount = list.Count; for (int i = 0; i < sceneObjectCount; i++) { var id = list[i % list.Count]; var count = 1; var time = 1; while (time-- > 0) { _contexts.session.entityFactoryObject.SceneObjectEntityFactory.CreateSimpleObjectEntity( ECategory.GameItem, id, count, RaycastUtility.GetLegalPosition(new Vector3(basePos.x + r.Next(-10, 10), basePos.y, basePos.z + r.Next(-10, 10)))); } } }
private void UpdateMoveState() { Vector3 hitPosition = RaycastUtility.GetRaycastMousePosition(); if (hitPosition != Vector3.zero) { _player.SetState(new MoveState(_player, hitPosition)); } }
public void Execute() { if (InputManager.actionButtonDown) { Vector3 hitPosition = RaycastUtility.GetRaycastMousePosition(); if (hitPosition != Vector3.zero) { _player.SetState(new MoveState(_player, hitPosition)); } } }
public bool Raycast(Ray ray, out RaycastHit raycastHit) { #if UNITY_EDITOR if (this._editorOnlyDebug) { Debug.DrawRay(ray.origin, ray.direction * this._raycastData._MaxDistance, this._editorOnlyDebugColor); } #endif return(RaycastUtility.Raycast( ray: ray, raycastHit: out raycastHit, raycastData: this._raycastData )); }
public void Execute() { Ray mouseRay = RaycastUtility.GetMouseRay(); Vector3 point = RaycastUtility.GetRaycastPosition(mouseRay); _player.RotateToPoint(point); if (InputManager.actionButtonPressed && point != Vector3.zero) { if (_weapon.Shoot()) { _player.animator.SetTrigger("Shoot"); } } }
public bool Raycast(Vector3 origin, Vector3 direction, out RaycastHit raycastHit) { #if UNITY_EDITOR if (this._editorOnlyDebug) { Debug.DrawRay(origin, direction * this._raycastData._MaxDistance, this._editorOnlyDebugColor); } #endif return(RaycastUtility.Raycast( origin: origin, direction: direction, raycastHit: out raycastHit, raycastData: this._raycastData )); }
public void FixedUpdate() { if (awake && HasPlayer) { if (Player.Player.quests.isMarkerPlaced) { if (Player.Player.quests.markerPosition != LastPos) { LastPos = Player.Player.quests.markerPosition; RaycastResult Raycast = RaycastUtility.Raycast(new Vector3(LastPos.x, 1024, LastPos.z), Vector3.down, RayMasks.GROUND | RayMasks.GROUND2 | RayMasks.STRUCTURE | RayMasks.ENVIRONMENT | RayMasks.LARGE | RayMasks.MEDIUM | RayMasks.SMALL | RayMasks.RESOURCE | RayMasks.BARRICADE, 1024); if (Raycast.RaycastHit) { Player.Teleport(new Vector3(Raycast.Raycast.point.x, Raycast.Raycast.point.y + 1, Raycast.Raycast.point.z), Player.Rotation); } } } } }
public static EnvironmentInfo GetEnvironmentInfoByHitBoxName(RaycastHit hit, Vector3 velocity, out ThicknessInfo thicknessInfo) { var go = hit.transform.gameObject; if (go.layer == UnityLayerManager.GetLayerIndex(EUnityLayerName.Water) || go.layer == UnityLayerManager.GetLayerIndex(EUnityLayerName.WaterTrigger)) { thicknessInfo = new ThicknessInfo { Normal = Vector3.up, OutPoint = hit.point, Thickness = float.MaxValue, }; return(new EnvironmentInfo { LayerCount = 1, Thickness = float.MaxValue, Type = EEnvironmentType.Water, }); } else { var name = RaycastUtility.GetMaterialByHit(hit); var envType = SingletonManager.Get <EnvironmentTypeConfigManager>().GetEnvironmentTypeByMatName(name); if (RaycastUtility.GetColliderThickness(hit, velocity, out thicknessInfo)) { var info = new EnvironmentInfo() { Type = envType, Thickness = thicknessInfo.Thickness, LayerCount = 1 }; return(info); } return(new EnvironmentInfo { Type = envType, Thickness = envType == EEnvironmentType.Glass ? 0.1f : float.MaxValue, LayerCount = 1 }); } }
public void OnGamePlay() { if (entity == null || entity.isFlagDestroy) { entity = (SceneObjectEntity)_contexts.session.entityFactoryObject.SceneObjectEntityFactory .CreateSimpleObjectEntity( ECategory.GameItem, 104, 1, RaycastUtility.GetLegalPosition(new UnityEngine.Vector3(0, 100, 0))); } else { var time = _contexts.session.currentTimeObject.CurrentTime; var p = time % 6000 / 6000f; entity.position.Value = new UnityEngine.Vector3(Mathf.Sin(360 * Mathf.Deg2Rad * p) * 5, 2, Mathf.Cos(360 * Mathf.Deg2Rad * p) * 5); entity.ReplaceFlagImmutability(_contexts.session.currentTimeObject.CurrentTime); } }
public void Execute(IRocketPlayer caller, string[] command) { var raycast = RaycastUtility.RayCastPlayer((UnturnedPlayer)caller, RayMasks.BARRICADE | RayMasks.STRUCTURE | RayMasks.VEHICLE, 500); if (raycast.RaycastHit) { ulong ID = 0; string name; if (raycast.Barricade != null) { ID = raycast.Barricade.owner; } else if (raycast.Structure != null) { ID = raycast.Structure.owner; } else if (raycast.Vehicle != null) { ID = raycast.Vehicle.lockedOwner.m_SteamID; } name = AdminToolsPlugin.Instance.GetPlayerName(ID, "Unknown Player"); InteractableBed b = raycast.TryGetEntity <InteractableBed>(); if (b != null && b.owner != CSteamID.Nil) { ulong bedID = b.owner.m_SteamID; string bedName = AdminToolsPlugin.Instance.GetPlayerName(bedID, "Unknown Player"); UnturnedChat.Say(caller, "CheckOwner_Pass_Found_Bed".Translate(name, ID, bedName, bedID)); } else { UnturnedChat.Say(caller, "CheckOwner_Pass_Found".Translate(name, ID)); } return; } UnturnedChat.Say(caller, "CheckOwner_Fail_NotFound".Translate()); }