Exemplo n.º 1
0
bool AITurretShape::onAdd()
{
   if( !Parent::onAdd() )
      return false;

   // Add this object to the scene
   addToScene();

   _setScanBox();

   if (isServerObject())
      _initState();

   if (isServerObject())
      scriptOnAdd();

   return true;
}
Exemplo n.º 2
0
/*******************************************************************************
	Routine Name:	main
	Form:			int main( void )
	Parameters:		void
	Return value:	int
	Description:	main
*******************************************************************************/
int main( void )
{
	/*=== Main initialize. ===*/
	/*--- Peripheral. ---*/
	_initPeri();

	/*--- State. ---*/
	_initState();

	/*=== Main loop. ===*/
	for (;;)
	{
		/*=== Clear WDT. ===*/
		if( _clrWdt == CLR_WDT ) {
			main_clrWDT();
		}

		if( WDTR == FLG_CLR ) {
			switch( state_exec_cnt / CONTINU_STATE_COUNT ) {
				case 0:	led_On();					break;
				case 1:	led_f_Off();	led_cde_On();	break;
				case 2:	led_cde_Off();	led_f_On();		break;
				default:	led_Off();					break;
			}

			if( _ledChange == FLG_SET){
				if( state_exec_cnt == STATE_COUNT_MAX ) {
					state_exec_cnt = STATE_COUNT_MIN;
				}

				if( state == STATE_RED_GREEN ) {
					if( stepGreenLed == STEP_LED_MAX ) {
						state = STATE_GREEN_RED;
					}
					else {
						stepRedLed = STEP_LED_MAX;
						stepGreenLed += STEP_UP;
						stepBlueLed = STEP_LED_MIN;
					}
				}
				if( state == STATE_GREEN_RED ) {
					if( stepRedLed == STEP_LED_MIN ) {
						state = STATE_GREEN_BLUE;
					}
					else {
						stepRedLed -= STEP_DOWN;
						stepGreenLed = STEP_LED_MAX;
						stepBlueLed = STEP_LED_MIN;
					}
				}
				if( state == STATE_GREEN_BLUE ) {
					if( stepBlueLed == STEP_LED_MAX ) {
						state = STATE_BLUE_GREEN;
					}
					else {
						stepRedLed = STEP_LED_MIN;
						stepGreenLed = STEP_LED_MAX;
						stepBlueLed += STEP_UP;
					}
				}
				if( state == STATE_BLUE_GREEN ) {
					if( stepGreenLed == STEP_LED_MIN ) {
						state = STATE_BLUE_RED;
					}
					else {
						stepRedLed = STEP_LED_MIN;
						stepGreenLed -= STEP_DOWN;
						stepBlueLed = STEP_LED_MAX;
					}
				}
				if( state == STATE_BLUE_RED ) {
					if( stepRedLed == STEP_LED_MAX ) {
						state = STATE_RED_BLUE;
					}
					else {
						stepRedLed += STEP_UP;
						stepGreenLed = STEP_LED_MIN;
						stepBlueLed = STEP_LED_MAX;
					}
				}
				if( state == STATE_RED_BLUE ) {
					if( stepBlueLed == STEP_LED_MIN ) {
						state = STATE_RED_GREEN;
						state_exec_cnt++;
					}
					else {
						stepRedLed = STEP_LED_MAX;
						stepGreenLed = STEP_LED_MIN;
						stepBlueLed -= STEP_DOWN;
					}
				}
			led_DutySet();
			_ledChange = FLG_CLR;
			}
		}
		else {
			led_On();
			stepRedLed = STEP_LED_MAX;
			stepGreenLed = STEP_LED_MAX;
			stepBlueLed = STEP_LED_MAX;
			led_DutySet();
		}
	}

	return 0;
}