private void CheckCarryEnd(GameObject grabObject) { bool flag = true; for (int i = 0; i < all.Count; i++) { flag &= !all[i].grabbedObjects.Contains(grabObject); } if (!flag) { return; } grabObject.GetComponentInParent <IGrabbable>()?.OnRelease(); if (grabObject != null && grabStartPositions.ContainsKey(grabObject)) { float magnitude = (grabStartPositions[grabObject] - grabObject.transform.position).To2D().magnitude; if (magnitude > 0.1f) { StatsAndAchievements.AddCarry(human, magnitude); } } grabStartPositions.Remove(grabObject); if (!CheatCodes.throwCheat) { Human componentInParent = grabObject.GetComponentInParent <Human>(); if (componentInParent != null) { componentInParent.grabbedByHuman = null; } } }
public void OnTriggerEnter(Collider other) { if (other == boat) { StatsAndAchievements.UnlockAchievement(Achievement.ACH_WATER_ROW_BOAT); } }
public void OnTriggerEnter(Collider other) { if (other.tag == "Player") { StatsAndAchievements.UnlockAchievement(Achievement.ACH_AZTEC_OVERLOOK); } }
private void UnlockAchievements() { foreach (Achievement ach in Enum.GetValues(typeof(Achievement))) { StatsAndAchievements.UnlockAchievement(ach, false, -1); } }
public override void Process() { if (input.value >= 0.5f && !AchievementNoCrane.usedCrane && App.instance.startedCheckpoint != 11) { StatsAndAchievements.UnlockAchievement(Achievement.ACH_STEAM_WALK_THE_PLANK); } }
private void Update() { Bounds bounds = boxes[0].bounds; for (int i = 1; i < boxes.Length; i++) { bounds.Encapsulate(boxes[i].bounds); } Vector3 size = bounds.size; if (size.x <= limit) { Vector3 size2 = bounds.size; if (size2.z <= limit) { if (!currentlyStacked) { StatsAndAchievements.UnlockAchievement(Achievement.ACH_CARRY_BIG_STACK); } currentlyStacked = true; return; } } currentlyStacked = false; }
public IEnumerator PassLevel() { currentLevel.CompleteLevel(); if (NetGame.isLocal) { GameSave.PassCheckpointCampaign((uint)currentLevelNumber, 0, 0); } if (GameIsCompleted()) { if (singleRun) { StatsAndAchievements.UnlockAchievement(Achievement.ACH_SINGLE_RUN); } if (NetGame.isLocal) { GameSave.CompleteGame(levelCount); } yield return(null); App.instance.StartNextLevel((uint)levelCount, 0); } else { int nextLevel = GetNextLevel(currentLevelNumber); if (NetGame.isLocal) { GameSave.PassCheckpointCampaign((uint)nextLevel, 0, 0); } yield return(null); App.instance.StartNextLevel((uint)nextLevel, 0); } StatsAndAchievements.Save(); }
public static bool Refresh(PowerOutlet component) { CircuitConnector forwardConnector = component.forwardConnector; if (!IsCircuitClosed(forwardConnector)) { StopCurrent(forwardConnector); return(true); } float num = CalculateI(forwardConnector); if (Mathf.Abs(num) > 100f) { StatsAndAchievements.UnlockAchievement(Achievement.ACH_POWER_SHORT_CIRCUIT); StopCurrent(forwardConnector); return(false); } RunCurrent(forwardConnector, num); if (!IsCircuitClosed(forwardConnector)) { StopCurrent(forwardConnector); return(true); } num = CalculateI(forwardConnector); if (Mathf.Abs(num) > 100f) { StatsAndAchievements.UnlockAchievement(Achievement.ACH_POWER_SHORT_CIRCUIT); StopCurrent(forwardConnector); return(false); } return(true); }
private void OnTriggerEnter(Collider other) { if (other.tag == "Player" && playersJumping.Contains(other.transform.parent.gameObject) && haveSnowBoard) { StatsAndAchievements.UnlockAchievement(Achievement.ACH_XMAS_SKI_LAND); } }
public void OnTriggerEnter(Collider other) { if (other.tag == "Player") { StatsAndAchievements.UnlockAchievement(Achievement.ACH_XMAS_SNOWMAN_HAT); } }
private void CheckDriveUpdate <T>(Dictionary <T, Vector3> startPositions) where T : MonoBehaviour { for (int i = 0; i < groundObjects.Count; i++) { GameObject gameObject = groundObjects[i]; if (gameObject == null) { continue; } T componentInParent = gameObject.GetComponentInParent <T>(); if (!((Object)componentInParent != (Object)null) || !startPositions.ContainsKey(componentInParent)) { continue; } float magnitude = (startPositions[componentInParent] - gameObject.transform.position).To2D().magnitude; if (magnitude > 5f) { if (typeof(T) == typeof(FloatingMesh)) { StatsAndAchievements.AddShip(magnitude); } else { StatsAndAchievements.AddDrive(magnitude); } startPositions[componentInParent] = gameObject.transform.position; } } }
public void OnTriggerEnter(Collider other) { if (other == battery) { StatsAndAchievements.UnlockAchievement(Achievement.ACH_POWER_STATUE_BATTERY); } }
public void OnTriggerEnter(Collider other) { if (other.tag == "Player") { StatsAndAchievements.UnlockAchievement(Achievement.ACH_INTRO_STATUE_HEAD); } }
public void OnCollisionEnter(Collision collision) { if (collision.gameObject.name.Contains("Rock") && (collision.impulse.magnitude > impulseThreshold || collision.rigidbody.velocity.magnitude > velocityThreshold)) { StatsAndAchievements.UnlockAchievement(Achievement.ACH_SIEGE_BELL); } }
/* Following methods are used to start and shutdown each and every GalaxyManager feature class separately. * Note: Each class closes its own listeners whyn disabled */ public void StartStatsAndAchievements() { if (StatsAndAchievements == null) { StatsAndAchievements = gameObject.AddComponent <StatsAndAchievements>(); } }
public void OnTriggerEnter(Collider other) { if (other == ship && Vector3.Dot(other.transform.up, base.transform.forward) > 0f) { StatsAndAchievements.UnlockAchievement(Achievement.ACH_WATER_REVERSE_GEAR); } }
public void Fall(HumanBase humanBase, bool drown = false) { Human human = humanBase as Human; if (ReplayRecorder.isPlaying || NetGame.isClient) { return; } if (passedLevel && ((currentLevelNumber >= 0 && currentLevelNumber < levels.Length) || workshopLevel != null || currentLevelType == WorkshopItemSource.EditorPick)) { if (ReplayRecorder.isRecording) { ReplayRecorder.Stop(); } else if (workshopLevel != null) { passedLevel = false; PlayerManager.SetSingle(); App.instance.PauseLeave(); GameSave.PassCheckpointWorkshop(workshopLevel.hash, 0); } else if (currentLevelType == WorkshopItemSource.EditorPick) { passedLevel = false; PlayerManager.SetSingle(); App.instance.PauseLeave(); if (NetGame.isLocal) { GameSave.StartFromBeginning(); } for (int i = 0; i < Human.all.Count; i++) { Human.all[i].ReleaseGrab(); } } else { StatsAndAchievements.PassLevel(levels[currentLevelNumber], human); for (int j = 0; j < Human.all.Count; j++) { Human.all[j].ReleaseGrab(); } StartCoroutine(PassLevel()); } } else { if (drown) { StatsAndAchievements.IncreaseDrownCount(human); } else { StatsAndAchievements.IncreaseFallCount(human); } Respawn(human, Vector3.zero); CheckpointRespawned(currentCheckpointNumber); } }
public void OnFryMeToTheMoonAchievementCheck(GameObject objectToBeGrabbing) { if (objectToBeGrabbing != null && GrabManager.IsGrabbedAny(objectToBeGrabbing)) { Debug.Log("FRY ME TO THE MOON ACHIEVEMENT COMPLETE"); StatsAndAchievements.UnlockAchievement(Achievement.ACH_HALLOWEEN_FRY_ME_TO_THE_MOON); } }
public override void Process() { base.Process(); if (input.value > 0.5f) { StatsAndAchievements.UnlockAchievement(achievementToUnlock); } }
public void OnTriggerEnter(Collider other) { if (other.tag == "Player" && !achieved) { achieved = true; StatsAndAchievements.UnlockAchievement(Achievement.ACH_SIEGE_ZIPLINE); } }
public void OnTriggerEnter(Collider other) { if (other.gameObject.name == "Angel" && !achieved) { achieved = true; StatsAndAchievements.UnlockAchievement(Achievement.ACH_XMAS_ANGEL_FALL); } }
private void UnlockAchievements() { StatsAndAchievements.UnlockAchievement(Achievement.ACH_AZTEC_CLOCWORK, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_AZTEC_INDIANA, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_AZTEC_OVERLOOK, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_BREAK_BARE_HANDS, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_BREAK_SURPRISE, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_BREAK_WINDOW_SHORTCUT, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_CARRY_1000M, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_CARRY_BIG_STACK, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_CARRY_JAM_DOOR, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_CLIMB_100M, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_CLIMB_GEMS, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_CLIMB_ROPE, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_CLIMB_SPEAKERS, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_DRIVE_1000M, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_DROWN_10, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_DUMPSTER_50M, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_FALL_1, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_FALL_1000, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_HALLOWEEN_FRY_ME_TO_THE_MOON, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_HALLOWEEN_LIKE_CLOCKWORK, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_HALLOWEEN_PLANKS_NO_THANKS, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_INTRO_JUMP_GAP, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_INTRO_STATUE_HEAD, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_JUMP_1000, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_LVL_AZTEC, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_LVL_BREAK, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_LVL_CARRY, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_LVL_CLIMB, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_LVL_HALLOWEEN, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_LVL_INTRO, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_LVL_POWER, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_LVL_PUSH, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_LVL_RIVER_FEET, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_LVL_RIVER_HEAD, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_LVL_SIEGE, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_POWER_3VOLTS, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_POWER_COAL_DELIVER, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_POWER_SHORT_CIRCUIT, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_POWER_STATUE_BATTERY, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_PUSH_BENCH_ALIGN, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_PUSH_CLEAN_DEBRIS, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_SHIP_1000M, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_SIEGE_ASSASIN, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_SIEGE_BELL, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_SIEGE_HUMAN_CANNON, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_SIEGE_ZIPLINE, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_SINGLE_RUN, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_TRAVEL_100KM, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_TRAVEL_10KM, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_TRAVEL_1KM, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_WATER_ALMOST_DROWN, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_WATER_LIGHTHOUSE, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_WATER_REVERSE_GEAR, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_WATER_ROW_BOAT, false, -1); StatsAndAchievements.UnlockAchievement(Achievement.ACH_WATER_SURF, false, -1); }
public void OnTriggerExit(Collider other) { if (other == trackedHuman) { trackedHuman = null; float magnitude = (startPos - base.transform.position).To2D().magnitude; StatsAndAchievements.AddDumpster(magnitude); } }
private void Update() { if (human == null) { return; } Vector3 position = human.transform.position; HumanState state = human.state; bool onGround = human.onGround; if (oldState != HumanState.Walk && state == HumanState.Walk) { walkStartPos = position; } if (oldState == HumanState.Walk) { float magnitude = (position - walkStartPos).ZeroY().magnitude; if (state != HumanState.Walk) { if (magnitude > 0.5f) { StatsAndAchievements.AddTravel(human, magnitude); } } else if (magnitude > 10f) { StatsAndAchievements.AddTravel(human, magnitude); walkStartPos = position; } } if (oldState == HumanState.Climb && (state == HumanState.Jump || state == HumanState.Idle || state == HumanState.Walk)) { float num = position.y - climbStartPos.y; if (num > 0f) { StatsAndAchievements.AddClimb(human, num); } } if (state == HumanState.Climb && oldState != HumanState.Jump && oldState != HumanState.Climb) { climbStartPos = oldPos; } else if (state == HumanState.Jump && oldState != HumanState.Jump) { climbStartPos = oldPos; } else if (state == HumanState.Climb && position.y - climbStartPos.y < 0f) { climbStartPos = oldPos; } if (state == HumanState.Jump && oldState != HumanState.Jump) { StatsAndAchievements.IncreaseJumpCount(human); } oldState = state; oldPos = position; }
private void ExitWater(bool drown) { if (diveTime < drownTime && diveTime > drownTime * 0.95f) { StatsAndAchievements.UnlockAchievement(Achievement.ACH_WATER_ALMOST_DROWN); } diveTime = 0f; nextBubble = 1f; ApplyUnderwaterState(drown ? 2u : 0u); }
public void OnTriggerExit(Collider other) { if (speakersInside.Contains(other)) { speakersInside.Remove(other); if (speakersInside.Count == 0) { StatsAndAchievements.UnlockAchievement(Achievement.ACH_CLIMB_SPEAKERS); } } }
public void OnTriggerEnter(Collider other) { if (other.name.Contains("Debris") && !stonesInside.Contains(other)) { stonesInside.Add(other); if (stonesInside.Count == piecesToUnlock) { StatsAndAchievements.UnlockAchievement(Achievement.ACH_PUSH_CLEAN_DEBRIS); } } }
public void OnTriggerEnter(Collider other) { if (!delivered.Contains(other) && other.transform.IsChildOf(validCoalParent)) { delivered.Add(other); if (delivered.Count == piecesToDeliver) { StatsAndAchievements.UnlockAchievement(Achievement.ACH_POWER_COAL_DELIVER); } } }
public void OnTriggerExit(Collider other) { if (other == trackedHuman) { Vector3 vector = base.transform.InverseTransformPoint(other.transform.position); if (vector.x * entryX < 0f) { StatsAndAchievements.UnlockAchievement(Achievement.ACH_CARRY_JAM_DOOR); } } }
public void OnTriggerExit(Collider other) { if (other == trackedCollider) { Vector3 vector = base.transform.InverseTransformPoint(other.transform.position); if (vector.x * entryX < 0f) { StatsAndAchievements.UnlockAchievement(Achievement.ACH_BREAK_WINDOW_SHORTCUT); } trackedCollider = null; } }