private void SetState( TowerOfWhatState _Set ) { if( _Set == m_State ) { return ; } #if DEBUG Debug.Log( "SetState() " + _Set.ToString() ) ; #endif m_State = _Set ; }
// 交換動畫 private void AddSwap( int _index1 , int _index2 ) { if( false == m_Units.ContainsKey( _index1 ) || false == m_Units.ContainsKey( _index2 ) || _index1 == _index2 ) return ; GameObject obj1 = m_Units[ _index1 ] ; UnitData unitDat1 = obj1.GetComponent<UnitData>() ; GameObject obj2 = m_Units[ _index2 ] ; UnitData unitDat2 = obj2.GetComponent<UnitData>() ; if( null == unitDat1 || null == unitDat2 ) return ; #if DEBUG Debug.Log( "AddSwap() _index1 " + _index1 ) ; Debug.Log( "AddSwap() _index2 " + _index2 ) ; #endif // 交換 ( i , j ) int tmp ; tmp = unitDat1.m_IndexI ; unitDat1.m_IndexI = unitDat2.m_IndexI ; unitDat2.m_IndexI = tmp ; tmp = unitDat1.m_IndexJ ; unitDat1.m_IndexJ = unitDat2.m_IndexJ ; unitDat2.m_IndexJ = tmp ; // 交換 m_Units[] 容器 m_Units[ _index1 ] = obj2 ; m_Units[ _index2 ] = obj1 ; // add animation CloseTarget animScript = obj1.AddComponent<CloseTarget>() ; animScript.m_TargetPos = obj2.transform.position ; animScript = obj2.AddComponent<CloseTarget>() ; animScript.m_TargetPos = obj1.transform.position ; // 交換必轉移到此狀態 m_State = TowerOfWhatState.Swap ; }