private static GameObject smethod_183(Spawns.SpawnerLootable spawnerLootable_0) { GameObject result; if (spawnerLootable_0.SpawnedObject == null && spawnerLootable_0.vector3_0 != Vector3.zero && spawnerLootable_0.List.Count > 0) { string text = spawnerLootable_0.method_0(); if (text != null) { Vector3 vector; Vector3 vector2; TransformHelpers.GetGroundInfo(spawnerLootable_0.vector3_0, out vector, out vector2); if (text == "BoxLoot") { vector.y += 0.35f; } Quaternion quaternion = Quaternion.Euler(0f, (float)UnityEngine.Random.Range(0, 360), 0f); GameObject gameObject = NetCull.InstantiateStatic(text, vector, quaternion); LootableObject component = gameObject.GetComponent <LootableObject>(); if (component != null) { component.LootCycle = spawnerLootable_0.List[text].LootCycle; component.lifeTime = spawnerLootable_0.List[text].LifeTime; component.ResetInvokes(); } result = gameObject; return(result); } } result = spawnerLootable_0.SpawnedObject; return(result); }
public static bool LookAtPosition(PlayerClient player, out Vector3 position, [Optional, DefaultParameterValue(100f)] float maxDistance) { RaycastHit hit; position = new Vector3(0f, 0f, 0f); Character idMain = player.controllable.idMain; if ((idMain != null) && Physics.Raycast(idMain.eyesRay, out hit, maxDistance, -1)) { Vector3 vector; TransformHelpers.GetGroundInfo(hit.point, 100f, out position, out vector); return(true); } return(false); }
public override void ProcessNetworkUpdate(ref Vector3 origin, ref Quaternion rotation) { Vector3 vector; Vector3 vector2; TransformHelpers.GetGroundInfo(origin + new Vector3(0f, 0.25f, 0f), 10f, out vector, out vector2); Vector3 from = (Vector3)(rotation * Vector3.up); float num = Vector3.Angle(from, vector2); if (num > 20f) { vector2 = Vector3.Slerp(from, vector2, 20f / num); } origin = vector; rotation = TransformHelpers.LookRotationForcedUp(rotation, vector2); }
public override void ProcessNetworkUpdate(ref Vector3 origin, ref Quaternion rotation) { Vector3 vector3; Vector3 vector31; TransformHelpers.GetGroundInfo(origin + new Vector3(0f, 0.25f, 0f), 10f, out vector3, out vector31); Vector3 vector32 = rotation * Vector3.up; float single = Vector3.Angle(vector32, vector31); if (single > 20f) { vector31 = Vector3.Slerp(vector32, vector31, 20f / single); } origin = vector3; rotation = TransformHelpers.LookRotationForcedUp(rotation, vector31); }
protected void OnClientDeath(ref Vector3 deathPosition, uLink.NetworkViewID attackerNetViewID, ref uLink.NetworkMessageInfo info) { Vector3 vector; Vector3 vector2; TransformHelpers.GetGroundInfo(deathPosition + new Vector3(0f, 0.25f, 0f), 10f, out vector, out vector2); deathPosition = vector; Quaternion rot = TransformHelpers.LookRotationForcedUp((Vector3)(this._myTransform.rotation * Vector3.forward), vector2); this._interp.SetGoals(deathPosition, rot, info.timestamp); if (attackerNetViewID.isMine) { this.DoClientDeath(); } else { InterpTimedEvent.Queue(this, "DEATH", ref info); } }
public static bool LookAtPosition(PlayerClient player, out Vector3 position, float maxDistance = 100f) { position = new Vector3(0f, 0f, 0f); Character idMain = player.controllable.idMain; RaycastHit raycastHit; bool result; if (idMain != null && Physics.Raycast(idMain.eyesRay, out raycastHit, maxDistance, -1)) { Vector3 vector; TransformHelpers.GetGroundInfo(raycastHit.point, 100f, out position, out vector); result = true; } else { result = false; } return(result); }
public static bool GetGroundInfo(Vector3 startPos, out Vector3 pos, out Vector3 normal) { return(TransformHelpers.GetGroundInfo(startPos, 100f, out pos, out normal)); }