Example #1
0
        private static void UpdateExtraInfo()
        {
            string temp = string.Empty;

            if (Characters.Sein != null)
            {
                SeinCharacter sein    = Characters.Sein;
                Ori           oriChar = Characters.Ori;

                string seinStuff = string.Empty;

                if (oriChar != null)
                {
                    seinStuff = string.Concat(string.Format("Sein({0},{1})", oriChar.Position.x, oriChar.Position.y));
                }

                temp = string.Concat((seinStuff),
                                     (sein.IsOnGround ? " Ground" : ""),
                                     (sein.PlatformBehaviour.PlatformMovement.IsOnWall ? " OnWall" : ""),
                                     (sein.PlatformBehaviour.PlatformMovement.IsOnCeiling ? " Ceiling" : ""),
                                     (sein.PlatformBehaviour.PlatformMovement.Falling ? " Falling" : ""),
                                     (sein.PlatformBehaviour.PlatformMovement.Jumping ? " Jumping" : ""),
                                     ((sein.Mortality.DamageReciever?.IsInvinsible).GetValueOrDefault(false) ? " Invin" : ""),
                                     (CharacterState.IsActive(sein.Abilities.DoubleJump) && sein.Abilities.DoubleJump.CanDoubleJump && !sein.IsOnGround && !sein.PlatformBehaviour.PlatformMovement.IsOnWall ? " DblJump" : ""),
                                     (CharacterState.IsActive(sein.Abilities.Jump) && sein.Abilities.Jump.CanJump ? " Jump" : ""),
                                     (CharacterState.IsActive(sein.Abilities.WallJump) && sein.Abilities.WallJump.CanPerformWallJump ? " WallJump" : ""),
                                     (CharacterState.IsActive(sein.Abilities.Bash) && sein.Abilities.Bash.CanBash ? " Bash" : ""),
                                     (CanPickup(sein) && !sein.Abilities.Carry.IsCarrying ? " Pickup" : ""),
                                     (!sein.Abilities.Carry.LockDroppingObject && sein.Abilities.Carry.IsCarrying && sein.PlatformBehaviour.PlatformMovement.IsOnGround && sein.Controller.CanMove ? " Drop" : ""),
                                     (CharacterState.IsActive(sein.Abilities.Grenade) && sein.Abilities.Grenade.FindAutoAttackable != null ? " NadeTrgt" : ""),
                                     (CharacterState.IsActive(sein.Abilities.Stomp) && sein.Abilities.Stomp.CanStomp() ? " Stomp" : ""),
                                     (CharacterState.IsActive(sein.Abilities.Dash) && sein.Abilities.Dash.CanPerformNormalDash() ? " Dash" : ""),
                                     (CharacterState.IsActive(sein.Abilities.Dash) && sein.PlayerAbilities.ChargeDash.HasAbility && sein.Abilities.Dash.HasEnoughEnergy && sein.Abilities.Dash.FindClosestAttackable != null ? " CDashTrgt" : ""),
                                     (CharacterState.IsActive(sein.Abilities.SpiritFlame) && sein.Abilities.SpiritFlameTargetting.ClosestAttackables?.Count > 0 ? " AtkTrgt" : ""),
                                     (CharacterState.IsActive(sein.Abilities.SpiritFlame) && sein.Abilities.StandardSpiritFlame.StandardSpiritFlameShotCombo.CanShoot ? " Shoot" : ""),
                                     (sein.SoulFlame != null && sein.SoulFlame.IsSafeToCastSoulFlame == SeinSoulFlame.SoulFlamePlacementSafety.Safe && sein.SoulFlame.CanAffordSoulFlame && sein.SoulFlame.PlayerCouldSoulFlame && !sein.SoulFlame.InsideCheckpointMarker ? " Save" : ""),
                                     (sein.SoulFlame != null && sein.SoulFlame.IsSafeToCastSoulFlame == SeinSoulFlame.SoulFlamePlacementSafety.SavePedestal ? " SpiritWell" : ""),
                                     (sein.SoulFlame != null && sein.PlayerAbilities.Rekindle.HasAbility && sein.SoulFlame.InsideCheckpointMarker ? " Rekindle" : ""),
                                     (!sein.Controller.CanMove || !sein.Active || sein.Controller.IgnoreControllerInput ? " InputLocked" : ""));
                int seinsTime = GetSeinsTime();
                temp += GetCurrentTime() == seinsTime && seinsTime > 0 ? " Saved" : "";
            }
            Vector2 currentPos = Characters.Sein == null ? Core.Scenes.Manager.CurrentCameraTargetPosition : new Vector2(Characters.Sein.Position.x, Characters.Sein.Position.y);

            if (Core.Scenes.Manager != null && !Core.Scenes.Manager.IsInsideASceneBoundary(currentPos))
            {
                FieldInfo fi       = Core.Scenes.Manager.GetType().GetField("m_testDelayTime", BindingFlags.NonPublic | BindingFlags.Instance);
                float     timeLeft = (float)fi.GetValue(Core.Scenes.Manager);
                temp += " OOB(" + (int)(timeLeft * 60) + ")";
            }
            if (InstantLoadScenesController.Instance.IsLoading || GameController.Instance.IsLoadingGame || Core.Scenes.Manager.PositionInsideSceneStillLoading(currentPos))
            {
                temp += " Loading";
            }
            extraInfo = temp.Trim();
        }
Example #2
0
 private static bool CanPickup(SeinCharacter sein)
 {
     if (sein.Controller.CanMove && sein.PlatformBehaviour.PlatformMovement.IsOnGround)
     {
         for (int i = 0; i < Items.Carryables.Count; i++)
         {
             ICarryable carryable = Items.Carryables[i];
             if (Vector3.Distance(((Component)carryable).transform.position, sein.Position) < sein.Abilities.Carry.CarryRange && carryable != null && carryable.CanBeCarried())
             {
                 return(true);
             }
         }
     }
     return(false);
 }
Example #3
0
    // Token: 0x06001BF8 RID: 7160
    public void UpdateItems()
    {
        SeinCharacter sein = Characters.Sein;

        if (sein == null)
        {
            return;
        }
        this.CompletionText.SetMessage(new MessageDescriptor(GameWorld.Instance.CompletionPercentage + "%"));
        this.DeathText.SetMessage(new MessageDescriptor(SeinDeathCounter.Count.ToString()));
        this.HealthUpgradesText.SetMessage(new MessageDescriptor(sein.Mortality.Health.HealthUpgradesCollected + " / " + 12));
        this.EnergyUpgradesText.SetMessage(new MessageDescriptor(sein.Energy.EnergyUpgradesCollected + " / " + 15));
        this.SkillPointUniquesText.SetMessage(new MessageDescriptor((sein.Inventory.SkillPointsCollected & 63) + " / " + 33));
        GameTimer timer = GameController.Instance.Timer;

        this.TimeText.SetMessage(new MessageDescriptor(string.Format("{0:D2}:{1:D2}:{2:D2}", timer.Hours, timer.Minutes, timer.Seconds)));
        InventoryAbilityItem component = this.NavigationManager.CurrentMenuItem.GetComponent <InventoryAbilityItem>();

        if (component)
        {
            this.AbilityNameText.gameObject.SetActive(true);
            this.AbilityItemHighlight.SetActive(true);
            this.AbilityItemHighlight.transform.position = component.transform.position;
            if (component.HasAbility)
            {
                this.AbilityNameText.SetMessageProvider(component.AbilityName);
            }
            else
            {
                this.AbilityNameText.SetMessageProvider(this.LockedMessageProvider);
            }
        }
        else
        {
            this.AbilityNameText.gameObject.SetActive(false);
            this.AbilityItemHighlight.SetActive(false);
        }
        if (this.Difficulty)
        {
            this.Difficulty.RefreshText();
        }
    }
Example #4
0
        public static void DrawText()
        {
            if (style == null)
            {
                style                  = new GUIStyle(DebugMenuB.DebugMenuStyle);
                style.fontStyle        = FontStyle.Bold;
                style.alignment        = TextAnchor.MiddleLeft;
                style.normal.textColor = Color.white;
            }
            if (HasFlag(tasState, TASState.Enable))
            {
                style.fontSize = (int)Mathf.Round(22f);
                string msg  = player.ToString();
                string next = player.NextInput();
                if (next.Trim() != string.Empty)
                {
                    msg += "   Next: " + next;
                }
                msg += "   FPS: " + frameRate;
                float  height = 30f;
                string extra  = string.Empty;
                if (Game.Characters.Sein != null)
                {
                    SeinCharacter sein = Game.Characters.Sein;
                    extra = (sein.IsOnGround ? "OnGround" : "InAir") + (sein.PlatformBehaviour.PlatformMovement.IsOnWall ? " OnWall" : "") + (sein.PlatformBehaviour.PlatformMovement.Falling ? " Falling" : "") + (sein.PlatformBehaviour.PlatformMovement.Jumping ? " Jumping" : "") + (sein.Abilities.Jump.CanJump ? " CanJump" : "") + (GameController.Instance.InputLocked ? " InputLocked" : "");
                    int seinsTime = GetSeinsTime();
                    extra += GetCurrentTime() == seinsTime && seinsTime > 0 ? " Saved" : "";
                }
                if (GameController.Instance.IsLoadingGame || InstantLoadScenesController.Instance.IsLoading || GameController.FreezeFixedUpdate)
                {
                    extra += " Loading";
                }
                msg += " RNG: " + FixedRandom.FixedUpdateIndex;
                msg += extra.Length > 0 ? " (" + extra.Trim() + ")" : "";

                GUI.Label(new Rect(0f, 0f, Screen.width, height), msg, style);
            }
        }
Example #5
0
        private static string ClosestTargetInfo()
        {
            SeinCharacter sein = Characters.Sein;
            string        info = string.Empty;

            if (sein != null)
            {
                float minDist = float.MaxValue;
                int   index   = -1;
                for (int i = 0; i < Targets.Attackables.Count; i++)
                {
                    EntityTargetting attackable = Targets.Attackables[i] as EntityTargetting;
                    if (attackable != null && attackable.IsOnScreen && attackable.Activated)
                    {
                        float dist = Vector3.Distance(attackable.Position, sein.Position);
                        if (dist < minDist)
                        {
                            index   = i;
                            minDist = dist;
                        }
                    }
                }

                float blockMinDist = 20;
                int   blockIndex   = -1;
                for (int i = 0; i < PushPullBlock.All.Count; i++)
                {
                    PushPullBlock pushPullBlock = PushPullBlock.All[i];
                    float         dist          = Vector3.Distance(pushPullBlock.Position, sein.Position);
                    if (dist < blockMinDist)
                    {
                        blockIndex   = i;
                        blockMinDist = dist;
                    }
                }

                if (blockIndex >= 0 && index >= 0)
                {
                    if (blockMinDist < minDist)
                    {
                        info = UpdateBlockInfo(blockIndex);
                    }
                    else
                    {
                        info = UpdateEnemyInfo(index);
                    }
                }
                else if (blockIndex >= 0)
                {
                    info = UpdateBlockInfo(blockIndex);
                }
                else if (index >= 0)
                {
                    info = UpdateEnemyInfo(index);
                }
                else
                {
                    lastTargetPosition = new Vector3(-9999999, -9999999);
                }
            }
            else
            {
                lastTargetPosition = new Vector3(-9999999, -9999999);
            }
            return(info);
        }
Example #6
0
 // Token: 0x060011CF RID: 4559 RVA: 0x0000FB55 File Offset: 0x0000DD55
 public void SetReferenceToSein(SeinCharacter sein)
 {
     this.m_sein = sein;
 }
Example #7
0
 // Token: 0x06000158 RID: 344 RVA: 0x000032CA File Offset: 0x000014CA
 public void SetReferenceToSein(SeinCharacter sein)
 {
     this.m_sein = sein;
     this.m_sein.Abilities.Swimming = this;
 }
 // Token: 0x06001148 RID: 4424 RVA: 0x0000FA52 File Offset: 0x0000DC52
 public void SetReferenceToSein(SeinCharacter sein)
 {
     this.Sein = sein;
     this.Sein.Abilities.GrabWall = this;
 }
 // Token: 0x0600124D RID: 4685 RVA: 0x00010157 File Offset: 0x0000E357
 public void SetReferenceToSein(SeinCharacter sein)
 {
     this.m_sein = sein;
     this.m_sein.Abilities.WallChargeJump = this;
 }
 // Token: 0x06000F87 RID: 3975 RVA: 0x0000D9B9 File Offset: 0x0000BBB9
 public void SetReferenceToSein(SeinCharacter sein)
 {
     this.m_sein = sein;
     this.m_sein.PlayerAbilities = this;
 }
Example #11
0
 // Token: 0x06001142 RID: 4418 RVA: 0x0000F40C File Offset: 0x0000D60C
 public void SetReferenceToSein(SeinCharacter sein)
 {
     this.m_sein            = sein;
     sein.Abilities.Grenade = this;
 }
Example #12
0
        public void UpdateInput(bool initial = false)
        {
            if (SaveSlot >= 0)
            {
                SaveSlotsManager.CurrentSlotIndex = SaveSlot;
                SaveSlotsManager.BackupIndex      = -1;
            }
            if (DSave && initial && GameController.Instance != null)
            {
                GameController.Instance.CreateCheckpoint();
                GameController.Instance.SaveGameController.PerformSave();
            }
            if (Copy >= 0)
            {
                SaveSlotsManager.CopySlot(Copy, SaveSlotsManager.CurrentSlotIndex);
                SaveSlotsManager.BackupIndex = -1;
            }
            if ((DLoad || Restore) && initial && GameController.Instance != null)
            {
                GameController.Instance.SaveGameController.PerformLoad();
                if (Core.Scenes.Manager != null)
                {
                    FieldInfo fieldDelayTime = typeof(ScenesManager).GetField("m_testDelayTime", BindingFlags.NonPublic | BindingFlags.Instance);
                    fieldDelayTime.SetValue(Core.Scenes.Manager, 1f);
                }
            }
            if (BlockPos && initial && Characters.Sein != null && CharacterState.IsActive(Characters.Sein.Abilities.GrabBlock))
            {
                float minDist = 20;
                int   index   = -1;
                for (int i = 0; i < PushPullBlock.All.Count; i++)
                {
                    PushPullBlock pushPullBlock = PushPullBlock.All[i];
                    float         dist          = Vector3.Distance(pushPullBlock.Position, Characters.Sein.Position);
                    if (dist < minDist)
                    {
                        index   = i;
                        minDist = dist;
                    }
                }

                if (index >= 0)
                {
                    FieldInfo fieldTransform = typeof(PushPullBlock).GetField("m_transform", BindingFlags.NonPublic | BindingFlags.Instance);
                    Transform transform      = (Transform)fieldTransform.GetValue(PushPullBlock.All[index]);
                    transform.position = new Vector3(BlockPosX, BlockPosY);
                }
            }
            if (!string.IsNullOrEmpty(Spawn) && Characters.Sein != null)
            {
                int   index = -1;
                float dist  = float.MaxValue;
                for (int i = 0; i < RespawningPlaceholder.All.Count; i++)
                {
                    RespawningPlaceholder rp = RespawningPlaceholder.All[i];
                    bool wasNull             = false;
                    if (rp.CurrentEntity == null)
                    {
                        rp.Spawn();
                        wasNull = true;
                    }
                    if (rp.CurrentEntity.GetType().Name.IndexOf(Spawn, StringComparison.OrdinalIgnoreCase) >= 0)
                    {
                        float fdist = Vector3.Distance(rp.Position, Characters.Sein.Position);
                        if (fdist < dist)
                        {
                            dist  = fdist;
                            index = i;
                        }
                    }
                    if (wasNull)
                    {
                        rp.DestroyCurrentInstance();
                    }
                }

                if (index >= 0 && dist < 1000)
                {
                    RespawningPlaceholder rp = RespawningPlaceholder.All[index];
                    Vector3 old = rp.transform.position;
                    rp.transform.position = new Vector3(SpawnX, SpawnY, old.z);
                    rp.Spawn();
                    rp.transform.position = old;
                }
            }
            if (ResetDash && initial && Characters.Sein != null)
            {
                Characters.Sein.Abilities.Dash.ResetDashLimit();
            }
            if ((EntityPos || EntityHP >= 0) && initial && Characters.Sein != null)
            {
                SeinCharacter sein    = Characters.Sein;
                string        info    = string.Empty;
                float         minDist = float.MaxValue;
                int           index   = -1;
                for (int i = 0; i < Targets.Attackables.Count; i++)
                {
                    EntityTargetting attackable = Targets.Attackables[i] as EntityTargetting;
                    if (attackable != null && attackable.IsOnScreen && attackable.Activated)
                    {
                        float dist = Vector3.Distance(attackable.Position, sein.Position);
                        if (dist < minDist)
                        {
                            index   = i;
                            minDist = dist;
                        }
                    }
                }

                if (index >= 0)
                {
                    EntityTargetting attackable = Targets.Attackables[index] as EntityTargetting;
                    if (EntityPos)
                    {
                        attackable.Entity.Position = new Vector3(EntityPosX, EntityPosY);
                    }
                    if (EntityHP >= 0)
                    {
                        if (attackable.Entity.DamageReciever.MaxHealth < EntityHP)
                        {
                            attackable.Entity.DamageReciever.MaxHealth = EntityHP;
                        }
                        attackable.Entity.DamageReciever.Health = EntityHP;
                    }
                }
            }
            if (HP >= 0 && initial && Characters.Sein != null)
            {
                Characters.Sein.Mortality.Health.SetAmount(HP);
            }
            if (EN >= 0 && initial && Characters.Sein != null)
            {
                Characters.Sein.Energy.SetCurrent(EN);
            }
            if (Position && initial)
            {
                SeinCharacter sein = Characters.Sein;
                sein.Position = new UnityEngine.Vector3(PositionX, PositionY);
            }
            if (Speed && initial)
            {
                SeinCharacter sein = Characters.Sein;
                sein.Speed = new UnityEngine.Vector3(SpeedX, SpeedY);
            }
            if (XP >= 0 && initial)
            {
                SeinCharacter sein = Characters.Sein;
                sein.Level.Experience = XP;
            }
            if (UI && initial)
            {
                SeinUI.DebugHideUI = !SeinUI.DebugHideUI;
            }
            if (Color && initial && Characters.Sein != null)
            {
                CheatsHandler.Instance.ChangeCharacterColor();
            }
            if (NoColor && initial && Characters.Sein != null)
            {
                Characters.Sein.PlatformBehaviour.Visuals.SpriteRenderer.material.color = new Color(0.50196f, 0.50196f, 0.50196f, 0.5f);
            }

            if (!Position && MouseX > -0.1 && MouseY > -0.1)
            {
                UnityEngine.Vector2 vector = new UnityEngine.Vector2(MouseX, MouseY);
                Core.Input.CursorMoved    = (UnityEngine.Vector2.Distance(vector, Core.Input.CursorPosition) > 0.0001f);
                Core.Input.CursorPosition = vector;
                TASPlayer.LastMouseX      = MouseX;
                TASPlayer.LastMouseY      = MouseY;
            }
            else
            {
                Core.Input.CursorPosition = new UnityEngine.Vector2(TASPlayer.LastMouseX, TASPlayer.LastMouseY);
                Core.Input.CursorMoved    = false;
            }

            Core.Input.HorizontalAnalogLeft = XAxis;
            Core.Input.Horizontal           = XAxis;
            Core.Input.VerticalAnalogLeft   = YAxis;
            Core.Input.Vertical             = YAxis;
            PlayerInput.Instance.ApplyDeadzone(ref Core.Input.HorizontalAnalogLeft, ref Core.Input.VerticalAnalogLeft);
            Core.Input.HorizontalAnalogRight = 0;
            Core.Input.VerticalAnalogRight   = 0;
            PlayerInput.Instance.ApplyDeadzone(ref Core.Input.HorizontalAnalogRight, ref Core.Input.VerticalAnalogRight);
            Core.Input.HorizontalDigiPad = (int)XAxis;
            Core.Input.VerticalDigiPad   = (int)YAxis;

            Core.Input.AnyStart.Update(Jump || Start);
            Core.Input.ZoomIn.Update(Glide);
            Core.Input.ZoomOut.Update(ChargeJump);
            Core.Input.LeftClick.Update(false);
            Core.Input.RightClick.Update(false);

            Core.Input.Jump.Update(Jump);
            Core.Input.SpiritFlame.Update(Fire);
            Core.Input.SoulFlame.Update(Save);
            Core.Input.Bash.Update(Bash);
            Core.Input.ChargeJump.Update(ChargeJump);
            Core.Input.Glide.Update(Glide);
            Core.Input.Grab.Update(Glide);
            Core.Input.LeftShoulder.Update(Grenade);
            Core.Input.RightShoulder.Update(Dash);
            Core.Input.Select.Update(Select);
            Core.Input.Start.Update(Start);
            Core.Input.LeftStick.Update(false);
            Core.Input.RightStick.Update(false);

            Core.Input.MenuDown.Update(YAxis == -1);
            Core.Input.MenuUp.Update(YAxis == 1);
            Core.Input.MenuLeft.Update(XAxis == -1);
            Core.Input.MenuRight.Update(XAxis == 1);
            Core.Input.MenuPageLeft.Update(ChargeJump);
            Core.Input.MenuPageRight.Update(Glide);
            Core.Input.ActionButtonA.Update(Action);
            Core.Input.Cancel.Update(Esc);
            Core.Input.Copy.Update(Fire);
            Core.Input.Delete.Update(Bash);
            Core.Input.Focus.Update(Fire);
            Core.Input.Filter.Update(Fire);
            Core.Input.Legend.Update(Bash);
        }
 // Token: 0x06000F9E RID: 3998 RVA: 0x0000DA7C File Offset: 0x0000BC7C
 public void SetReferenceToSein(SeinCharacter sein)
 {
     this.Sein                = sein;
     this.m_seinTransform     = this.Sein.transform;
     this.Sein.Abilities.Bash = this;
 }
 // Token: 0x06001388 RID: 5000 RVA: 0x00011870 File Offset: 0x0000FA70
 public void SetReferenceToSein(SeinCharacter sein)
 {
     this.m_sein           = sein;
     this.m_sein.SoulFlame = this;
 }
 // Token: 0x060000DD RID: 221
 public void SetReferenceToSein(SeinCharacter sein)
 {
     this.m_sein = sein;
     this.m_sein.Abilities.ChargeFlame = this;
 }
Example #16
0
 // Token: 0x06001097 RID: 4247 RVA: 0x0000E876 File Offset: 0x0000CA76
 public void SetReferenceToSein(SeinCharacter sein)
 {
     this.Sein = sein;
     this.Sein.Abilities.DoubleJump = this;
 }