private void TryThrowBatteryMote(X2_AIRobot robot)
        {
            if (robot == null)
            {
                return;
            }


            timerMoteThrow--;
            if (timerMoteThrow > 0)
            {
                return;
            }
            timerMoteThrow = 300;


            float batteryLevel = robot.needs.rest.CurLevel;

            if (batteryLevel > 0.99f)
            {
                return;
            }

            if (batteryLevel > 0.90f)
            {
                //MoteMaker.ThrowMetaIcon(this.Position, DefDatabase<ThingDef>.GetNamed("Mote_BatteryGreen"));
                MoteThrowHelper.ThrowBatteryGreen(this.Position.ToVector3(), Map, 0.8f);
            }
            else if (batteryLevel > 0.70f)
            {
                //MoteMaker.ThrowMetaIcon(this.Position, DefDatabase<ThingDef>.GetNamed("Mote_BatteryYellowYellow"));
                MoteThrowHelper.ThrowBatteryYellowYellow(this.Position.ToVector3(), Map, 0.8f);
            }
            else if (batteryLevel > 0.35f)
            {
                //MoteMaker.ThrowMetaIcon(this.Position, DefDatabase<ThingDef>.GetNamed("Mote_BatteryYellow"));
                MoteThrowHelper.ThrowBatteryYellow(this.Position.ToVector3(), Map, 0.8f);
            }
            else
            {
                //MoteMaker.ThrowMetaIcon(this.Position, DefDatabase<ThingDef>.GetNamed("Mote_BatteryRed"));
                MoteThrowHelper.ThrowBatteryRed(this.Position.ToVector3(), Map, 0.8f);
            }
        }
        private void TryThrowBatteryMote(X2_AIRobot robot)
        {
            if (robot == null)
            {
                return;
            }


            timerMoteThrow--;
            if (timerMoteThrow > 0)
            {
                return;
            }
            timerMoteThrow = 300;


            float batteryLevel = robot.needs.rest.CurLevel;

            if (batteryLevel > 0.99f)
            {
                return;
            }

            if (batteryLevel > 0.90f)
            {
                MoteThrowHelper.ThrowBatteryGreen(this.Position.ToVector3(), Map, 0.8f);
            }
            else if (batteryLevel > 0.70f)
            {
                MoteThrowHelper.ThrowBatteryYellowYellow(this.Position.ToVector3(), Map, 0.8f);
            }
            else if (batteryLevel > 0.35f)
            {
                MoteThrowHelper.ThrowBatteryYellow(this.Position.ToVector3(), Map, 0.8f);
            }
            else
            {
                MoteThrowHelper.ThrowBatteryRed(this.Position.ToVector3(), Map, 0.8f);
            }
        }
        private void TryThrowNoRobotMote(X2_Building_AIRobotRechargeStation station)
        {
            if (station == null)
            {
                return;
            }


            timerNoRobotMoteThrow--;
            if (timerNoRobotMoteThrow > 0)
            {
                return;
            }
            timerNoRobotMoteThrow = 800;


            if (!station.robotIsDestroyed)
            {
                return;
            }

            MoteThrowHelper.ThrowNoRobotSign(this.Position.ToVector3(), Map, 0.8f);
        }