public override void Draw(GameTime gameTime) { SpriteContainer.Begin(SpriteBlendMode.AlphaBlend); SpriteContainer.Draw(this.Texture, new Rectangle(0, 0, 548, 480), Color.White); SpriteContainer.Draw(this.CursorTexture, new Rectangle(CursorPosition.X, CursorPosition.Y, CursorTexture.Width, CursorTexture.Height), Color.White); SpriteContainer.End(); }
public static Player CreatePlayer(PlayerInfo info) { var meleeWeaponSprite = new MeleeWeaponSprite( GetBitmap(info.MeleeWeaponTileMapPath), 1, 0, 5, new Size(170, 170)); var weaponSprites = new Dictionary <Type, Sprite>(); foreach (var weaponType in WeaponFramesId.Keys) { weaponSprites.Add( weaponType, new StaticSprite( GetBitmap(info.WeaponsTileMapPath), WeaponFramesId[weaponType], new Size(79, 57))); } var weapons = new List <Weapon>(); foreach (var weaponInfo in info.Weapons) { weapons.Add(AbstractWeaponFactory.CreateGun(weaponInfo)); } var position = info.Position.Copy(); var angle = info.Angle; var legs = new PlayerBodySprite(position, GetBitmap(info.ClothesTileMapPath), 1, 14, 27, new Size(64, 64)); var legsContainer = new SpriteContainer(legs, position, angle); var torsoContainer = new SpriteContainer(weaponSprites[weapons[0].GetType()], position, angle); var meleeWeapon = new MeleeWeapon(position, angle); return(new Player( info.Health, info.Armor, new RigidCircle(position, 32, false, true), legsContainer, torsoContainer, weapons, weaponSprites, meleeWeaponSprite, meleeWeapon, info.DeadBodyTileMapPath)); }
void Start() { pa = this.GetComponent <PlayerAnimate> (); sc = GameObject.FindGameObjectWithTag("GameController").GetComponent <SpriteContainer> (); oneHandSpawn = GameObject.Find("oneHandSpawn"); bl = GameObject.Find("Bullet").GetComponent <Bullet> (); }
public CorpseViewModel(Game game, IActorGraphics actorGraphics, Vector2 position, Microsoft.Xna.Framework.Audio.SoundEffectInstance soundEffectInstance) { _actorGraphics = actorGraphics ?? throw new ArgumentNullException(nameof(actorGraphics)); _soundEffectInstance = soundEffectInstance; var shadowTexture = game.Content.Load <Texture2D>("Sprites/game-objects/simple-object-shadow"); _rootSprite = new SpriteContainer { Position = position }; var shadowSprite = new Sprite(shadowTexture) { Position = new Vector2(0, 0), Origin = new Vector2(0.5f, 0.5f), Color = new Color(Color.White, 0.5f) }; _rootSprite.AddChild(shadowSprite); _actorGraphics.ShowOutlined = false; _actorGraphics.ShowHitlighted = false; _rootSprite.AddChild(_actorGraphics.RootSprite); }
public override void Init() { base.Init(); settings = ResourceManager.GetItemsSettings(); spriteContainer = ResourceManager.GetSpriteContainer("CountryContainer"); var country = settings.countries[0]; minCoord = country.min; maxCoord = country.max; var regions = country.regions; var mapRectSize = new Vector2(spriteContainer.width, spriteContainer.height); root.localScale = MapCoordinateHelper.GetScaleFactor(); uiRegions = new List <UIRegionItem>(); for (int i = 0; i < regions.Count; i++) { var region = regions[i]; var sprite = spriteContainer.GetSprite(region.name); var uiRegion = Instantiate(template, root); uiRegion.Init(region, minCoord, maxCoord); uiRegion.baseImage.sprite = sprite; uiRegion.BaseRect.sizeDelta = MapCoordinateHelper.ConvertToUI(Vector2.zero, mapRectSize, sprite.rect.size); uiRegion.gameObject.SetActive(true); uiRegions.Add(uiRegion); } }
// 아틀라스 컨테이너에 추가한다 ex : Lobby + Common + Icon 한가지 키로 통합 private void AddAtlasSprite(string Key, string atlasName) { SpriteContainer container; Sprite[] sprites; sprites = Resources.LoadAll <Sprite>(GlobalUtil.AddString(AtlasPath, atlasName)); if (sprites == null) { return; } if (_spriteDictionary.TryGetValue(Key, out container)) { for (int i = 0; i < sprites.Length; ++i) { container.AddSprite(sprites[i].name, sprites[i]); } } else { container = new SpriteContainer(); container.AtlasName = Key; for (int i = 0; i < sprites.Length; ++i) { container.AddSprite(sprites[i].name, sprites[i]); } _spriteDictionary.Add(Key, container); } Debug.Log("Load Atlas : " + container.AtlasName + " , AtlasCount : " + _spriteDictionary.Count); }
public StaticObjectViewModel(Game game, IStaticObject staticObject, SpriteBatch spriteBatch) { _game = game; StaticObject = staticObject; _spriteBatch = spriteBatch; var graphics = new StaticObjectGraphics(game, staticObject); var worldCoords = HexHelper.ConvertToWorld(((HexNode)StaticObject.Node).OffsetCoords); var hexSize = MapMetrics.UnitSize / 2; var staticObjectPosition = new Vector2( (int)Math.Round(worldCoords[0] * hexSize * Math.Sqrt(3), MidpointRounding.ToEven), (int)Math.Round(worldCoords[1] * hexSize * 2 / 2, MidpointRounding.ToEven) ); _rootSprite = new SpriteContainer { Position = staticObjectPosition }; var shadowTexture = _game.Content.Load <Texture2D>("Sprites/game-objects/simple-object-shadow"); _rootSprite.AddChild(new Sprite(shadowTexture) { Position = new Vector2(0, 0), Origin = new Vector2(0.5f, 0.5f), Color = new Color(Color.White, 0.5f) }); _rootSprite.AddChild(graphics); }
// Use this for initialization void Start() { eai = this.GetComponent <HeavyAI> (); sc = GameObject.FindGameObjectWithTag("GameController").GetComponent <SpriteContainer>(); ewc = this.GetComponent <HeavyAttack> (); legsSpr = sc.getPlayerLegs(); }
void Start() { Scene currentScene = SceneManager.GetActiveScene(); sceneName = currentScene.name; pa = this.GetComponent <PlayerAnimate> (); sc = GameObject.FindGameObjectWithTag("GameController").GetComponent <SpriteContainer> (); }
void Start() { eai = this.GetComponent <EnemyAI>(); sc = GameObject.FindGameObjectWithTag("GameController").GetComponent <SpriteContainer>(); torsoSpr = sc.getEnemyWalk(""); attackingSpr = sc.getEnemyWeapon(""); legsSpr = sc.eWalk; }
void Start() { eai = this.GetComponent <EnemyAI> (); player = GameObject.FindGameObjectWithTag("Player"); sc = GameObject.FindGameObjectWithTag("GameController").GetComponent <SpriteContainer>(); sr = this.GetComponent <SpriteRenderer> (); ea = this.GetComponent <EnemyAnimate>(); }
void Start() { pm = this.GetComponent <Player>(); sc = GameObject.FindGameObjectWithTag("GameController").GetComponent <SpriteContainer>(); walking = sc.getPlayerUnarmedWalk(); attacking = sc.getPlayerPunch(); legsSpr = sc.getPlayerLegs(); }
public void Load(ContentManager content, SpriteManager manager, SceneInterface scene) { geoTexture = content.Load<BaseRenderableEffect>("Materials/Dude"); // First create and submit the empty player container. geoSprites = manager.CreateSpriteContainer(); scene.ObjectManager.Submit(geoSprites); }
public static SpriteContainer Create() { SpriteContainer asset = ScriptableObject.CreateInstance <SpriteContainer>(); AssetDatabase.CreateAsset(asset, "Assets/SpriteContainer.asset"); AssetDatabase.SaveAssets(); return(asset); }
public ActorIdleEngine(SpriteContainer graphicsRoot) { _graphicsRoot = graphicsRoot; _random = new Random(); _startPosition = graphicsRoot.Position; _targetVector = GetUnitRandomVector(); }
private static SpriteContainer CreateSpriteHierarchy(IEnumerable <AnimalPart> parts) { var bodySprite = parts.Single(x => x.Type == AnimalPartType.Body).Texture; var headSprite = parts.Single(x => x.Type == AnimalPartType.Head).Texture; var tailSprite = parts.Single(x => x.Type == AnimalPartType.Tail).Texture; var legCloseFrontSprite = parts.Single(x => x.Type == AnimalPartType.LegCloseFront).Texture; var legCloseHindSprite = parts.Single(x => x.Type == AnimalPartType.LegCloseHind).Texture; var legFarFrontSprite = parts.Single(x => x.Type == AnimalPartType.LegFarFront).Texture; var legFarHindSprite = parts.Single(x => x.Type == AnimalPartType.LegFarHind).Texture; var container = new SpriteContainer(); container.AddChild(new Sprite(legFarFrontSprite) { Position = new Vector2(0, -12), Origin = new Vector2(0.5f, 0.5f) }); container.AddChild(new Sprite(legFarHindSprite) { Position = new Vector2(0, -12), Origin = new Vector2(0.5f, 0.5f) }); container.AddChild(new Sprite(bodySprite) { Position = new Vector2(0, -12), Origin = new Vector2(0.5f, 0.5f) }); container.AddChild(new Sprite(headSprite) { Position = new Vector2(-0, -12), Origin = new Vector2(0.5f, 0.5f) }); container.AddChild(new Sprite(tailSprite) { Position = new Vector2(0, -12), Origin = new Vector2(0.5f, 0.5f) }); container.AddChild(new Sprite(legCloseFrontSprite) { Position = new Vector2(0, -12), Origin = new Vector2(0.5f, 0.5f) }); container.AddChild(new Sprite(legCloseHindSprite) { Position = new Vector2(0, -12), Origin = new Vector2(0.5f, 0.5f) }); return(container); }
public override void Draw(GameTime gameTime) { int width = GraphicsDevice.Viewport.Width / 2; int height = GraphicsDevice.Viewport.Height / 2; SpriteContainer.Begin(SpriteSortMode.BackToFront, BlendState.Additive); SpriteContainer.Draw(this.Texture, new Vector2(width, height), null, Color.White, 0, new Vector2(this.Texture.Width / 2, this.Texture.Height / 2), 1, SpriteEffects.None, 0.0f); SpriteContainer.End(); base.Draw(gameTime); }
public override void Init() { base.Init(); settings = ResourceManager.GetItemsSettings(); spriteContainer = ResourceManager.GetSpriteContainer("RegionContainer"); var country = settings.countries[0]; countryMinCoord = country.min; countryMaxCoord = country.max; }
public virtual void Reset() { spriteContainer = null; frameIndex = 0; _spriteData = null; _mesh = null; _meshChanged = false; _meshFilter.sharedMesh = null; renderer.sharedMaterial = null; }
public virtual void Reset() { spriteContainer = null; frameIndex = 0; _spriteData = null; _mesh = null; _meshChanged = false; _meshFilter.sharedMesh = null; renderer.sharedMaterial = null; }
// Use this for initialization void Start() { Scene currentScene = SceneManager.GetActiveScene(); sceneName = currentScene.name; eai = this.GetComponent <EnemyAI> (); player = GameObject.FindGameObjectWithTag("Player"); sr = this.GetComponent <SpriteRenderer> (); sc = GameObject.FindGameObjectWithTag("GameController").GetComponent <SpriteContainer> (); ea = this.GetComponent <EnemyAnimate> (); Boss = GameObject.Find("Mirtha"); }
protected LivingEntity( int health, int armor, RigidCircle collisionShape, SpriteContainer legsContainer, SpriteContainer torsoContainer, string deadBodyPath) { Health = health; Armor = armor; CollisionShape = collisionShape; TorsoContainer = torsoContainer; LegsContainer = legsContainer; Velocity = Vector.ZeroVector; DeadBodyPath = deadBodyPath; }
public static void update(SpriteContainer characterSprites, SpriteContainer staticSprites) { foreach (BasicSprite cs in characterSprites) { for (int i = staticSprites.Count - 1; i >= 0; i--) { // all-in-one collision detection/handling for input slip cs.velocity = collisionWithSlip(cs, staticSprites[i]); } cs.updatePosition(); } }
private static SpriteContainer CreateSpriteHierarchy(Texture2D texture2D, Vector2 spritePosition) { var container = new SpriteContainer(); container.AddChild(new Sprite(texture2D) { Position = spritePosition, Origin = new Vector2(0.5f, 0.5f) }); return(container); }
public override void Draw(GameTime gameTime) { SpriteContainer.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend); //SpriteContainer.Draw(this.Texture, new Rectangle(0, 0, 548, 480), Color.White); SpriteContainer.Draw(this.CursorTexture, new Rectangle(CursorPosition.X - 50, CursorPosition.Y, CursorTexture.Width, CursorTexture.Height), Color.White); foreach (MenuOption M in Options) { //SpriteContainer.Draw(this.CursorTexture, new Rectangle(M.Position.X, M.Position.Y, CursorTexture.Width, CursorTexture.Height), Color.White); SpriteContainer.DrawString(MenuFont, M.Text, new Vector2(M.Position.X, M.Position.Y), Color.White); } SpriteContainer.End(); }
public static void update(BasicSprite character, SpriteContainer staticSprites, GameTime time) { for (int i = staticSprites.Count - 1; i >= 0; i--) { if (willCollide(character, staticSprites[i], time)) { character.velocity = collisionWithSlip(character, staticSprites[i], time); character.onCollide(staticSprites[i], data, time); staticSprites[i].onCollide(character, data, time); } } character.updatePosition(); }
public ActorCommonActionMoveEngine(SpriteContainer rootContainer, IAnimationBlockerService animationBlockerService, SoundEffectInstance?soundEffect) { _rootContainer = rootContainer; _soundEffect = soundEffect; _startPosition = rootContainer.Position; _targetPosition = _startPosition + (Vector2.UnitY * -10); _animationBlocker = new AnimationCommonBlocker(); animationBlockerService.AddBlocker(_animationBlocker); }
public AnimalGraphics(IPersonVisualizationContentStorage personVisualizationContentStorage) { var outlinedParts = personVisualizationContentStorage.GetAnimalParts("hunter/Outlined"); _outline = CreateSpriteHierarchy(outlinedParts); _outline.Color = Color.Red; AddChild(_outline); var parts = personVisualizationContentStorage.GetAnimalParts("hunter"); var main = CreateSpriteHierarchy(parts); AddChild(main); }
public void Update(GameTime gameTime, SpriteContainer spritesToPhysics) { //Console.WriteLine(); float frameTime = (float)gameTime.TotalGameTime.TotalSeconds; //gravity is applied to every sprite in the game here so that there is a universal gravity foreach (BasicSprite i in spritesToPhysics) { i.velocity.setY(i.velocity.getY() + (gravity * frameTime)); if (i.velocity.getY() >= 30.0f) i.velocity.setY(30.0f); //Console.WriteLine(gravity * Velocity.FromCoordinates(frameTime, frameTime)); } }
public void Update(GameTime gameTime, SpriteContainer spritesToPhysics) { float frameTime = (float)gameTime.TotalGameTime.TotalSeconds; float downVel = gravity * frameTime; // gravity is applied to every sprite in the game here so that there is a universal gravity foreach (BasicSprite i in spritesToPhysics) { if (downVel >= 2.0f) downVel = 0.5f; i.velocity.setY(i.velocity.getY() + downVel); } }
private void SwitchSprite(GameObject direction, bool activated) { SpriteRenderer dirRend = direction.GetComponent <SpriteRenderer>(); SpriteContainer dirCont = direction.GetComponent <SpriteContainer>(); if (activated) { dirRend.sprite = dirCont.activatedSprite; } else { dirRend.sprite = dirCont.deactivatedSprite; } }
public ActorMeleeAttackEngine(SpriteContainer rootContainer, Vector2 targetPosition, IAnimationBlockerService animationBlockerService, SoundEffectInstance?meleeAttackSoundEffect) { _rootContainer = rootContainer; _animationBlockerService = animationBlockerService; _meleeAttackSoundEffect = meleeAttackSoundEffect; _startPosition = rootContainer.Position; _targetPosition = Vector2.Lerp(_startPosition, targetPosition, 0.6f); _animationBlocker = new AnimationCommonBlocker(); _animationBlockerService.AddBlocker(_animationBlocker); _rootContainer.FlipX = (_startPosition - _targetPosition).X < 0; }
public override void Draw(GameTime gameTime) { int width = GraphicsDevice.Viewport.Width / 2; int height = GraphicsDevice.Viewport.Height / 2; SpriteContainer.Begin(); Vector4 NewColor = ColorToFade.ToVector4(); //Set Transparency NewColor.W = FadeAmount; SpriteContainer.Draw(FadeTexture, Vector2.Zero, new Color(NewColor)); SpriteContainer.End(); base.Draw(gameTime); }
public static Bot CreateBot(BotInfo info, List <Vector> patrolPoints) { var position = info.Position.Copy(); var angle = info.Angle; var type = BotBank.GetBotTypeInfo(info.Type); var legs = new PlayerBodySprite(position, GetBitmap(type.ClothesTileMapPath), 1, 14, 27, new Size(64, 64)); var torso = new StaticSprite(GetBitmap(type.WeaponsTileMapPath), WeaponFramesId[type.Weapon.WeaponType], new Size(79, 57)); var legsContainer = new SpriteContainer(legs, position, angle); var torsoContainer = new SpriteContainer(torso, position, angle); var sightVector = new Vector(1, 0).Rotate(-angle, Vector.ZeroVector).Normalize(); return(new Bot( type.Health, type.Armor, legsContainer, torsoContainer, sightVector, new RigidCircle(position, 32, false, true), AbstractWeaponFactory.CreateGun(type.Weapon), type.DeadBodyTileMapPath, patrolPoints)); }
public static void update(SpriteContainer characterSprites, SpriteContainer staticSprites, GameTime time) { foreach (BasicSprite cs in characterSprites) { for (int i = staticSprites.Count - 1; i >= 0; i--) { // all-in-one collision detection/handling for input slip if (willCollide(cs, staticSprites[i], time)) { cs.velocity = collisionWithSlip(cs, staticSprites[i], time); cs.onCollide(staticSprites[i], data, time); staticSprites[i].onCollide(cs, data, time); } } cs.updatePosition(); } }
public StaticObjectViewModel(Game game, IStaticObject staticObject, SpriteBatch spriteBatch, bool createHighlighted = false) { _game = game; StaticObject = staticObject; _spriteBatch = spriteBatch; var graphics = new StaticObjectGraphics(game, staticObject); var worldCoords = HexHelper.ConvertToWorld(((HexNode)StaticObject.Node).OffsetCoords); var hexSize = MapMetrics.UnitSize / 2; var staticObjectPosition = new Vector2( (int)Math.Round(worldCoords[0] * hexSize * Math.Sqrt(HIGHLIGHT_DURATION_SECONDS), MidpointRounding.ToEven), (int)Math.Round(worldCoords[1] * hexSize * 2 / 2, MidpointRounding.ToEven) ); _rootSprite = new SpriteContainer { Position = staticObjectPosition }; var hasNoShadow = StaticObject.Purpose == PropContainerPurpose.Puddle || StaticObject.Purpose == PropContainerPurpose.Pit; if (!hasNoShadow) { var shadowTexture = _game.Content.Load <Texture2D>("Sprites/game-objects/simple-object-shadow"); _rootSprite.AddChild(new Sprite(shadowTexture) { Position = new Vector2(0, 0), Origin = new Vector2(0.5f, 0.5f), Color = new Color(Color.White, 0.5f) }); } _rootSprite.AddChild(graphics); if (createHighlighted) { _highlightCounter = HIGHLIGHT_DURATION_SECONDS; } }
private void ParseSprites(string xml) { SpriteContainer spriteContainer = SpriteContainer.LoadFromText(xml); int num = 0; foreach (SpriteDesign sprite in spriteContainer.sprites) { ++num; if (!this.spriteDictionaryByKey.ContainsKey(sprite.SpriteKey)) { this.spriteDictionaryByKey.Add(sprite.SpriteKey, sprite); } if (!this.spriteDictionaryById.ContainsKey(sprite.SpriteId)) { this.spriteDictionaryById.Add(sprite.SpriteId, sprite); } } Singleton <SharedManager> .Instance.SendTaskToMainThread((Action)(() => PlayerPrefs.SetFloat("SpriteVersion", (float)SingletonManager <SystemManager> .Instance.settings.SpriteVersion)), false); }
// adds the sprite to a container - this is useful if the sprite // wishes to remove itself from that container, therefore not get drawn or something public void addTo(SpriteContainer container) { if (container != null) container.Add(this); this.container = container; }
/// <summary> /// /// </summary> protected override void LoadContent() { // Create the static scenery container. mStaticSceneSprites = mSpriteManager.CreateSpriteContainer(); mStaticSceneSprites.Begin(); for (int x = 0; x < mStaticSceneEffects.Count; x++) { // Note: closest layer depth to the camera is 0 mStaticSceneSprites.Add(mStaticSceneEffects[x].effect, mStaticSceneEffects[x].size, mStaticSceneEffects[x].position, mStaticSceneEffects[x].rotation, mStaticSceneEffects[x].depth); } mStaticSceneSprites.End(); // Submit the static scenery container. mSceneInterface.ObjectManager.Submit(mStaticSceneSprites); }
/// <summary> /// Callback for the OnChange event from the Unity editor. /// </summary> /// <param name='newVal'> /// New SpriteContainer /// </param> public void UpdateSpriteContainer(SpriteContainer newVal) { spriteContainer = newVal; if (spriteContainer != null) { InitMeshAndSpriteData(); } else { Reset(); } // I'm not entirely sure what this does, but it seems it's necessary to // properly update the non-standard properties that have the "OnChange" attribute. #if UNITY_EDITOR if (!Application.isPlaying) { UnityEditor.PrefabUtility.RecordPrefabInstancePropertyModifications(this); } #endif }
/// <summary> /// /// </summary> public void InitSunburnStuff() { if (FNA.Game_cl.IsPlayingGame == true) { mSpriteContainer = FNA.Game_cl.BaseInstance.SpriteManager.CreateSpriteContainer(); FNA.Game_cl.BaseInstance.SceneInterface.ObjectManager.Submit(mSpriteContainer); } }
// adds the sprite to a container - this is useful if the sprite // wishes to remove itself from that container, therefore not get drawn or something public void addTo(SpriteContainer container) { container.Add(this); this.container = container; }