コード例 #1
0
        protected override void LoadAnimationSprites(THSharpSkinElement textures)
        {
            base.LoadAnimationSprites(textures);

            RightSprite.Texture     = textures.GetSkinTextureElement(CharacterName + "Right");
            KiaiRightSprite.Texture = textures.GetSkinTextureElement(CharacterName + "KiaiRight");
        }
コード例 #2
0
ファイル: Boss.cs プロジェクト: miterosan/TouhouSharp
        protected override void LoadAnimationSprites(THSharpSkinElement textures)
        {
            SoulContainer.Alpha = 0;
            KiaiContainer.Alpha = 1;

            KiaiLeftSprite.Alpha  = 0;
            KiaiRightSprite.Alpha = 0;
            KiaiStillSprite.Alpha = 1;

            KiaiStillSprite.Texture = textures.GetSkinTextureElement(CharacterName + " Kiai");

            Size = new Vector2(128);
        }
コード例 #3
0
        public static void ReloadGamemodes(THSharpSkinElement textures, Storage storage)
        {
            foreach (Gamemode g in LoadedGamemodes)
            {
                OnGamemodeRemoved?.Invoke(g);
            }

            LoadedGamemodes = new List <Gamemode>();

            loadedAssemblies = new Dictionary <Assembly, Type>();

            foreach (string file in Directory.GetFiles(Environment.CurrentDirectory, $"{gamemode_prefix}.*.dll"))
            {
                var filename = Path.GetFileNameWithoutExtension(file);

                if (loadedAssemblies.Values.Any(t => t.Namespace == filename))
                {
                    return;
                }

                try
                {
                    var assembly = Assembly.LoadFrom(file);
                    loadedAssemblies[assembly] = assembly.GetTypes().First(t => t.IsPublic && t.IsSubclassOf(typeof(Gamemode)));
                }
                catch (Exception)
                {
                    Logger.Log("Error loading a gamemode!", LoggingTarget.Runtime, LogLevel.Error);
                }
            }

            var instances = loadedAssemblies.Values.Select(g => (Gamemode)Activator.CreateInstance(g)).ToList();

            //add all official modes in order
            foreach (Gamemode g in instances.Where(g => g.OfficialID != null).OrderBy(g => g.OfficialID))
            {
                Logger.Log("Successfully loaded official gamemode: " + g.Name);
                LoadedGamemodes.Add(g);
                g.LoadDependencies(textures, storage);
                OnGamemodeAdd?.Invoke(g);
            }

            //add any other modes
            foreach (Gamemode g in instances.Where(g => g.OfficialID == null))
            {
                Logger.Log("Successfully loaded un-official gamemode: " + g.Name);
                LoadedGamemodes.Add(g);
                g.LoadDependencies(textures, storage);
                OnGamemodeAdd?.Invoke(g);
            }
        }
コード例 #4
0
        public override void SetHost(GameHost host)
        {
            if (THSharpConfigManager == null)
            {
                THSharpConfigManager = new THSharpConfigManager(host.Storage);
            }

            if (THSharpSkinElement == null)
            {
                THSharpSkinElement = new THSharpSkinElement(host.Storage, THSharpConfigManager);
            }

            base.SetHost(host);
        }
コード例 #5
0
ファイル: THSharpCursor.cs プロジェクト: Xoas/TouhouSharp
        private void load(THSharpSkinElement textures)
        {
            Children = new Drawable[]
            {
                new Sprite
                {
                    Anchor  = Anchor.Centre,
                    Origin  = Anchor.Centre,
                    Size    = new Vector2(Size.X + Size.X / 3.5f),
                    Texture = textures.GetSkinTextureElement("ring")
                },
                CenterCircle = new CircularContainer
                {
                    Masking = true,
                    Anchor  = Anchor.Centre,
                    Origin  = Anchor.Centre,
                    Size    = new Vector2(Size.X / 5),
                    Child   = new Box
                    {
                        RelativeSizeAxes = Axes.Both
                    }
                },
                new Container
                {
                    Masking          = false,
                    Anchor           = Anchor.Centre,
                    Origin           = Anchor.Centre,
                    RelativeSizeAxes = Axes.Both,
                    Rotation         = 45,

                    Children = new Drawable[]
                    {
                        new Container
                        {
                            Masking      = true,
                            Anchor       = Anchor.Centre,
                            Origin       = Anchor.Centre,
                            CornerRadius = Size.X / 12,
                            Size         = new Vector2(Size.X / 3, Size.X / 7),
                            Position     = new Vector2(Size.X / 3, 0),
                            Child        = new Box
                            {
                                RelativeSizeAxes = Axes.Both
                            }
                        },
                        new Container
                        {
                            Masking      = true,
                            Anchor       = Anchor.Centre,
                            Origin       = Anchor.Centre,
                            CornerRadius = Size.X / 12,
                            Size         = new Vector2(Size.X / 3, Size.X / 7),
                            Position     = new Vector2(-1 * Size.X / 3, 0),
                            Rotation     = 180,
                            Child        = new Box
                            {
                                RelativeSizeAxes = Axes.Both
                            }
                        },
                        new Container
                        {
                            Masking      = true,
                            Anchor       = Anchor.Centre,
                            Origin       = Anchor.Centre,
                            CornerRadius = Size.X / 12,
                            Size         = new Vector2(Size.X / 3, Size.X / 7),
                            Position     = new Vector2(0, Size.X / 3),
                            Rotation     = 90,
                            Child        = new Box
                            {
                                RelativeSizeAxes = Axes.Both
                            }
                        },
                        new Container
                        {
                            Masking      = true,
                            Anchor       = Anchor.Centre,
                            Origin       = Anchor.Centre,
                            CornerRadius = Size.X / 12,
                            Size         = new Vector2(Size.X / 3, Size.X / 7),
                            Position     = new Vector2(0, -1 * Size.X / 3),
                            Rotation     = 270,
                            Child        = new Box
                            {
                                RelativeSizeAxes = Axes.Both
                            }
                        }
                    }
                },
                new Container
                {
                    Masking          = false,
                    Anchor           = Anchor.Centre,
                    Origin           = Anchor.Centre,
                    RelativeSizeAxes = Axes.Both,

                    Children = new Drawable[]
                    {
                        new CircularContainer
                        {
                            Masking  = true,
                            Anchor   = Anchor.Centre,
                            Origin   = Anchor.Centre,
                            Size     = new Vector2(Size.X / 8),
                            Position = new Vector2(Size.X / 4, 0),
                            Child    = new Box
                            {
                                RelativeSizeAxes = Axes.Both
                            }
                        },
                        new CircularContainer
                        {
                            Masking  = true,
                            Anchor   = Anchor.Centre,
                            Origin   = Anchor.Centre,
                            Size     = new Vector2(Size.X / 8),
                            Position = new Vector2(-1 * Size.X / 4, 0),
                            Child    = new Box
                            {
                                RelativeSizeAxes = Axes.Both
                            }
                        },
                        new CircularContainer
                        {
                            Masking  = true,
                            Anchor   = Anchor.Centre,
                            Origin   = Anchor.Centre,
                            Size     = new Vector2(Size.X / 8),
                            Position = new Vector2(0, Size.X / 4),
                            Child    = new Box
                            {
                                RelativeSizeAxes = Axes.Both
                            }
                        },
                        new CircularContainer
                        {
                            Masking  = true,
                            Anchor   = Anchor.Centre,
                            Origin   = Anchor.Centre,
                            Size     = new Vector2(Size.X / 8),
                            Position = new Vector2(0, -1 * Size.X / 4),
                            Child    = new Box
                            {
                                RelativeSizeAxes = Axes.Both
                            }
                        }
                    }
                }
            };
        }
コード例 #6
0
        private void load(THSharpSkinElement textures)
        {
            if (character is DrawableTHSharpPlayer v)
            {
                Color4 lightColor = v.PrimaryColor.Lighten(0.5f);
                Color4 darkColor  = v.PrimaryColor.Darken(0.5f);

                Size = new Vector2(90);

                Anchor = Anchor.Centre;
                Origin = Anchor.Centre;

                AlwaysPresent = true;

                Children = new Drawable[]
                {
                    Sign = new Container
                    {
                        RelativeSizeAxes = Axes.Both,
                        Anchor           = Anchor.Centre,
                        Origin           = Anchor.Centre,

                        Size = new Vector2(0.6f),

                        Alpha         = 0,
                        AlwaysPresent = true,

                        Children = new Drawable[]
                        {
                            characterSigil = new CircularContainer
                            {
                                RelativeSizeAxes = Axes.Both,
                                Anchor           = Anchor.Centre,
                                Origin           = Anchor.Centre,
                                Masking          = true,
                            },
                            new Sprite
                            {
                                RelativeSizeAxes = Axes.Both,
                                Size             = new Vector2(2f),

                                Colour  = v.PrimaryColor,
                                Anchor  = Anchor.Centre,
                                Origin  = Anchor.Centre,
                                Texture = textures.GetSkinTextureElement("seal"),
                            }
                        }
                    },
                    new Container
                    {
                        Anchor           = Anchor.Centre,
                        Origin           = Anchor.Centre,
                        RelativeSizeAxes = Axes.Both,
                        Alpha            = 0.2f,
                        Size             = new Vector2(1.5f),
                        Padding          = new MarginPadding(-Blur.KernelSize(5)),
                        Child            = (health = new CircularProgress
                        {
                            RelativeSizeAxes = Axes.Both,
                            InnerRadius = 0.05f,
                            Colour = v.ComplementaryColor
                        }).WithEffect(new GlowEffect
                        {
                            Colour    = v.ComplementaryColor,
                            Strength  = 2,
                            PadExtent = true
                        }),
                    },
                    new Container
                    {
                        Anchor           = Anchor.Centre,
                        Origin           = Anchor.Centre,
                        RelativeSizeAxes = Axes.Both,
                        Alpha            = 0.2f,
                        Size             = new Vector2(1.75f),
                        Padding          = new MarginPadding(-Blur.KernelSize(5)),

                        Child = (energy = new CircularProgress
                        {
                            RelativeSizeAxes = Axes.Both,
                            InnerRadius = 0.05f,
                            Colour = v.SecondaryColor
                        }).WithEffect(new GlowEffect
                        {
                            Colour    = v.SecondaryColor,
                            Strength  = 2,
                            PadExtent = true
                        }),
                    },
                    new Container
                    {
                        Position = new Vector2(-30, 0),
                        Anchor   = Anchor.CentreLeft,
                        Origin   = Anchor.CentreRight,

                        Child = (leftValue = new SpriteText
                        {
                            Anchor = Anchor.CentreLeft,
                            Origin = Anchor.CentreRight,
                            Colour = v.ComplementaryColor,
                            Font = "Venera",
                            TextSize = 16,
                            Alpha = 0.75f,
                        }).WithEffect(new GlowEffect
                        {
                            Colour    = Color4.Transparent,
                            PadExtent = true,
                        }),
                    },
                    new Container
                    {
                        Position = new Vector2(30, 0),
                        Anchor   = Anchor.CentreRight,
                        Origin   = Anchor.CentreLeft,

                        Child = (rightValue = new SpriteText
                        {
                            Anchor = Anchor.CentreRight,
                            Origin = Anchor.CentreLeft,
                            Colour = v.SecondaryColor,
                            Font = "Venera",
                            TextSize = 16,
                            Alpha = 0.75f,
                        }).WithEffect(new GlowEffect
                        {
                            Colour    = Color4.Transparent,
                            PadExtent = true,
                        }),
                    },
                };

                switch (v.Player.FileName)
                {
                case "SakuyaIzayoi":
                    characterSigil.Children = new Drawable[]
                    {
                        gear1 = new Sprite
                        {
                            Colour   = lightColor,
                            Anchor   = Anchor.Centre,
                            Origin   = Anchor.Centre,
                            Texture  = textures.GetSkinTextureElement("gearSmall"),
                            Position = new Vector2(-41, 10),
                        },
                        gear2 = new Sprite
                        {
                            Colour   = v.PrimaryColor,
                            Anchor   = Anchor.Centre,
                            Origin   = Anchor.Centre,
                            Texture  = textures.GetSkinTextureElement("gearMedium"),
                            Position = new Vector2(-4, 16),
                        },
                        gear3 = new Sprite
                        {
                            Colour   = darkColor,
                            Anchor   = Anchor.Centre,
                            Origin   = Anchor.Centre,
                            Texture  = textures.GetSkinTextureElement("gearLarge"),
                            Position = new Vector2(-16, -34),
                        },
                        gear4 = new Sprite
                        {
                            Colour   = v.PrimaryColor,
                            Anchor   = Anchor.Centre,
                            Origin   = Anchor.Centre,
                            Texture  = textures.GetSkinTextureElement("gearMedium"),
                            Position = new Vector2(35, -40),
                        },
                        gear5 = new Sprite
                        {
                            Colour   = lightColor,
                            Anchor   = Anchor.Centre,
                            Origin   = Anchor.Centre,
                            Texture  = textures.GetSkinTextureElement("gearSmall"),
                            Position = new Vector2(33, 8),
                        },
                    };
                    break;
                }
            }
            else
            {
                Scale = new Vector2(0.6f);

                AutoSizeAxes = Axes.Both;
                Anchor       = Anchor.Centre;
                Origin       = Anchor.Centre;

                AlwaysPresent = true;

                Children = new Drawable[]
                {
                    Sign = new Container
                    {
                        AutoSizeAxes = Axes.Both,
                        Anchor       = Anchor.Centre,
                        Origin       = Anchor.Centre,

                        Alpha = 0,

                        Child = new Sprite
                        {
                            Anchor  = Anchor.Centre,
                            Origin  = Anchor.Centre,
                            Colour  = character.PrimaryColor,
                            Texture = textures.GetSkinTextureElement("sign")
                        }
                    }
                };
            }
        }
コード例 #7
0
        protected override void LoadAnimationSprites(THSharpSkinElement textures)
        {
            base.LoadAnimationSprites(textures);

            AddRange(new Drawable[]
            {
                SoulContainer = new SymcolContainer
                {
                    RelativeSizeAxes = Axes.Both,
                    Anchor           = Anchor.Centre,
                    Origin           = Anchor.Centre,
                    Colour           = Character.PrimaryColor,
                    Alpha            = 1,
                    Children         = new Drawable[]
                    {
                        SoulSpriteStill = new SymcolSprite
                        {
                            RelativeSizeAxes = Axes.Both,
                            Anchor           = Anchor.Centre,
                            Origin           = Anchor.Centre,
                            Alpha            = 1,
                        },
                        SoulSpriteRight = new SymcolSprite
                        {
                            RelativeSizeAxes = Axes.Both,
                            Anchor           = Anchor.Centre,
                            Origin           = Anchor.Centre,
                            Alpha            = 0,
                        },
                        SoulSpriteLeft = new SymcolSprite
                        {
                            RelativeSizeAxes = Axes.Both,
                            Anchor           = Anchor.Centre,
                            Origin           = Anchor.Centre,
                            Alpha            = 0,
                        },
                    }
                },
                RealityContainer = new SymcolContainer
                {
                    RelativeSizeAxes = Axes.Both,
                    Anchor           = Anchor.Centre,
                    Origin           = Anchor.Centre,
                    Alpha            = 0,
                    Children         = new Drawable[]
                    {
                        RealitySpriteStill = new SymcolSprite
                        {
                            RelativeSizeAxes = Axes.Both,
                            Anchor           = Anchor.Centre,
                            Origin           = Anchor.Centre,
                            Alpha            = 1,
                        },
                        RealitySpriteRight = new SymcolSprite
                        {
                            RelativeSizeAxes = Axes.Both,
                            Anchor           = Anchor.Centre,
                            Origin           = Anchor.Centre,
                            Alpha            = 0,
                        },
                        RealitySpriteLeft = new SymcolSprite
                        {
                            RelativeSizeAxes = Axes.Both,
                            Anchor           = Anchor.Centre,
                            Origin           = Anchor.Centre,
                            Alpha            = 0,
                        },
                    }
                },
                VisibleHitbox = new SymcolCircularContainer
                {
                    Anchor          = Anchor.Centre,
                    Origin          = Anchor.Centre,
                    Alpha           = 0,
                    Size            = new Vector2((float)Character.HitboxWidth + (float)Character.HitboxWidth / 4),
                    BorderColour    = Character.PrimaryColor,
                    BorderThickness = (float)Character.HitboxWidth / 4,
                    Masking         = true,

                    Child = new Box
                    {
                        RelativeSizeAxes = Axes.Both
                    },
                    EdgeEffect = new EdgeEffectParameters
                    {
                        Radius = (float)Character.HitboxWidth / 2,
                        Type   = EdgeEffectType.Shadow,
                        Colour = Character.PrimaryColor.Opacity(0.5f)
                    }
                }
            });
        }
コード例 #8
0
        protected override void LoadAnimationSprites(THSharpSkinElement textures)
        {
            SoulContainer.Alpha = 0;
            KiaiContainer.Alpha = 1;

            KiaiLeftSprite.Alpha  = 0;
            KiaiRightSprite.Alpha = 0;
            KiaiStillSprite.Alpha = 0;

            KiaiContainer.AddRange(new Drawable[]
            {
                Idle = new AnimatedSprite
                {
                    RelativeSizeAxes = Axes.Both,
                    UpdateRate       = 100,
                    Textures         = new[]
                    {
                        textures.GetSkinTextureElement(Player.Name + " Kiai 0"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai 1"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai 2"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai 3"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai 4"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai 5"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai 6"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai 7"),
                    }
                },
                Left = new AnimatedSprite
                {
                    Alpha            = 0,
                    RelativeSizeAxes = Axes.Both,
                    UpdateRate       = 100,
                    Textures         = new[]
                    {
                        textures.GetSkinTextureElement(Player.Name + " Kiai Left 0"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai Left 1"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai Left 2"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai Left 3"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai Left 4"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai Left 5"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai Left 6"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai Left 7"),
                    }
                },
                Right = new AnimatedSprite
                {
                    Alpha            = 0,
                    RelativeSizeAxes = Axes.Both,
                    UpdateRate       = 100,
                    Textures         = new[]
                    {
                        textures.GetSkinTextureElement(Player.Name + " Kiai Right 0"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai Right 1"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai Right 2"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai Right 3"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai Right 4"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai Right 5"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai Right 6"),
                        textures.GetSkinTextureElement(Player.Name + " Kiai Right 7"),
                    }
                }
            });
        }
コード例 #9
0
        protected override void LoadAnimationSprites(THSharpSkinElement textures)
        {
            base.LoadAnimationSprites(textures);

            SoulContainer.Alpha    = 0;
            RealityContainer.Alpha = 1;

            RealitySpriteLeft.Alpha  = 0;
            RealitySpriteRight.Alpha = 0;
            RealitySpriteStill.Alpha = 0;

            RealityContainer.AddRange(new Drawable[]
            {
                //TODO: rename "Kiai" files to "Reality"
                idle = new AnimatedSprite
                {
                    RelativeSizeAxes = Axes.Both,
                    UpdateRate       = 100,
                    Textures         = new[]
                    {
                        textures.GetSkinTextureElement(Character.Name + " Kiai 0"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai 1"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai 2"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai 3"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai 4"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai 5"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai 6"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai 7"),
                    }
                },
                left = new AnimatedSprite
                {
                    Alpha            = 0,
                    RelativeSizeAxes = Axes.Both,
                    UpdateRate       = 100,
                    Textures         = new[]
                    {
                        textures.GetSkinTextureElement(Character.Name + " Kiai Left 0"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai Left 1"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai Left 2"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai Left 3"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai Left 4"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai Left 5"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai Left 6"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai Left 7"),
                    }
                },
                right = new AnimatedSprite
                {
                    Alpha            = 0,
                    RelativeSizeAxes = Axes.Both,
                    UpdateRate       = 100,
                    Textures         = new[]
                    {
                        textures.GetSkinTextureElement(Character.Name + " Kiai Right 0"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai Right 1"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai Right 2"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai Right 3"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai Right 4"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai Right 5"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai Right 6"),
                        textures.GetSkinTextureElement(Character.Name + " Kiai Right 7"),
                    }
                }
            });
        }
コード例 #10
0
ファイル: Character.cs プロジェクト: miterosan/TouhouSharp
        private void load(THSharpSkinElement textures)
        {
            Health = MaxHealth;

            Anchor = Anchor.TopLeft;
            Origin = Anchor.Centre;

            //TODO: Temp?
            Size = new Vector2(64);

            AddRange(new Drawable[]
            {
                Seal          = new Seal(this),
                SoulContainer = new Container
                {
                    RelativeSizeAxes = Axes.Both,
                    Anchor           = Anchor.Centre,
                    Origin           = Anchor.Centre,
                    Colour           = PrimaryColor,
                    Alpha            = 1,
                    Children         = new Drawable[]
                    {
                        StillSprite = new Sprite
                        {
                            RelativeSizeAxes = Axes.Both,
                            Anchor           = Anchor.Centre,
                            Origin           = Anchor.Centre,
                            Alpha            = 1,
                        },
                        RightSprite = new Sprite
                        {
                            RelativeSizeAxes = Axes.Both,
                            Anchor           = Anchor.Centre,
                            Origin           = Anchor.Centre,
                            Alpha            = 0,
                        },
                        LeftSprite = new Sprite
                        {
                            RelativeSizeAxes = Axes.Both,
                            Anchor           = Anchor.Centre,
                            Origin           = Anchor.Centre,
                            Alpha            = 0,
                        },
                    }
                },
                KiaiContainer = new Container
                {
                    RelativeSizeAxes = Axes.Both,
                    Anchor           = Anchor.Centre,
                    Origin           = Anchor.Centre,
                    Alpha            = 0,
                    Children         = new Drawable[]
                    {
                        KiaiStillSprite = new Sprite
                        {
                            RelativeSizeAxes = Axes.Both,
                            Anchor           = Anchor.Centre,
                            Origin           = Anchor.Centre,
                            Alpha            = 1,
                        },
                        KiaiRightSprite = new Sprite
                        {
                            RelativeSizeAxes = Axes.Both,
                            Anchor           = Anchor.Centre,
                            Origin           = Anchor.Centre,
                            Alpha            = 0,
                        },
                        KiaiLeftSprite = new Sprite
                        {
                            RelativeSizeAxes = Axes.Both,
                            Anchor           = Anchor.Centre,
                            Origin           = Anchor.Centre,
                            Alpha            = 0,
                        },
                    }
                },
                VisibleHitbox = new CircularContainer
                {
                    Anchor          = Anchor.Centre,
                    Origin          = Anchor.Centre,
                    Alpha           = 0,
                    Size            = new Vector2(HitboxWidth + HitboxWidth / 4),
                    BorderColour    = PrimaryColor,
                    BorderThickness = HitboxWidth / 4,
                    Masking         = true,

                    Child = new Box
                    {
                        RelativeSizeAxes = Axes.Both
                    },
                    EdgeEffect = new EdgeEffectParameters
                    {
                        Radius = HitboxWidth / 2,
                        Type   = EdgeEffectType.Shadow,
                        Colour = PrimaryColor.Opacity(0.5f)
                    }
                }
            });

            Add(Hitbox = new SymcolHitbox(new Vector2(HitboxWidth))
            {
                Team = Team
            });

            if (CharacterName == "player" || CharacterName == "enemy")
            {
                KiaiContainer.Colour = PrimaryColor;
            }

            LoadAnimationSprites(textures);
        }
コード例 #11
0
ファイル: Character.cs プロジェクト: miterosan/TouhouSharp
        /// <summary>
        /// Gets called just before hit detection
        /// </summary>
        //protected virtual void ParseBullet(DrawableBullet bullet) { }

        protected virtual void LoadAnimationSprites(THSharpSkinElement textures)
        {
            StillSprite.Texture     = textures.GetSkinTextureElement(CharacterName);
            KiaiStillSprite.Texture = textures.GetSkinTextureElement(CharacterName + "Kiai");
        }
コード例 #12
0
 public virtual void LoadDependencies(THSharpSkinElement textures, Storage storage)
 {
 }
コード例 #13
0
ファイル: DrawableCharacter.cs プロジェクト: Xoas/TouhouSharp
 /// <summary>
 /// Can be used to load custom character sprites
 /// </summary>
 /// <param name="textures"></param>
 protected virtual void LoadAnimationSprites(THSharpSkinElement textures)
 {
 }
コード例 #14
0
ファイル: DrawableCharacter.cs プロジェクト: Xoas/TouhouSharp
 private void load(THSharpSkinElement textures)
 {
     Health = Character.MaxHealth;
     LoadAnimationSprites(textures);
 }
コード例 #15
0
        public override void LoadDependencies(THSharpSkinElement textures, Storage storage)
        {
            base.LoadDependencies(textures, storage);

            icon = textures.GetSkinTextureElement("icon", true);
        }