Beispiel #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();
        }
Beispiel #2
0
 public static extern int rs_user_to_base(UInt16 rshd, ref Pos pos_onuser, ref Ori ori_onuser, ref CoordCalibrate user_coord, ref ToolInEndDesc tool_pos, ref Pos pos_onbase, ref Ori ori_onbase);
Beispiel #3
0
 public static extern int rs_base_to_base_additional_tool(UInt16 rshd, ref Pos flange_center_pos_onbase, ref Ori flange_center_ori_onbase, ref ToolInEndDesc tool_pos, ref Pos tool_end_pos_onbase, ref Ori tool_end_ori_onbase);
Beispiel #4
0
 public static extern int rs_quaternion_to_rpy(UInt16 rshd, ref Ori ori, ref Rpy rpy);
Beispiel #5
0
 public static extern int rs_rpy_to_quaternion(UInt16 rshd, ref Rpy rpy, ref Ori ori);
Beispiel #6
0
 public static extern int rs_inverse_kin(UInt16 rshd, double[] joint_radia, ref Pos pos, ref Ori ori, ref wayPoint_S waypoint);
Beispiel #7
0
        private void Calculator_Keypress(object sender, KeyPressEventArgs e)
        {
            switch (e.KeyChar.ToString())
            {
            case "1":
                butt1.PerformClick(); break;

            case "2":
                butt2.PerformClick(); break;

            case "3":
                butt3.PerformClick(); break;

            case "4":
                butt4.PerformClick(); break;

            case "5":
                butt6.PerformClick(); break;

            case "7":
                butt7.PerformClick(); break;

            case "8":
                butt8.PerformClick(); break;

            case "9":
                butt9.PerformClick(); break;

            case "0":
                butt0.PerformClick(); break;

            case ",":
                Point.PerformClick(); break;

            case "=":
                Equal.PerformClick(); break;

            case "13":
                Equal.PerformClick(); break;

            case "+":
                Plus.PerformClick(); break;

            case "-":
                Minus.PerformClick(); break;

            case "x":
                Ori.PerformClick(); break;

            case "/":
                Impartit.PerformClick(); break;

            case "s":
                Radical.PerformClick(); break;

            case "w":
                Clear_Label.PerformClick(); break;

            case "q":
                Del.PerformClick(); break;

            default:
                break;
            }
        }
Beispiel #8
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 (SeinPos && initial)
            {
                Ori oriChar = Characters.Ori;
                oriChar.Position = new UnityEngine.Vector3(SeinPosX, SeinPosY);
            }

            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);
        }