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 );
        }
    }
예제 #2
0
    public virtual bool IsCollide(MZCharacter other)
    {
        if( isActive == false || other.isActive == false )
            return false;

        foreach( MZCharacterPart selfPart in _partsByNameDictionary.Values )
        {
            foreach( MZCharacterPart otherPart in other._partsByNameDictionary.Values )
            {
                if( selfPart.IsCollide( otherPart ) )
                {
                    return true;
                }
            }
        }

        return false;
    }
 void AddPlayerCacheInfo(MZCharacter character)
 {
     _playerCharacter = character;
     _playerObject = character.gameObject;
 }