Ejemplo n.º 1
0
    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;
            }
        }
    }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 4
0
 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;
    }
Ejemplo n.º 7
0
    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();
    }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.tag == "Player" && playersJumping.Contains(other.transform.parent.gameObject) && haveSnowBoard)
     {
         StatsAndAchievements.UnlockAchievement(Achievement.ACH_XMAS_SKI_LAND);
     }
 }
Ejemplo n.º 10
0
 public void OnTriggerEnter(Collider other)
 {
     if (other.tag == "Player")
     {
         StatsAndAchievements.UnlockAchievement(Achievement.ACH_XMAS_SNOWMAN_HAT);
     }
 }
Ejemplo n.º 11
0
 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;
         }
     }
 }
Ejemplo n.º 12
0
 public void OnTriggerEnter(Collider other)
 {
     if (other == battery)
     {
         StatsAndAchievements.UnlockAchievement(Achievement.ACH_POWER_STATUE_BATTERY);
     }
 }
Ejemplo n.º 13
0
 public void OnTriggerEnter(Collider other)
 {
     if (other.tag == "Player")
     {
         StatsAndAchievements.UnlockAchievement(Achievement.ACH_INTRO_STATUE_HEAD);
     }
 }
Ejemplo n.º 14
0
 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>();
     }
 }
Ejemplo n.º 16
0
 public void OnTriggerEnter(Collider other)
 {
     if (other == ship && Vector3.Dot(other.transform.up, base.transform.forward) > 0f)
     {
         StatsAndAchievements.UnlockAchievement(Achievement.ACH_WATER_REVERSE_GEAR);
     }
 }
Ejemplo n.º 17
0
    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);
     }
 }
Ejemplo n.º 19
0
 public override void Process()
 {
     base.Process();
     if (input.value > 0.5f)
     {
         StatsAndAchievements.UnlockAchievement(achievementToUnlock);
     }
 }
Ejemplo n.º 20
0
 public void OnTriggerEnter(Collider other)
 {
     if (other.tag == "Player" && !achieved)
     {
         achieved = true;
         StatsAndAchievements.UnlockAchievement(Achievement.ACH_SIEGE_ZIPLINE);
     }
 }
Ejemplo n.º 21
0
 public void OnTriggerEnter(Collider other)
 {
     if (other.gameObject.name == "Angel" && !achieved)
     {
         achieved = true;
         StatsAndAchievements.UnlockAchievement(Achievement.ACH_XMAS_ANGEL_FALL);
     }
 }
Ejemplo n.º 22
0
 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);
 }
Ejemplo n.º 23
0
 public void OnTriggerExit(Collider other)
 {
     if (other == trackedHuman)
     {
         trackedHuman = null;
         float magnitude = (startPos - base.transform.position).To2D().magnitude;
         StatsAndAchievements.AddDumpster(magnitude);
     }
 }
Ejemplo n.º 24
0
    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;
    }
Ejemplo n.º 25
0
 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);
 }
Ejemplo n.º 26
0
 public void OnTriggerExit(Collider other)
 {
     if (speakersInside.Contains(other))
     {
         speakersInside.Remove(other);
         if (speakersInside.Count == 0)
         {
             StatsAndAchievements.UnlockAchievement(Achievement.ACH_CLIMB_SPEAKERS);
         }
     }
 }
Ejemplo n.º 27
0
 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);
         }
     }
 }
Ejemplo n.º 28
0
 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);
         }
     }
 }
Ejemplo n.º 29
0
 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;
     }
 }