private void RCMenu_OnItemSelect(UIMenu sender, UIMenuItem selectedItem, int index) { if (selectedItem == Deloreans) { if (TrySelectCar(_selectedIndex, false)) { Function.Call(Hash.CLEAR_FOCUS); RCManager.RemoteControl(_currentTimeMachine); Main.MenuPool.CloseAllMenus(); } } }
private void Start() { ChangeQuality.setCurrentQuality(); name = "MultiplayerManager"; DontDestroyOnLoad(this); HeroCostume.Init(); CharacterMaterials.Init(); RCManager.ClearAll(); heroes = new List <HERO>(); titans = new List <TITAN>(); hooks = new List <Bullet>(); AnarchyManager.DestroyMainScene(); }
public void OnMasterClientSwitched(AOTEventArgs args) { print("OnMasterClientSwitched"); if (gameTimesUp) { return; } if (PhotonNetwork.IsMasterClient) { GameModes.Load(); GameModes.ForceChange(); GameModes.oldHash["motd"] = null; RCManager.ClearAll(); RestartGame(true, false); } }
private void TimeMachineMenu_OnCheckboxChange(UIMenu sender, UIMenuCheckboxItem checkboxItem, bool Checked) { if (DeloreanHandler.CurrentTimeMachine == null) { return; } TimeTravelHandler timeTravelHandler = DeloreanHandler.CurrentTimeMachine.Circuits.GetHandler <TimeTravelHandler>(); if (checkboxItem == TimeCircuitsOn) { DeloreanHandler.CurrentTimeMachine.Circuits.SetTimeCircuitsOn(Checked); } else if (checkboxItem == CutsceneMode) { timeTravelHandler.SetCutsceneMode(Checked); } else if (checkboxItem == RemoteControl) { RCManager.StopRemoteControl(); } if (DeloreanHandler.CurrentTimeMachine.DeloreanType != DeloreanType.BTTF2) { return; } FlyingHandler flyingHandler = DeloreanHandler.CurrentTimeMachine.Circuits.GetHandler <FlyingHandler>(); if (checkboxItem == FlyMode) { flyingHandler.SetFlyMode(Checked); } else if (checkboxItem == HoverMode) { flyingHandler.SetHoverMode(Checked); } }
public void RestartGame(bool masterclientSwitched, bool restartManually) { if (gameTimesUp || logic.Restarting) { return; } GameModes.OnRestart(); checkpoint = null; logic.Restarting = true; logic.RoundTime = 0f; logic.MyRespawnTime = 0f; foreach (var info in killInfoList) { info.destroy(); } killInfoList.Clear(); racingResult = new ArrayList(); RCManager.ClearVariables(); ShowHUDInfoCenter(string.Empty); DestroyAllExistingCloths(); GameModes.SendRpc(); PhotonNetwork.DestroyAll(); BasePV.RPC("RPCLoadLevel", PhotonTargets.All); if (masterclientSwitched) { SendChatContentInfo(User.MasterClientSwitch); } else { if (!restartManually && User.MsgRestart.Length > 0) { SendChatContentInfo(User.MsgRestart); } } }
private void Initialize() { Vector3 v = new Vector3(0.5f, 0.5f); Texture2D texture2D = (Texture2D)RCManager.Load("icon"); Rect rect = new Rect(0f, 0f, (float)texture2D.width, (float)texture2D.height); Minimap.whiteIconSprite = UnityEngine.Sprite.Create(texture2D, rect, v); texture2D = (Texture2D)RCManager.Load("iconpointer"); rect = new Rect(0f, 0f, (float)texture2D.width, (float)texture2D.height); Minimap.pointerSprite = UnityEngine.Sprite.Create(texture2D, rect, v); texture2D = (Texture2D)RCManager.Load("supplyicon"); rect = new Rect(0f, 0f, (float)texture2D.width, (float)texture2D.height); Minimap.supplySprite = UnityEngine.Sprite.Create(texture2D, rect, v); texture2D = (Texture2D)RCManager.Load("mapborder"); rect = new Rect(0f, 0f, (float)texture2D.width, (float)texture2D.height); Vector4 border = new Vector4(5f, 5f, 5f, 5f); Minimap.borderSprite = UnityEngine.Sprite.Create(texture2D, rect, v, 100f, 1u, SpriteMeshType.FullRect, border); this.MINIMAP_ICON_SIZE = new Vector2((float)Minimap.whiteIconSprite.texture.width, (float)Minimap.whiteIconSprite.texture.height); this.MINIMAP_POINTER_SIZE = (float)(Minimap.pointerSprite.texture.width + Minimap.pointerSprite.texture.height) / 2f; this.MINIMAP_POINTER_DIST = (this.MINIMAP_ICON_SIZE.x + this.MINIMAP_ICON_SIZE.y) * 0.25f; this.MINIMAP_SUPPLY_SIZE = new Vector2((float)Minimap.supplySprite.texture.width, (float)Minimap.supplySprite.texture.height); this.assetsInitialized = true; }
public void SetSize(string settings, PhotonMessageInfo info) { bool isMasterClient = info.Sender.IsMasterClient; if (isMasterClient) { string[] array = settings.Split(new char[] { ',' }); bool flag = array.Length > 15; if (flag) { float a = 1f; GameObject gameObject = base.gameObject; bool flag2 = array[2] != "default"; if (flag2) { bool flag3 = array[2].StartsWith("transparent"); if (flag3) { float num; bool flag4 = float.TryParse(array[2].Substring(11), out num); if (flag4) { a = num; } foreach (Renderer renderer in gameObject.GetComponentsInChildren <Renderer>()) { renderer.material = (Material)RCManager.Load("transparent"); bool flag5 = Convert.ToSingle(array[10]) != 1f || Convert.ToSingle(array[11]) != 1f; if (flag5) { renderer.material.mainTextureScale = new Vector2(renderer.material.mainTextureScale.x * Convert.ToSingle(array[10]), renderer.material.mainTextureScale.y * Convert.ToSingle(array[11])); } } } else { foreach (Renderer renderer2 in gameObject.GetComponentsInChildren <Renderer>()) { bool flag6 = !renderer2.name.Contains("Line Renderer"); if (flag6) { renderer2.material = (Material)RCManager.Load(array[2]); bool flag7 = Convert.ToSingle(array[10]) != 1f || Convert.ToSingle(array[11]) != 1f; if (flag7) { renderer2.material.mainTextureScale = new Vector2(renderer2.material.mainTextureScale.x * Convert.ToSingle(array[10]), renderer2.material.mainTextureScale.y * Convert.ToSingle(array[11])); } } } } } float num2 = gameObject.transform.localScale.x * Convert.ToSingle(array[3]); num2 -= 0.001f; float y = gameObject.transform.localScale.y * Convert.ToSingle(array[4]); float z = gameObject.transform.localScale.z * Convert.ToSingle(array[5]); gameObject.transform.localScale = new Vector3(num2, y, z); bool flag8 = array[6] != "0"; if (flag8) { Color color = new Color(Convert.ToSingle(array[7]), Convert.ToSingle(array[8]), Convert.ToSingle(array[9]), a); foreach (MeshFilter meshFilter in gameObject.GetComponentsInChildren <MeshFilter>()) { Mesh mesh = meshFilter.mesh; Color[] array2 = new Color[mesh.vertexCount]; for (int l = 0; l < mesh.vertexCount; l++) { array2[l] = color; } mesh.colors = array2; } } } } }
public override void Process() { if (!IsRemoteControlled) { return; } if (Main.IsManualPlayerSwitchInProgress) { return; } if (OriginalPed == null) { return; } if (OriginalPed.HasCollided) { RCManager.StopRemoteControl(); return; } if (Game.IsControlJustPressed(GTA.Control.VehicleExit)) { RCManager.StopRemoteControl(); } rcHandbrake.Process(); //// When u go too far from clone ped, game removes collision under him and //// he falls through the ground, so if player is 50 we freeze clone //var isCloneFreezed = Main.PlayerPed.Position.DistanceToSquared(OriginalPed.Position) >= 50*50; //Function.Call(Hash.FREEZE_ENTITY_POSITION, OriginalPed, isCloneFreezed); var origPos = OriginalPed.Position; var carPos = Vehicle.Position; Function.Call(Hash.REQUEST_COLLISION_AT_COORD, origPos.X, origPos.Y, origPos.Z); Function.Call(Hash.REQUEST_COLLISION_AT_COORD, carPos.X, carPos.Y, carPos.Z); Function.Call(Hash.STOP_CURRENT_PLAYING_AMBIENT_SPEECH, Main.PlayerPed); Function.Call(Hash.STOP_CURRENT_PLAYING_SPEECH, Main.PlayerPed); Function.Call(Hash.STOP_CURRENT_PLAYING_AMBIENT_SPEECH, OriginalPed); Function.Call(Hash.STOP_CURRENT_PLAYING_SPEECH, OriginalPed); if (Game.IsControlJustPressed(GTA.Control.VehicleAccelerate)) { rcAcceleration.Play(); } if (Game.IsControlJustPressed(GTA.Control.NextCamera)) { if (CurrentMode == RcModes.FromPlayerCamera) { CurrentMode = RcModes.FromCarCamera; Function.Call(Hash.CLEAR_FOCUS); _camera?.Delete(); _camera = null; World.RenderingCamera = null; Function.Call(Hash.SET_FOLLOW_VEHICLE_CAM_VIEW_MODE, 0); } else if (Function.Call <int>(Hash.GET_FOLLOW_VEHICLE_CAM_VIEW_MODE) == 1) { CurrentMode = RcModes.FromPlayerCamera; Function.Call(Hash.SET_FOCUS_ENTITY, OriginalPed); _camera = World.CreateCamera(GameplayCamera.Position, GameplayCamera.Rotation, GameplayCamera.FieldOfView); _camera.PointAt(Vehicle); World.RenderingCamera = _camera; } } if (CurrentMode == RcModes.FromPlayerCamera && _camera != null && _camera.Exists()) { _camera.Position = OriginalPed.Bones[Bone.SkelHead].GetOffsetPosition(new Vector3(0, 0.1f, 0)); } }