示例#1
0
 public bool WhileInteractionLook(GameObject player)
 {
     if (!FlagHelper.IsSet(flags, ItemFlags.INTERACTABLE))
     {
         return(false);
     }
     return(true);
 }
示例#2
0
    private void unlockPoint()
    {
        if (FlagHelper.IsSet(buildItemTypeFlags, BuildItemType.NONE))
        {
            buildItemTypeFlags &= ~(BuildItemType.NONE);
        }

        buildItemTypeFlags |= typesToUnlock;

        unlocked = true;
    }
示例#3
0
        /// <summary>
        /// Creates a new Page image list from the given image object.  Pages
        /// will be extracted into the Page image list if the source is multipage.
        /// </summary>
        /// <param name="image">The given image object.</param>
        /// <param name="convertTo32Bit">Whether to coerce into a 32 bit</param>
        /// <returns>A new Page Image List</returns>
        private static List <PageImage> InternalLoadImage(Image image, bool convertTo32Bit)
        {
            List <PageImage>   ret = new List <PageImage>();
            FrameDimensionType frameDimTypeFlags = ImageHelper.GetFrameDimensionTypes(image.FrameDimensionsList);
            int pages = 0;

            FrameDimension frameType = ImageHelper.FrameDimensionPage;

            //Get the Frame Dimensions if they exist
            if (FlagHelper.IsSet((int)frameDimTypeFlags, (int)FrameDimensionType.Page))
            {
                pages = image.GetFrameCount(ImageHelper.FrameDimensionPage);
                if (pages > 0)
                {
                    frameType = ImageHelper.FrameDimensionPage;
                }
            }

            if (FlagHelper.IsSet((int)frameDimTypeFlags, (int)FrameDimensionType.Time))
            {
                pages = image.GetFrameCount(ImageHelper.FrameDimensionTime);
                if (pages > 0)
                {
                    frameType = ImageHelper.FrameDimensionTime;
                }
            }

            if (FlagHelper.IsSet((int)frameDimTypeFlags, (int)FrameDimensionType.Resolution))
            {
                pages = image.GetFrameCount(ImageHelper.FrameDimensionResolution);
                if (pages > 0)
                {
                    frameType = ImageHelper.FrameDimensionResolution;
                }
            }

            if (pages == 0) //Just try to load the single image
            {
                ret.Add(new PageImage((Bitmap)image, convertTo32Bit));
            }
            else //Otherwise load each page in the proper dimension
            {
                //Foreach frame make a PageInfo
                for (int i = 0; i < pages; i++)
                {
                    image.SelectActiveFrame(frameType, i);
                    ret.Add(new PageImage((Bitmap)image, convertTo32Bit));
                }
            }

            return(ret);
        }
示例#4
0
    public bool OnActivate(GameObject player)
    {
        if (!FlagHelper.IsSet(flags, ItemFlags.INTERACTABLE))
        {
            return(false);
        }

        if (FlagHelper.IsSet(activateFlags, ActivateFlags.USE))
        {
            return(OnUse(player));
        }

        return(true);
    }
    private bool canToggleBuildMode()
    {
        BuildItem buildItem = prefabObj.GetComponent <BuildItem>();

        if (FlagHelper.IsSet(buildItem.supportedBuildModeFlags, BuildModeFlags.FREE))
        {
            if (FlagHelper.IsSet(buildItem.supportedBuildModeFlags, BuildModeFlags.POINTBASED))
            {
                return(true);
            }
        }

        return(false);
    }
示例#6
0
    public bool OnInteraction(GameObject player)
    {
        if (!FlagHelper.IsSet(flags, ItemFlags.INTERACTABLE))
        {
            return(false);
        }

        if (FlagHelper.IsSet(flags, ItemFlags.LOOTABLE))
        {
            OnLootStart(player);
            LootHandler.OnLoot(this.gameObject, player);
            OnLootEnd(player);
        }

        return(true);
    }
    private void setBuildMode(GameObject prefab)
    {
        prefabObj = prefab;
        if (FlagHelper.IsSet(prefab.GetComponent <BuildItem>().buildModeFlags, BuildModeFlags.FREE))
        {
            buildMode     = new FreeBuild();
            buildModeFlag = BuildModeFlags.FREE;
        }
        else if (FlagHelper.IsSet(prefab.GetComponent <BuildItem>().buildModeFlags, BuildModeFlags.POINTBASED))
        {
            buildMode     = new PointBuild();
            buildModeFlag = BuildModeFlags.POINTBASED;
        }

        prepareBuildMode();
    }
    private void DoAction(LastBossAction action)
    {
        float x         = 0f;
        float y         = 0f;
        float tolerance = 0.1f;

        if (action.Time <= Time.timeSinceLevelLoad + tolerance)
        {
            if (FlagHelper.IsSet(action.Mask, FinalBossFlag.W))
            {
                y += 1;
            }
            if (FlagHelper.IsSet(action.Mask, FinalBossFlag.A))
            {
                x -= 1;
            }
            if (FlagHelper.IsSet(action.Mask, FinalBossFlag.S))
            {
                y -= 1;
            }
            if (FlagHelper.IsSet(action.Mask, FinalBossFlag.D))
            {
                x += 1;
            }
            if (FlagHelper.IsSet(action.Mask, FinalBossFlag.Roll))
            {
                anim.SetBool("Rolling", true);
                rollCooldown.reset();
                rollDuration.reset();
            }
            if (FlagHelper.IsSet(action.Mask, FinalBossFlag.Attack))
            {
                sword.Swing();
            }
            if (FlagHelper.IsSet(action.Mask, FinalBossFlag.Die))
            {
                Die();
            }

            Actions.RemoveAt(0);
        }

        direction = new Vector3(x, 0, y).normalized;
    }
示例#9
0
        /// <summary>
        /// Creates a new Page image list from the given image object.  Pages
        /// will be extracted into the Page image list if the source is multipage.
        /// </summary>
        /// <param name="image">The given image object.</param>
        /// <param name="quality"></param>
        /// <returns>A new Page Image List</returns>
        public static List <PageImage> LoadImage(Image image, FaxQuality quality)
        {
            List <PageImage>   ret = new List <PageImage>();
            FrameDimensionType frameDimTypeFlags = ImageHelper.GetFrameDimensionTypes(image.FrameDimensionsList);
            int pages = 0;

            //Get the Frame Dimensions if they exist
            if (FlagHelper.IsSet((int)frameDimTypeFlags, (int)FrameDimensionType.Page))
            {
                pages = image.GetFrameCount(ImageHelper.FrameDimensionPage);
            }

            //Foreach frame make a PageInfo
            for (int i = 0; i < pages; i++)
            {
                image.SelectActiveFrame(ImageHelper.FrameDimensionPage, i);
                ret.Add(new PageImage((Bitmap)image));
            }

            return(ret);
        }