private void InstantiateHands( string i_tag, int i_firstID, AsuraArm i_res ) { { var list = GameObject.FindGameObjectsWithTag( i_tag ); var sorted = list.OrderBy( value => -value.transform.position.y ).ToArray(); for( int i = 0, size = sorted.Length; i < size; ++i ) { var point = sorted[ i ].transform; var obj = GameObject.Instantiate( i_res ) as AsuraArm; obj.transform.SetParent( point, false ); obj.ID = i_firstID + i; obj.ActiveColorCurve = GameSettingManager.Table.m_coreGameData.m_armData.m_activeArmCurve; obj.ActivateColorTime = GameSettingManager.Table.m_coreGameData.m_armData.m_activeArmTime; obj.LimitAngles = LimitArmAngles; obj.SetActiveColors( GameSettingManager.Table.m_coreGameData.m_armData.m_activeColors ); m_armList.Add( obj ); } } }
private void SetActivateArm( int i_localPlayerID, bool i_right, AsuraArm i_arm ) { var list = i_right ? m_selectArmsR : m_selectArmsL; var arm = list[ i_localPlayerID ]; if( arm != null ) { arm.Activate( false, i_localPlayerID ); } if( i_arm != null ) { i_arm.Activate( true, i_localPlayerID ); } list[ i_localPlayerID ] = i_arm; }