public void AddFormation(SizeType sizeType, PositionType positionType, MZFormation formation) { if( _formationsBySizeDictionary == null ) _formationsBySizeDictionary = new Dictionary<SizeType, Dictionary<PositionType, List<MZFormation>>>(); if( _formationsBySizeDictionary.ContainsKey( sizeType ) == false ) { Dictionary<PositionType, List<MZFormation>> newDic = new Dictionary<PositionType, List<MZFormation>>(); _formationsBySizeDictionary.Add( sizeType, newDic ); } if( _formationsBySizeDictionary[ sizeType ].ContainsKey( positionType ) == false ) { List<MZFormation> newList = new List<MZFormation>(); _formationsBySizeDictionary[ sizeType ].Add( positionType, newList ); } formation.sizeType = sizeType; formation.positionType = positionType; _formationsBySizeDictionary[ sizeType ][ positionType ].Add( formation ); }
public MZTestFormationSetting(MZFormation formation) { MZDebug.Assert( formation != null, "formation is null" ); constructCode = formation.constructCode; name = formation.GetType().ToString(); sizeType = formation.sizeType; positionType = formation.positionType; }
public void ExecuteFormation(PositionType posType, SizeType sizeType, int constructCode, string name) { List<MZFormation> list = _formationsBySizeDictionary[ sizeType ][ posType ]; foreach( MZFormation f in list ) { if( f.GetType().ToString() == name && posType == f.positionType && f.constructCode == constructCode ) { ExecuteFormation( f ); break; } } }