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 );
    }
Example #2
0
    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;
         }
     }
 }