// Context: Terminal
        private static void GetSpeedText(IMyTerminalBlock block, StringBuilder sb)
        {
            InstantProjector ip = block.GameLogic.GetAs <InstantProjector>();

            MyValueFormatter.AppendWorkInBestUnit(ip.GetPower(), sb);
            sb.Append(" - ").Append(ip.Speed).Append('x');
        }
        // Context: Terminal
        private static int GetCurrentTimerPB(IMyTerminalBlock block)
        {
            InstantProjector gl = block.GameLogic.GetAs <InstantProjector>();

            if (gl == null || gl.BuildState != State.Waiting)
            {
                return(0);
            }
            return(gl.Timer);
        }
        // Context: Terminal
        private static int GetMaxTimerPB(IMyTerminalBlock block)
        {
            InstantProjector gl = block.GameLogic.GetAs <InstantProjector>();

            if (gl == null)
            {
                return(0);
            }
            return(gl.GetBlueprintTimer());
        }
        private static void SetLooseArea(IMyTerminalBlock block, bool value)
        {
            InstantProjector gl = block.GameLogic.GetAs <InstantProjector>();

            gl.LooseArea = value;
            if (Constants.IsServer)
            {
                gl.SaveStorage();
            }
        }
        // Context: Terminal
        private static void SetSpeed(IMyTerminalBlock block, float value)
        {
            InstantProjector ip = block.GameLogic.GetAs <InstantProjector>();

            ip.Speed = (float)MathHelper.Clamp(Math.Round(value, 2), 1, 1000);
            ip.RefreshUI();
            if (Constants.IsServer)
            {
                ip.SaveStorage();
            }
        }
        private static void OpenItemList(IMyTerminalBlock block)
        {
            IMyProjector p = (IMyProjector)block;

            if (p.ProjectedGrid == null)
            {
                return;
            }
            InstantProjector gl = block.GameLogic.GetAs <InstantProjector>();

            gl.GetComponents().ShowScreen(Utilities.GetInventories(block));
        }
Пример #7
0
 private void RemoveVanillaSpawnAction(IMyTerminalBlock block, List <IMyTerminalAction> actions)
 {
     if (block is IMyProjector && InstantProjector.IsValid(block))
     {
         for (int i = actions.Count - 1; i >= 0; i--)
         {
             IMyTerminalAction a = actions[i];
             if (a.Id == "SpawnProjection")
             {
                 actions.RemoveAt(i);
                 return;
             }
         }
     }
 }
        // Context: Terminal
        private static StringBuilder GetTimer(IMyTerminalBlock block)
        {
            StringBuilder    sb = new StringBuilder();
            InstantProjector gl = block.GameLogic.GetAs <InstantProjector>();

            if (gl.BuildState != State.Idle)
            {
                AppendTime(sb, gl.Timer);
                sb.Append(" (Active)");
            }
            else
            {
                IMyCubeGrid grid = gl.me.ProjectedGrid;
                if (grid != null)
                {
                    AppendTime(sb, gl.GetBlueprintTimer());
                }
            }
            return(sb);
        }
        private static StringBuilder GetTimer(IMyTerminalBlock block)
        {
            IMyProjector     p  = (IMyProjector)block;
            StringBuilder    sb = new StringBuilder();
            InstantProjector gl = block.GameLogic.GetAs <InstantProjector>();

            if (gl.BuildState != ProjectorState.Idle)
            {
                Utilities.AppendTime(sb, gl.Timer);
                sb.Append(" (Active)");
            }
            else
            {
                if (p.ProjectedGrid != null)
                {
                    Utilities.AppendTime(sb, gl.GetBlueprintTimer());
                }
            }
            return(sb);
        }
        // Context: Terminal
        private static int GetStatePB(IMyTerminalBlock block)
        {
            InstantProjector gl = block.GameLogic.GetAs <InstantProjector>();

            return((int)gl.BuildState);
        }