1 /*---------------------------------------------------------------------------* 2 Project: NintendoWare 3 File: demo.h 4 5 Copyright (C)2009-2011 Nintendo/HAL Laboratory, Inc. All rights reserved. 6 7 These coded instructions, statements, and computer programs contain proprietary 8 information of Nintendo and/or its licensed developers and are protected by 9 national and international copyright laws. They may not be disclosed to third 10 parties or copied or duplicated in any form, in whole or in part, without the 11 prior written consent of Nintendo. 12 13 The content herein is highly confidential and should be handled accordingly. 14 15 $Revision: $ 16 *---------------------------------------------------------------------------*/ 17 #ifndef DEMO_H__ 18 #define DEMO_H__ 19 20 #include <nw/gfx.h> 21 22 #include "../include/GfxCtrl.h" 23 #include "../include/LytCtrl.h" 24 #include "../include/SmTouchPanelCamera.h" 25 #include "../include/SmModel.h" 26 #include "../include/SmMessage.h" 27 #include "../include/SmButton.h" 28 #include "../include/SmLayout.h" 29 #include "../include/SmLytButton.h" 30 #include "../include/SmLytSliderBar.h" 31 #include "../include/SmParticle.h" 32 33 //------------------------------------------------------------------------------ 34 //! �R���e���c�̓��e��t�h���̊Ǘ����s���N���X�ł��B 35 class Demo : public SmMessage 36 { 37 //! �R���e���c��������\�����ł��B 38 enum 39 { 40 //! �^�u�̐�ւ����s���܂��B 41 DEMO_TAB0_VISIBLE_BTN, 42 DEMO_TAB1_VISIBLE_BTN, 43 DEMO_TAB2_VISIBLE_BTN, 44 45 //! �e�I�u�W�F�N�g�̕\��/��\�����s���܂��B 46 DEMO_PIERROT_VISIBLE_BTN, 47 DEMO_ROBOT_VISIBLE_BTN, 48 DEMO_STAGE_VISIBLE_BTN, 49 DEMO_PARTICLE_VISIBLE_BTN, 50 DEMO_AUDIENCE_VISIBLE_BTN, 51 52 //! �X�e���I�`��̃I���I�t��ύX���܂��B 53 DEMO_STAGE_STEREO_ONOFF, 54 55 //! �J�����A�j��/�^�b�`�p�l���J�����̐�ւ����s���܂��B 56 DEMO_CAMERA_CTRL_BTN, 57 58 //! �V���̃I���I�t���s���܂��B 59 DEMO_EMPYREAN_VISIBLE_BTN, 60 61 //! �e�I�u�W�F�N�g�̃��b�V���P�ʂł̕`���ւ����s���܂��B 62 DEMO_ADD_PIERROT_NUM_CTRL_SLDR, 63 DEMO_ROBOT_NUM_CTRL_SLDR, 64 DEMO_STAGE_OBJECT_MESH_CTRL_SLDR, 65 DEMO_AUDIENCE_NUM_CTRL_SLDR, 66 DEMO_PARTICLE_NUM_CTRL_SLDR 67 }; 68 69 //! �������ꂽSmModel�C���X�^���X��ێ����邽�߂̔z��ł��B 70 typedef nw::ut::FixedSizeArray<SmModel*, 32> SmModelInstanceArray; 71 72 public: 73 //! �R���X�g���N�^ 74 Demo( GfxCtrl* gfxCtrl, LytCtrl* lytCtrl ); 75 76 //! �f�X�g���N�^ 77 ~Demo(); 78 79 //! �V�[���̏��������s���܂��B 80 void InitializeScene(); 81 82 //! �t���[���̏������s���܂��B 83 void Exec( f32 addFrame ); 84 85 //! ���Z�b�g�������s���܂��B 86 void Reset(); 87 88 //! ���b�Z�[�W����M���܂��B 89 virtual bool ReceveMessage( SmMessageType type, 90 void* object = NULL, 91 uint targetId = 0 ); 92 93 94 //! ���������p�p�����[�^���擾���܂��B GetStereoLevel()95 f32 GetStereoLevel() const 96 { 97 if ( !m_LevelSlider ) return m_StereoLevel; 98 return m_LevelSlider->GetParam(); 99 } GetStereoRange()100 f32 GetStereoRange() const 101 { 102 if ( !m_RangeSlider ) return m_StereoRange; 103 return m_RangeSlider->GetParam(); 104 } 105 106 //! �X�e���I�\���I���I�t���擾���܂��B IsStereoEnable()107 bool IsStereoEnable() const 108 { 109 if ( !m_LytStereoOnOffBtn ) return true; 110 return m_LytStereoOnOffBtn->IsSwitch(); 111 } 112 113 // ���C�A�E�g���X�V���邩�ǂ����̃t���O���擾���܂��B IsLytUpdate()114 bool IsLytUpdate() 115 { 116 if ( m_LytUpdate ) 117 { 118 m_LytUpdate = false; 119 return true; 120 } 121 122 return false; 123 } 124 125 private: 126 GfxCtrl* m_GfxCtrl; 127 LytCtrl* m_LytCtrl; 128 129 SmModel* m_Pierrot; 130 SmModel* m_Robot; 131 SmModel* m_Stage; 132 SmModel* m_Stick; 133 SmModel* m_Audience; 134 SmModel* m_Empyrean; 135 SmModel* m_AddPierrot; 136 SmModel* m_AddRobot; 137 SmModel* m_StageObject; 138 139 SmParticle* m_Particle; 140 141 SmLayout* m_LytTabPanel; 142 SmButton* m_Tab0VisibleBtn; 143 SmButton* m_Tab1VisibleBtn; 144 SmButton* m_Tab2VisibleBtn; 145 146 SmMessage* m_Tab0Tree; 147 SmMessage* m_Tab1Tree; 148 SmMessage* m_Tab2Tree; 149 150 SmLytButton* m_LytPierrotVisibleBtn; 151 SmLytButton* m_LytRobotVisibleBtn; 152 SmLytButton* m_LytStageVisibleBtn; 153 SmLytButton* m_LytParticleVisibleBtn; 154 SmLytButton* m_LytAudienceVisibleBtn; 155 SmLytButton* m_LytStereoOnOffBtn; 156 SmLytButton* m_EmpyreanVisibleBtn; 157 158 SmLytButton* m_CameraCtrlBtn; 159 SmTouchPanelCamera* m_TouchPanelCamera; 160 161 SmLytSliderBar* m_LevelSlider; 162 SmLytSliderBar* m_RangeSlider; 163 f32 m_StereoLevel; 164 f32 m_StereoRange; 165 166 SmLytSliderBar* m_PierrotSlider; 167 SmLytSliderBar* m_RobotSlider; 168 SmLytSliderBar* m_StageMeshSlider; 169 SmLytSliderBar* m_AudienceSlider; 170 SmLytSliderBar* m_ParticleSlider; 171 172 173 SmCamera* m_SmCamera; 174 nw::math::VEC3 m_CameraBasePos; 175 nw::math::VEC3 m_CameraBaseTarget; 176 177 SmModelInstanceArray m_AudienceArray; 178 SmModelInstanceArray m_AddPierrotArray; 179 SmModelInstanceArray m_AddRobotArray; 180 181 bool m_LytUpdate; 182 183 LytResourceFile m_tabResFile; 184 LytResourceFile m_btnPierrorResFile; 185 LytResourceFile m_btnRobotResFile; 186 LytResourceFile m_btnStageResFile; 187 LytResourceFile m_btnAudienceResFile; 188 LytResourceFile m_btnParticleResFile; 189 LytResourceFile m_sliderResFile; 190 }; 191 192 193 #endif // GFXCTRL_H__ 194