public void RemoveAllCharactersByType(MZCharacterType characterType) { foreach( MZCharacter character in _dicActiveCharactersListByType[characterType] ) { character.Disable(); } }
public void Add(MZCharacterType characterType, MZCharacter character) { MZDebug.Assert( _dicActiveCharactersListByType != null, "_dicActiveCharactersListByType is null" ); MZDebug.Assert( _dicActiveCharactersListByType.ContainsKey( characterType ) != false, "characterType(" + characterType.ToString() + ") is not support" ); character.Enable(); _dicActiveCharactersListByType[ characterType ].Add( character ); if( characterType == MZCharacterType.Player ) { AddPlayerCacheInfo( character ); } }
public static int GetDepthOfCharacter(MZCharacterType type) { switch( type ) { case MZCharacterType.EnemyAir: return -200; case MZCharacterType.Player: return -400; case MZCharacterType.PlayerBullet: return -600; case MZCharacterType.EnemyBullet: return -800; } MZDebug.Assert( false, "undefine type: " + type.ToString() ); return -1; }
public static Color GetCollisionColor(MZCharacterType type) { switch( type ) { case MZCharacterType.Player: return Color.red; case MZCharacterType.PlayerBullet: return Color.cyan; case MZCharacterType.EnemyAir: case MZCharacterType.EnemyGround: return Color.green; case MZCharacterType.EnemyBullet: return Color.blue; default: return Color.white; } }
public string GetContainerNameByType(MZCharacterType type) { switch( type ) { case MZCharacterType.Player: return "MZPlayers"; case MZCharacterType.PlayerBullet: return "MZPlayerBullets"; case MZCharacterType.EnemyAir: return "MZEnemiesAir"; case MZCharacterType.EnemyBullet: return "MZEnemyBullets"; default: MZDebug.Assert( false, "Undefine type: " + type.ToString() ); return ""; } }
void RemoveDisableCharacterObject(MZCharacterType type) { List<MZCharacter> charactersList = _dicActiveCharactersListByType[ type ]; for( int i = 0; i < charactersList.Count; i++ ) { if( charactersList[ i ].isActive == false ) { charactersList[ i ].OnRemoving(); MZCharacterObjectsFactory.instance.Remove( type, charactersList[ i ].name, charactersList[ i ].gameObject ); charactersList.Remove( charactersList[ i ] ); i--; } } }