public void UpdateCurrentCell() { if (NecropoloidSingleton.HasInstance && GameDirector.HasInstance) { if (GameDirector.Instance.CurrentLocalAvatar != null) { Vector3 position = LazySingletonBehavior <GameDirector> .Instance.CurrentLocalAvatar.Position; currentCell = NecropoloidSingleton.Instance.Necropoloid.GetCellFromPosition(position); } } }
public void Update() { updateTimer -= Time.deltaTime; if (isInvite) { fadeProgress -= Time.deltaTime; if (fadeProgress < 5) { fadeProgress -= Time.deltaTime * 14; } if (fadeProgress <= 0) { DiscordRpc.Respond(inviteUserID, DiscordRpc.Reply.Ignore); isInvite = false; fadeProgress = 0; Debug.Log("Ignored invite"); } if (fadeProgress > 0) { if (Necro.Platform.GetKeyDown(KeyCode.LeftArrow)) { DiscordRpc.Respond(inviteUserID, DiscordRpc.Reply.No); isInvite = false; fadeProgress = 0; Debug.Log("Denied invite"); } else if (Necro.Platform.GetKeyDown(KeyCode.RightArrow)) { DiscordRpc.Respond(inviteUserID, DiscordRpc.Reply.Yes); isInvite = false; fadeProgress = 0; Debug.Log("Accepted invite"); } } } if (updateTimer <= 0) { //Character updater { if (CharacterSelectorCamera.HasInstance) { if (Patches.patch_CharacterSelectorCamera.Instance.GetLocalActor() != null) { SetLargePictureID(actorIDtoPictureID[Patches.patch_CharacterSelectorCamera.Instance.GetLocalActor().actorDefId]); SetLargePictureText(actorIDtoText[Patches.patch_CharacterSelectorCamera.Instance.GetLocalActor().actorDefId]); } } if (ThirdPersonCameraControl.HasInstance) { if (ThirdPersonCameraControl.Instance.CharacterActor != null) { SetLargePictureID(actorIDtoPictureID[ThirdPersonCameraControl.Instance.CharacterActor.actorDefId]); SetLargePictureText(actorIDtoText[ThirdPersonCameraControl.Instance.CharacterActor.actorDefId]); } } } //Floor updater if (NecropoloidSingleton.HasInstance && ThirdPersonCameraControl.HasInstance) { if (ThirdPersonCameraControl.Instance.CharacterActor != null) { Necropoloid.Cell currentCell = NecropoloidSingleton.Instance.Necropoloid.GetCellFromPosition(ThirdPersonCameraControl.Instance.CharacterFocusPoint); if (currentCell != null) { SetRichPresenceState("In A Game"); SetLevel((-currentCell.gridPos.y)); } } } else if (Necro.UI.Menu_MainMenu.HasInstance) { SetRichPresenceState("On Main Menu"); } else { SetRichPresenceState("Loading"); } updateTimer = 5; } if (shouldUpdate) { DebugConsole.Log("Updating Discord Presence"); shouldUpdate = false; UpdateRichPresenceValues(); DiscordRpc.UpdatePresence(ref presence); } DiscordRpc.RunCallbacks(); }