コード例 #1
0
ファイル: OriginalSPGameMode.cs プロジェクト: slb1988/agame
        public virtual LayerMask GetAbilityTargettingMask(uint ownerID, MixinTargetting targetting)
        {
            ushort    num;
            ushort    enemyCategory;
            LayerMask layerMask;

            if ((ownerID == 0x21800001) || (Singleton <RuntimeIDManager> .Instance.ParseCategory(ownerID) == 7))
            {
                num           = 4;
                enemyCategory = 3;
            }
            else
            {
                num = Singleton <RuntimeIDManager> .Instance.ParseCategory(ownerID);

                enemyCategory = this.GetEnemyCategory(num);
            }
            switch (targetting)
            {
            case MixinTargetting.None:
                return(0);

            case MixinTargetting.Allied:
                return(InLevelData.GetLayerMask(num));

            case MixinTargetting.Enemy:
                layerMask = InLevelData.GetLayerMask(enemyCategory);
                if (num == 3)
                {
                    layerMask |= ((int)1) << InLevelData.PROP_LAYER;
                }
                return(layerMask);

            case MixinTargetting.All:
                layerMask = InLevelData.GetLayerMask(num) | InLevelData.GetLayerMask(enemyCategory);
                if (num == 3)
                {
                    layerMask |= ((int)1) << InLevelData.PROP_LAYER;
                }
                return(layerMask);
            }
            return(0);
        }