[HideInInspector] public DynValue CreateProjectileAbs(Script s, string sprite, float xpos, float ypos, string layerName = "")
    {
        LuaProjectile projectile = (LuaProjectile)BulletPool.instance.Retrieve();

        if (sprite == null)
        {
            throw new CYFException("You can't create a projectile with a nil sprite!");
        }
        SpriteUtil.SwapSpriteFromFile(projectile, sprite);
        projectile.name  = sprite;
        projectile.owner = s;
        projectile.gameObject.SetActive(true);
        projectile.ctrl.MoveToAbs(xpos, ypos);
        //projectile.ctrl.z = Projectile.Z_INDEX_NEXT; //doesn't work yet, thanks unity UI
        projectile.transform.SetAsLastSibling();
        //projectile.ctrl.UpdatePosition();
        projectile.ctrl.sprite.Set(sprite);
        if (layerName != "")
        {
            try { projectile.transform.SetParent(GameObject.Find(layerName + "Bullet").transform); }
            catch {
                try { projectile.transform.SetParent(GameObject.Find(layerName + "Layer").transform); }
                catch { }
            }
        }
        DynValue projectileController = UserData.Create(projectile.ctrl);

        //Texture2D tex = (Texture2D)projectile.GetComponent<Image>().mainTexture;
        //projectile.selfAbs = UnitaleUtil.GetFurthestCoordinates(tex.GetPixels32(), tex.height, projectile.self);

        return(projectileController);
    }
 public void Set(string name)
 {
     SpriteUtil.SwapSpriteFromFile(img, name);
     originalSprite  = img.sprite;
     nativeSizeDelta = new Vector2(img.sprite.texture.width, img.sprite.texture.height);
     Scale(xScale, yScale);
 }
Beispiel #3
0
 public override void Draw(GameTime gameTime, SpriteBatch spriteBatch)
 {
     base.Draw(gameTime, spriteBatch);
     spriteBatch.Begin();
     SpriteUtil.DrawInRect(spriteBatch, spriteTitle, GraphicsDevice.Viewport.Bounds);
     spriteBatch.End();
 }
Beispiel #4
0
    public static DialogueConversation GenerateNegative()
    {
        String bumLine   = GetRandomLine(bum_lines);
        String actorLine = GetRandomLine(actor_negative);

        return(new DialogueConversation().Add(bumLine, SpriteUtil.GetHoboMugshot()).Add(actorLine));
    }
Beispiel #5
0
        private void LoadIndex(int index)
        {
            int spec = baseForms[index];

            if (spec == 0)
            {
                spec = index;
            }
            var form = formVal[index];

            LoadPersonal(Editor.Personal[index]);
            LoadLearnset(Editor.Learn[index]);
            LoadEvolutions(Editor.Evolve[index]);
            if (Editor.Mega != null)
            {
                LoadMegas(Editor.Mega[index], spec);
            }
            Bitmap rawImg = (Bitmap)SpriteUtil.GetSprite(spec, form, 0, 0, false, false, false);
            Bitmap bigImg = new Bitmap(rawImg.Width * 2, rawImg.Height * 2);

            for (int x = 0; x < rawImg.Width; x++)
            {
                for (int y = 0; y < rawImg.Height; y++)
                {
                    Color c = rawImg.GetPixel(x, y);
                    bigImg.SetPixel(2 * x, 2 * y, c);
                    bigImg.SetPixel((2 * x) + 1, 2 * y, c);
                    bigImg.SetPixel(2 * x, (2 * y) + 1, c);
                    bigImg.SetPixel((2 * x) + 1, (2 * y) + 1, c);
                }
            }
            PB_MonSprite.Image = bigImg;
        }
 // Changes the sprite of this instance
 public void Set(string name)
 {
     // Change the sprite
     if (name == null)
     {
         throw new CYFException("You can't set a sprite as nil!");
     }
     if (img.GetComponent <Image>())
     {
         Image imgtemp = img.GetComponent <Image>();
         SpriteUtil.SwapSpriteFromFile(imgtemp, name);
         originalSprite  = imgtemp.sprite;
         nativeSizeDelta = new Vector2(imgtemp.sprite.texture.width, imgtemp.sprite.texture.height);
     }
     else
     {
         SpriteRenderer imgtemp = img.GetComponent <SpriteRenderer>();
         SpriteUtil.SwapSpriteFromFile(imgtemp, name);
         originalSprite  = imgtemp.sprite;
         nativeSizeDelta = new Vector2(imgtemp.sprite.texture.width, imgtemp.sprite.texture.height);
     }
     Scale(xScale, yScale);
     if (tag == "projectile")
     {
         img.GetComponent <Projectile>().needUpdateTex = true;
     }
 }
 protected override void MoveHands()
 {
     if (Mathf.Abs(Angle) < 90)
     {
         _leftHand.localPosition       = _leftHandPos;
         gameObject.transform.position = !Weapon.IsDoubleHanded ? _rightHand.position : _leftHand.position;
         SpriteUtil.SetXScale(gameObject, 1);
         Weapon.IsInverted = false;
         if (_secondaryHandPos != null)
         {
             _rightHand.position = _secondaryHandPos.position;
         }
     }
     else
     {
         _rightHand.localPosition      = _rightHandPos;
         gameObject.transform.position = !Weapon.IsDoubleHanded ? _leftHand.position : _rightHand.position;
         SpriteUtil.SetXScale(gameObject, -1);
         Weapon.IsInverted = true;
         if (_secondaryHandPos != null)
         {
             _leftHand.position = _secondaryHandPos.position;
         }
     }
 }
Beispiel #8
0
    private static IEnumerator ReplaceMeasure(Transform measure, bool isBonusLevel)
    {
        uint level = LevelsCompleted - 1;

        SpriteRenderer sr = measure.GetComponentInChildren <SpriteRenderer>();

        float startWidth  = (sr.sprite.texture.width / (100f)) * (measure.localScale.x * sr.transform.localScale.x);
        float startHeight = (sr.sprite.texture.height / (100f)) * (measure.localScale.y * sr.transform.localScale.y);

        Vector2 startSize     = new Vector2(startWidth, startHeight);
        Vector3 startPosition = sr.gameObject.transform.position;

        // Swap out old sprite renderer for new one
        Texture2D newText;

        switch (Version)
        {
        case GameVersion.T.Integrated:
            newText = Instance.LevelList[level].measure;
            break;

        case GameVersion.T.NotIntegrated:
            float meanSize = (startSize.x + startSize.y) / 2;
            startSize = new Vector2(meanSize, meanSize);     // Comic tiles are square
            newText   = Instance.LevelList[level].comic;
            break;

        default:
            Debug.Log("Invalid Version");
            newText = Instance.LevelList[level].comic;
            break;
        }

        GameObject     newGo = SpriteUtil.AddSprite(newText, startSize, startPosition, "Temp", Instance.transform.parent);
        SpriteRenderer newSr = newGo.GetComponent <SpriteRenderer>();

        float t;
        float currentTime = 0f;
        float moveTime    = Instance.TextureSwapTime;

        while (currentTime <= moveTime)
        {
            t           = currentTime / moveTime;
            sr.color    = new Color(1f, 1f, 1f, 1f - t);
            newSr.color = new Color(1f, 1f, 1f, t);
            yield return(new WaitForEndOfFrame());

            currentTime += Time.deltaTime;
        }

        Destroy(measure.gameObject);
        newSr.color = new Color(1f, 1f, 1f, 1f);

        Instance.StartCoroutine(ShrinkIntoPlace(level, newSr, newGo, startSize, isBonusLevel));

        if (!isBonusLevel)
        {
            Instance.StartCoroutine(PlayMusic());
        }
    }
Beispiel #9
0
        public static void OnLoad(string path)
        {
            PUtil.InitLibrary(true);
            PLocalization.Register();
            POptions.RegisterOptions(typeof(InspectToolSettings));

            ReadOptions();

            PKeyBinding pKeyBinding = null;

            if (KKeyCodeUtil.TryParse(InspectToolSettings.Instance.Hotkey, out KKeyCode keyCode, out Modifier modifier))
            {
                pKeyBinding = new PKeyBinding(keyCode, modifier);
            }

            PAction = PAction.Register(InspectToolStrings.ACTION_ID, InspectToolStrings.ACTION_TITLE, pKeyBinding);

            try
            {
                var inspectToolIconSprite = Assembly.GetExecutingAssembly().GetManifestResourceStream("InspectTool.img.inspectToolIcon.dds");
                var inspectCursorSprite   = Assembly.GetExecutingAssembly().GetManifestResourceStream("InspectTool.img.inspectCursor.dds");
                InspectToolAssets.InspectToolIcon        = SpriteUtil.CreateSpriteDXT5(inspectToolIconSprite, 32, 32);
                InspectToolAssets.InspectToolCursor      = SpriteUtil.CreateSpriteDXT5(inspectCursorSprite, 256, 256);
                InspectToolAssets.InspectToolIcon.name   = InspectToolStrings.TOOL_ICON_SPRITE_NAME;
                InspectToolAssets.InspectToolCursor.name = InspectToolStrings.CURSOR_SPRITE_NAME;
            }
            catch (Exception e)
            {
                Debug.LogError(e);
            }
        }
 public void setSprite(string newSprite)
 {
     if (newSprite == null)
     {
         throw new CYFException("You can't set a projectile's sprite to nil!");
     }
     SpriteUtil.SwapSpriteFromFile(this, newSprite);
 }
Beispiel #11
0
 public static SpriteUtil GetInstance()
 {
     if (singletonInstance == null)
     {
         singletonInstance = new SpriteUtil();
     }
     return(singletonInstance);
 }
Beispiel #12
0
    private Sprite CreateTravelatorSprite(int roomID, int index)
    {
        var srcRect = new Rect((7 + index) * 8, (19 - roomID) * 8, 8, 8);
        var tex     = SpriteUtil.CreateTexture(8, 8);

        TexUtil.Blit(_roomProvider._blocks, tex, srcRect, Vector2.zero);
        return(Sprite.Create(tex, new Rect(0, 0, 8, 8), new Vector2(0, 1), 1));
    }
Beispiel #13
0
        private Bitmap GetGlowSprite(PKM pk)
        {
            var baseSprite = SpriteUtil.GetSprite(pk.Species, pk.AltForm, pk.Gender, 0, pk.IsEgg, false, pk.Format);

            var pixels = ImageUtil.GetPixelData((Bitmap)baseSprite);

            ImageUtil.GlowEdges(pixels, new[] { GlowInitial.B, GlowInitial.G, GlowInitial.R }, baseSprite.Width);
            return(ImageUtil.GetBitmap(pixels, baseSprite.Width, baseSprite.Height));
        }
Beispiel #14
0
 private static void SetUpSpriteCreator(SaveFile sav)
 {
     SpriteUtil.Initialize(sav);
     StreamSettings.CreateSpriteFile = (pk, fn) =>
     {
         var png = pk.Sprite();
         png.Save(fn);
     };
 }
Beispiel #15
0
    public WillyAnimations(Texture2D tex)
    {
        _tex = tex;

        _right = SpriteUtil.GetFrames(tex, 0, 8)
                 .ToSprites();

        _left = SpriteUtil.GetFrames(tex, 8, 8)
                .ToSprites();
    }
Beispiel #16
0
    private List <GameObject> FillWithTextures(GameObject obj, Texture2D[] textures)
    {
        BoxCollider2D     box = obj.GetComponent <BoxCollider2D>();
        List <GameObject> ret = new List <GameObject>();

        float xmin = box.bounds.center.x - box.bounds.extents.x;
        float xmax = box.bounds.center.x + box.bounds.extents.x;
        float ymin = box.bounds.center.y - box.bounds.extents.y;
        float ymax = box.bounds.center.y + box.bounds.extents.y;

        float xInc   = (xmax - xmin) / 2;
        float xLeft  = xmin;
        float margin = 0.1f;

        float yInc    = (ymax - ymin) / 2;
        float yBottom = ymin;

        if (textures.Length < 4)
        {
            // "Centering"
            ymin += 0.5f * yInc;
        }

        bool movingRight = true;

        foreach (Texture2D t in textures)
        {
            float      xRight    = xLeft + xInc;
            float      yTop      = yBottom + yInc;
            float      midX      = (xRight + xLeft) / 2;
            float      midY      = (yTop + yBottom) / 2;
            Vector2    size      = new Vector2((1f - margin) * (xRight - xLeft), (1f - margin) * (yTop - yBottom));
            Vector3    pos       = new Vector3(midX, midY, this.transform.position.z - TextureOffset);
            GameObject spriteObj = SpriteUtil.AddSprite(t, size, pos, t.name, obj, true);
            spriteObj.GetComponent <SpriteRenderer>().sortingLayerName = "Bonus";
            spriteObj.GetComponent <SpriteRenderer>().sortingOrder     = 5;
            ret.Add(spriteObj);

            if (movingRight)
            {
                // On iterations 0 and 2, move to the right
                xLeft      += xInc;
                movingRight = false;
            }
            else
            {
                // On iteration 1, move left and down
                xLeft      -= xInc;
                yBottom    += yInc;
                movingRight = true;
            }
        }

        return(ret);
    }
Beispiel #17
0
 private static void GetQuickFiller(PictureBox pb, TrainerPoke pk)
 {
     if (pk is TrainerPoke8 c)
     {
         pb.Image = SpriteUtil.GetSprite(c.Species, c.Form, c.Gender, c.HeldItem, false, c.Shiny, c.CanGigantamax);
     }
     else
     {
         pb.Image = SpriteUtil.GetSprite(pk.Species, pk.Form, pk.Gender, pk.HeldItem, false, pk.Shiny, false);
     }
 }
Beispiel #18
0
    private IEnumerator MergeTwoBoxes(GameObject front, GameObject back)
    {
        front.GetComponent <Button>().interactable = false;
        back.GetComponent <Button>().interactable  = false;

        GameObject bgSprite        = null;
        GameObject referenceSprite = null;

        foreach (SpriteRenderer sr in front.GetComponentsInChildren <SpriteRenderer>())
        {
            if (sr.gameObject.name != "Sprite")
            {
                // really good coding style right here
                referenceSprite = sr.gameObject;
                continue;
            }
            bgSprite = sr.gameObject;
            SpriteUtil.CenterSpriteInImage(sr.gameObject, front);
            sr.enabled = true;
        }
        bgSprite.transform.position = new Vector3(
            bgSprite.transform.position.x, bgSprite.transform.position.y,
            referenceSprite.transform.position.z + 0.1f);

        Vector3 center = 0.5f * (front.transform.position + back.transform.position);

        Vector3 frontOffset = FrontOffset * Vector3.back;

        front.transform.position += frontOffset;
        StartCoroutine(Transition.Translate(front.transform, center + frontOffset, MergeDuration));
        yield return(Transition.Translate(back.transform, center, MergeDuration));

        back.SetActive(false);

        foreach (SpriteRenderer sr in back.GetComponentsInChildren <SpriteRenderer>())
        {
            if (sr.gameObject.name != "Sprite")
            {
                Destroy(sr.gameObject);
            }
        }

        foreach (SpriteRenderer sr in front.GetComponentsInChildren <SpriteRenderer>())
        {
            if (sr.gameObject.name != "Sprite")
            {
                // really good coding style right here
                // I even copied and pasted this if statement
                continue;
            }
            sr.enabled = false;
        }
    }
Beispiel #19
0
    private void Write_Entry(object sender, EventArgs e)
    {
        if (!editing)
        {
            return; //Don't do writing until loaded
        }
        Validate_TextBoxes();

        int index       = LB_DataEntry.SelectedIndex;
        int partymember = Convert.ToInt32(NUP_PartyIndex.Value) - 1;
        int offset      = (index * 0x1B4) + (partymember * HallFame6Entity.SIZE);
        var span        = data.AsSpan(offset, HallFame6Entity.SIZE);
        var entry       = new HallFame6Entity(span)
        {
            Species            = Convert.ToUInt16(CB_Species.SelectedValue),
            HeldItem           = Convert.ToUInt16(CB_HeldItem.SelectedValue),
            Move1              = Convert.ToUInt16(CB_Move1.SelectedValue),
            Move2              = Convert.ToUInt16(CB_Move2.SelectedValue),
            Move3              = Convert.ToUInt16(CB_Move3.SelectedValue),
            Move4              = Convert.ToUInt16(CB_Move4.SelectedValue),
            EncryptionConstant = Util.GetHexValue(TB_EC.Text),
            TID         = Convert.ToUInt16(TB_TID.Text),
            SID         = Convert.ToUInt16(TB_SID.Text),
            Form        = (uint)CB_Form.SelectedIndex,
            Gender      = (uint)EntityGender.GetFromString(Label_Gender.Text) & 0x3,
            Level       = Convert.ToUInt16(TB_Level.Text),
            IsShiny     = CHK_Shiny.Checked,
            IsNicknamed = CHK_Nicknamed.Checked,
            Nickname    = TB_Nickname.Text,
            OT_Name     = TB_OT.Text,
            OT_Gender   = (uint)EntityGender.GetFromString(Label_OTGender.Text) & 1,
        };

        offset = index * 0x1B4;

        uint vnd  = 0;
        uint date = 0;

        vnd  |= Convert.ToUInt32(TB_VN.Text) & 0xFF;
        date |= (uint)((CAL_MetDate.Value.Year - 2000) & 0xFF);
        date |= (uint)((CAL_MetDate.Value.Month & 0xF) << 8);
        date |= (uint)((CAL_MetDate.Value.Day & 0x1F) << 12);
        vnd  |= (date & 0x1FFFF) << 14;
        //Fix for top bit
        uint rawvnd = ReadUInt32LittleEndian(data.AsSpan(offset + 0x1B0));

        vnd |= rawvnd & 0x80000000;
        WriteUInt32LittleEndian(data.AsSpan(offset + 0x1B0), vnd);

        bpkx.Image = SpriteUtil.GetSprite(entry.Species, (int)entry.Form, (int)entry.Gender, 0, entry.HeldItem, false, CHK_Shiny.Checked, 6);
        DisplayEntry(this, EventArgs.Empty); // refresh text view
    }
Beispiel #20
0
        private void ProcessPlayerTurn(int direction, int scale)
        {
            var currentRunningState = HorizontalMove != 0 || VerticalMove != 0;

            if (_currentTurn == direction && _previousRunState == currentRunningState)
            {
                return;
            }
            _currentTurn      = direction;
            _previousRunState = currentRunningState;
            TurnTo(direction, currentRunningState);
            SpriteUtil.SetXScale(_body, scale);
        }
Beispiel #21
0
    public void removeAll()
    {
        state    = WAIT;
        hitTimer = 0;
        SpriteUtil.setY(sky, 6.43f);
        SpriteUtil.setY(ground, -5.85f);
        var elements = GameObject.FindObjectsOfType <AbstractGO> ();

        foreach (var item in elements)
        {
            Destroy(item.gameObject);
        }
    }
Beispiel #22
0
 public void showBoom()
 {
     if (active)
     {
         active             = false;
         collider2D.enabled = false;
         z = -1;
         GetComponent <Renderer> ().enabled = false;
         boom.gameObject.SetActive(true);
         SpriteUtil.rotate(boom, Random.Range(0, 360));
         boom.GetComponent <tk2dSpriteAnimator> ().AnimationCompleted = onBoomComplete;
         boom.GetComponent <tk2dSpriteAnimator> ().Play();
     }
 }
 protected override void MoveHands()
 {
     if (Mathf.Abs(Angle) < 90)
     {
         gameObject.transform.position = _rightHand.position;
         SpriteUtil.SetXScale(gameObject, 1);
         Weapon.IsInverted = false;
     }
     else
     {
         gameObject.transform.position = _leftHand.position;
         SpriteUtil.SetXScale(gameObject, -1);
         Weapon.IsInverted = true;
     }
 }
Beispiel #24
0
    private void UpdateShiny(object sender, EventArgs e)
    {
        if (!editing)
        {
            return; //Don't do writing until loaded
        }
        var species = WinFormsUtil.GetIndex(CB_Species);
        var form    = CB_Form.SelectedIndex & 0x1F;
        var gender  = EntityGender.GetFromString(Label_Gender.Text);
        var item    = WinFormsUtil.GetIndex(CB_HeldItem);

        bpkx.Image = SpriteUtil.GetSprite(species, form, gender, 0, item, false, CHK_Shiny.Checked, 6);

        Write_Entry(this, EventArgs.Empty);
    }
Beispiel #25
0
    private PictureBox GetBallView(Ball b, ICollection <Ball> legal, IReadOnlyList <ComboItem> names)
    {
        var img = SpriteUtil.GetBallSprite((int)b);
        var pb  = new PictureBox
        {
            Size                  = img.Size,
            Image                 = img,
            BackgroundImage       = legal.Contains(b) ? SpriteUtil.Spriter.Set : SpriteUtil.Spriter.Delete,
            BackgroundImageLayout = ImageLayout.Tile,
        };

        pb.MouseEnter += (_, _) => Text = names.First(z => z.Value == (int)b).Text;
        pb.Click      += (_, _) => SelectBall(b);
        return(pb);
    }
    private DynValue CreateProjectileAbs(Script s, string sprite, float xpos, float ypos)
    {
        LuaProjectile projectile = (LuaProjectile)BulletPool.instance.Retrieve();

        SpriteUtil.SwapSpriteFromFile(projectile, sprite);
        projectile.owner = s;
        projectile.gameObject.SetActive(true);
        projectile.ctrl.MoveToAbs(xpos, ypos);
        //projectile.ctrl.z = Projectile.Z_INDEX_NEXT; //doesn't work yet, thanks unity UI
        projectile.transform.SetAsLastSibling();
        projectile.ctrl.UpdatePosition();
        DynValue projectileController = UserData.Create(projectile.ctrl);

        return(projectileController);
    }
Beispiel #27
0
    private static void loadAllFrom(string directoryPath)
    {
        DirectoryInfo dInfo = new DirectoryInfo(directoryPath);

        FileInfo[] fInfo = dInfo.GetFiles("*.png", SearchOption.AllDirectories);
        foreach (FileInfo file in fInfo)
        {
            string imageName = FileLoader.getRelativePathWithoutExtension(directoryPath, file.FullName).ToLower();
            if (dict.ContainsKey(imageName))
            {
                continue;
            }
            dict.Add(imageName, SpriteUtil.fromFile(file.FullName));
        }
    }
Beispiel #28
0
        public void Start(PictureBox pb, SlotTrackerImage lastSlot)
        {
            var view = WinFormsUtil.FindFirstControlOfType <ISlotViewer <PictureBox> >(pb);

            if (view == null)
            {
                throw new ArgumentNullException(nameof(view));
            }
            var data = view.GetSlotData(pb);
            var pk   = data.Read(view.SAV);

            Slot     = pb;
            LastSlot = lastSlot;

            var orig = LastSlot.OriginalBackground = pb.BackgroundImage;

            Bitmap bg;

            if (GlowHover)
            {
                HoverWorker.Stop();
                var hover = Hover;
                SpriteUtil.GetSpriteGlow(pk, Draw.GlowInitial.B, Draw.GlowInitial.G, Draw.GlowInitial.R, out var glowdata, out var GlowBase);
                bg = ImageUtil.LayerImage(GlowBase, hover, 0, 0);
                HoverWorker.GlowToColor   = Draw.GlowFinal;
                HoverWorker.GlowFromColor = Draw.GlowInitial;
                HoverWorker.Start(pb, GlowBase, glowdata, orig, hover);
            }
            else
            {
                bg = Hover;
            }

            if (orig != null)
            {
                bg = ImageUtil.LayerImage(orig, bg, 0, 0);
            }
            pb.BackgroundImage = LastSlot.CurrentBackground = bg;

            if (Settings.Default.HoverSlotShowText)
            {
                Preview.Show(pb, pk);
            }
            if (Settings.Default.HoverSlotPlayCry)
            {
                CryPlayer.PlayCry(pk);
            }
        }
 public static Sprite tryLoad(string key)
 {
     if (dictMod.ContainsKey(key))
     {
         dict[key] = SpriteUtil.FromFile(dictMod[key].FullName);
     }
     else if (dictDefault.ContainsKey(key))
     {
         dict[key] = SpriteUtil.FromFile(dictDefault[key].FullName);
     }
     else
     {
         return(null);
     }
     return(dict[key]);
 }
 // Use this for initialization
 private void Start()
 {
     bgImage = GetComponent <Image>();
     try {
         Sprite bg = SpriteUtil.FromFile(FileLoader.pathToModFile("Sprites/bg.png"));
         if (bg != null)
         {
             bg.texture.filterMode = FilterMode.Point;
             bgImage.sprite        = bg;
             bgImage.color         = Color.white;
         }
     } catch {
         // Background failed loading, no need to do anything.
         UnitaleUtil.WriteInLogAndDebugger("[WARN]No background file found. Using empty background.");
     }
 }