/* ============================================================================ Sprite functions ============================================================================ */ public BaseSprite AddSprite(BaseSprite sprite) { sprite.material = this.material; sprite.spriteID = this.spriteList.Count; this.spriteList.Add(sprite); return sprite; }
// 配置文件加载结束回调 private void ConfigLoadEnd() { // 创建一个 Sprite BaseSprite sprite = new BaseSprite(); sprite.Init(Vector3.zero); SpriteManager.GetInstance().AddSprite(sprite); // 创建一个 Npc CheckNpc(); }
public BTConcrete(BaseSprite owner, long aiFunction, string aiConfig) { _owner = owner; _data = DataCenter.behaviorData.GetBehaviorInfo(aiConfig); if (null == _data) { Debug.LogError("AIConfig not find:" + aiConfig); } SetData(aiFunction, _data, DataCenter.behaviorData.GetBehaviorInfo); Init(_owner); }
public bool Contains(BaseSprite bs) { foreach (var item in regionSizes) { if (item.Contains(bs.trueMapSize()) || item.Intersects(bs.trueMapSize())) { return(true); } } return(false); }
private void LoadWorld() { RpgLibrary.WorldClasses.LevelData levelData = Game.Content.Load <RpgLibrary.WorldClasses.LevelData>(@"Game\Levels\Starting Level"); RpgLibrary.WorldClasses.MapData mapData = Game.Content.Load <RpgLibrary.WorldClasses.MapData>(@"Game\Levels\Maps\" + levelData.MapName); TileMap map = TileMap.FromMapData(mapData, Game.Content); Level level = new Level(map); ChestData chestData = Game.Content.Load <ChestData>(@"Game\Chests\Plain Chest"); Chest chest = new Chest(chestData); BaseSprite chestSprite = new BaseSprite( containers, new Rectangle(0, 0, 32, 32), new Point(10, 10)); ItemSprite itemSprite = new ItemSprite( chest, chestSprite); level.Chests.Add(itemSprite); World world = new World(GameRef, GameRef.ScreenRectangle); world.Levels.Add(level); world.CurrentLevel = 0; AnimatedSprite s = new AnimatedSprite( GameRef.Content.Load <Texture2D>(@"SpriteSheets\Eliza"), AnimationManager.Instance.Animations); s.Position = new Vector2(0 * Engine.TileWidth, 5 * Engine.TileHeight); EntityData ed = new EntityData("Eliza", 10, 10, 10, 10, 10, 10, "20|CON|12", "16|WIL|16", "0|0|0"); Entity e = new Entity("Eliza", ed, EntityGender.Female, EntityType.NPC); NonPlayerCharacter npc = new NonPlayerCharacter(e, s); npc.SetConversation("eliza1"); world.Levels[world.CurrentLevel].Characters.Add(npc); GamePlayScreen.World = world; CreateConversation(); ((NonPlayerCharacter)world.Levels[world.CurrentLevel].Characters[0]).SetConversation("eliza1"); }
public bool Contains(BaseSprite bs) { foreach (var item in zoneSizes) { if (item.Contains(bs.spriteGameSize) || item.Intersects(bs.spriteGameSize)) { return(true); } } return(false); }
internal bool CanPickUp(BaseSprite bs) { if (mapLoc == default(Rectangle)) { mapLoc = new Rectangle(location.ToPoint(), new Point(64)); } if (bs.trueMapSize().Contains(mapLoc) || bs.trueMapSize().Intersects(mapLoc)) { return(true); } return(false); }
private void HandlePowerup(BaseSprite baseSprite) { if (baseSprite.spriteName.Equals("Fireflower")) { SetFire(); } else if (baseSprite.spriteName.Equals("Mushroom")) { SetLarge(); } baseSprite.DestroySprite(); }
protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); pixel = Content.Load <Texture2D>("Textures/white2By2"); torchTexture = Content.Load <Texture2D>("Textures/torch22by48"); centerScreen = new Vector2(GraphicsDevice.Viewport.Width / 2, GraphicsDevice.Viewport.Height / 2); rgb = new Tuple <Vector2, Vector2, Vector2>(new Vector2(100, 200), new Vector2(0, 120), new Vector2(0, 0)); middlePx = new BaseSprite(pixel, centerScreen, Color.Green, Vector2.One); torch = new Torch(torchTexture, centerScreen, new Vector2(3f), 1.0f, Vector2.Zero, Vector2.Zero, 1f, pixel); }
private void ConfigLoadEnd() { BaseSprite sprite = new BaseSprite(); sprite.Init(Vector3.zero); _spriteList.Add(sprite); for (int i = 0; i < _spriteList.Count; ++i) { _spriteBTUpdateManager.AddSprite(sprite); } }
private void checkBox6_CheckedChanged(object sender, EventArgs e) { if (listBox2.SelectedIndex != -1) { if (listBox3.SelectedIndex != -1) { ObjectGroup og = listBox2.SelectedItem as ObjectGroup; BaseSprite temp = og.groupItems[listBox3.SelectedIndex]; temp.bIsActive = checkBox6.Checked; } } }
protected override AnimationContext ApplyCore(BaseSprite sprite) { return(new RelativeVectorAnimationContext() { StartX = sprite.ScaleX, PrevX = sprite.ScaleX, FinalX = sprite.ScaleX + sprite.ScaleX * m_percentScaleX, StartY = sprite.ScaleY, PrevY = sprite.ScaleY, FinalY = sprite.ScaleY + sprite.ScaleY * m_percentScaleY, }); }
protected override AnimationContext ApplyCore(BaseSprite sprite) { return(new RelativeVectorAnimationContext() { StartX = sprite.X, PrevX = sprite.X, FinalX = sprite.X + m_diffX, StartY = sprite.Y, PrevY = sprite.Y, FinalY = sprite.Y + m_diffY, }); }
public List <BaseSprite> CreateBaseSprites(XElement elements) { BaseSprite sprite = null; var items = elements.Descendants("Items"); var element = elements.Descendants("CustomProperties").Descendants("Property"); float layerDepth = 0; foreach (var property in element) { if (property.Attribute("Name") != null) { string name = property.Attribute("Name").Value; if (name == "LayerDepth") { layerDepth = float.Parse(property.Descendants("string").First <XElement>().Value, CultureInfo.InvariantCulture); } } } List <BaseSprite> lsSprites = new List <BaseSprite>(); foreach (var item in items) { var parts = item.Descendants("Item"); foreach (var part in parts) { if (part.Name == "Item") { element = part.Descendants("Position"); float posx = float.Parse(element.Elements("X").ElementAt(0).Value, CultureInfo.InvariantCulture); float posy = float.Parse(element.Elements("Y").ElementAt(0).Value, CultureInfo.InvariantCulture); float rot = float.Parse(part.Elements("Rotation").ElementAt(0).Value, CultureInfo.InvariantCulture); element = part.Descendants("Scale"); float width = float.Parse(element.Elements("X").ElementAt(0).Value, CultureInfo.InvariantCulture); float height = float.Parse(element.Elements("Y").ElementAt(0).Value, CultureInfo.InvariantCulture); sprite = new BaseSprite(); sprite.Rot = rot; sprite.PosZ = layerDepth; sprite.Position = new Vector2(posx, -posy); sprite.Scale = new Vector2(width, height); lsSprites.Add(sprite); } } } return(lsSprites); }
public void Hurt(BaseSprite b) { if (!invulnerable) { if (large) { myAudio.PlayOneShot(powerDown); SetAnimator(smallAnimator); SetInvulnerable(); //Start little recording if (startLittleRecord == 0) { startLittleRecord = Time.time; } if (startLargeRecord != 0) { if (LogHandler.Instance != null) { LogHandler.Instance.WriteLine(gameObject.name + " LargeState: StTime = " + startLargeRecord + " EdTime = " + Time.time); } startLargeRecord = 0; } large = false; } else if (fire) { myAudio.PlayOneShot(powerDown); SetAnimator(largeAnimator); SetInvulnerable(); fire = false; large = true; if (startLargeRecord == 0) { startLargeRecord = 0; } if (startFireRecord != 0) { if (LogHandler.Instance != null) { LogHandler.Instance.WriteLine(gameObject.name + " FireState: StTime = " + startFireRecord + " EdTime = " + Time.time); } startLargeRecord = 0; } } else { Kill(b); } } }
/// <summary> /// Initializes a new instance of the <see cref="Controller.PlayerManager" /> class. /// Postcondition: this.Player is a new instance of <see cref="Model.Player" /> class, this.Lives == 3, /// this.ScoresMade == 0. /// </summary> /// <param name="lives">The number of lives this player starts with</param> /// <param name="winScore"> /// The number of times that this player needs to score in order /// to win. /// </param> public PlayerManager(int lives, int winScore) { this.Disabled = false; this.Lives = lives; this.ScoresToWin = winScore; this.ScoresMade = 0; this.TotalScore = 0; this.MovingSprite = new PlayerMovingSprite(); this.PlayerSprites = new List <BaseSprite>(); this.Player = new Player(); this.setUpSprites(); this.Player.ChangeSprite(this.PlayerSprites[0]); }
BaseSprite LoadDonutCase(BaseSprite sprite, string texturedir, XElement part) { DonutCase c = new DonutCase(this); c.Scale = sprite.Scale; c.Initialize(Content); c.Position = sprite.Position; if (sprite.Rot != 0) { c.Rot = sprite.Rot; } return(c); }
BaseSprite LoadBasketBall(BaseSprite sprite, string texturedir, XElement part) { BasketBall b = new BasketBall(); b.Width = sprite.Width; // *sprite.ScaleX; b.Height = sprite.Height; // *sprite.ScaleY; b.Dimension = sprite.Dimension; b.Scale = sprite.Scale; b.World = world; b.Initialize(Content); b.Position = sprite.Position; return(b); }
public void RemoveSprite(int spriteId) { BaseSprite sprite = _spriteList.Find((bs) => { return(bs.SpriteID == spriteId); }); if (null == sprite) { return; } _spriteList.RemoveAll((bs) => { return(bs.SpriteID == spriteId); }); _spriteBTUpdateManager.AddSprite(sprite); }
private static Boolean CheckEnemyKillTarget(BaseSprite enemy, BaseSprite target) { Boolean test = MyGame.Manager.CollisionManager.BoxesCollision(enemy.Position, target.Position); if (!test) { return(false); } test = MyGame.Manager.CollisionManager.ColorCollision(enemy.Position, target.Position); if (!test) { return(false); } return(true); }
private void listBox3_SelectedIndexChanged(object sender, EventArgs e) { if (listBox2.SelectedIndex != -1) { if (listBox3.SelectedIndex != -1) { ObjectGroup og = listBox2.SelectedItem as ObjectGroup; BaseSprite temp = og.groupItems[listBox3.SelectedIndex]; checkBox9.Checked = temp.bIsVisible; checkBox6.Checked = temp.bIsActive; checkBox7.Checked = temp.bHasCollision; checkBox8.Checked = temp.bActivateOnTouch; } } }
private void button3_Click(object sender, EventArgs e) { if (seoColl != null && sheetTex != null) { generatedSources = new List <TileSource>(); generatedObjects = new List <BaseSprite>(); foreach (var item in seoColl.lseo) { if (item.spriteObjectType == SpriteExportObject.spriteType.Tile) { TileSource ts = new TileSource(); ts.tileName = item.name; ts.tileAnimation = new ShapeAnimation(); ts.tileAnimation.texFileLoc = texLoc; ts.tileAnimation.animationFrames = new List <Microsoft.Xna.Framework.Rectangle>(item.animationFrames); ts.tileAnimation.ReloadTexture(); generatedSources.Add(ts); } if (item.spriteObjectType == SpriteExportObject.spriteType.Object) { BaseSprite ts = new BaseSprite(); ts.shapeName = item.name; ShapeAnimation temp = new ShapeAnimation(); temp.texFileLoc = texLoc; temp.animationFrames = new List <Microsoft.Xna.Framework.Rectangle>(item.animationFrames); temp.ReloadTexture(); ts.baseAnimations.Add(temp); ts.spriteGameSize = new Microsoft.Xna.Framework.Rectangle(0, 0, item.width, item.height); generatedObjects.Add(ts); MapBuilder.gcDB.AddObject(ts); } } foreach (var item in generatedSources) { MapBuilder.gcDB.AddTile(item); } this.Close(); } }
public void PrintDeath(BaseSprite b) { if (b != null) { if (LogHandler.Instance != null) { LogHandler.Instance.WriteLine(gameObject.name + " Die = " + Time.time + " by " + b.spriteName); } } else { if (LogHandler.Instance != null) { LogHandler.Instance.WriteLine(gameObject.name + " Die = " + Time.time + " by gap"); } } WriteTimeToPlay(); }
public void AddSprite(BaseSprite baseSprite) { if (_AiIDList.Contains(baseSprite.SpriteID)) { return; } IBTNeedUpdate sprite = baseSprite as IBTNeedUpdate; if (sprite != null) { _AiList.Add(sprite); _AiIDList.Add(baseSprite.SpriteID); } else { UnityEngine.Debug.LogError("Error"); } }
public static void Start() { BasicSpriteSelector = new System.Windows.Forms.OpenFileDialog(); bRunFileSelector = true; BasicSpriteSelector.InitialDirectory = Environment.CurrentDirectory; BasicSpriteSelector.Filter = "CGBS Files (.cgbs)|*.cgbs"; BasicSpriteSelector.FilterIndex = 1; BasicSpriteSelector.Multiselect = false; System.Windows.Forms.DialogResult testDia = BasicSpriteSelector.ShowDialog(); if (testDia == System.Windows.Forms.DialogResult.OK) { Console.WriteLine("You selected: " + BasicSpriteSelector.FileName); BaseSprite test = EditorFileWriter.BasicSpriteReader(BasicSpriteSelector.FileName); MapBuilder.testSprite = test; bRunFileSelector = false; } }
public void Start() { textBox1.Text = ""; newSprite = new BaseSprite(); numericUpDown1.Value = 0; numericUpDown4.Value = 64; numericUpDown5.Value = 64; textureloclabel.Text = ""; selectedTex = null; texBoxX = 64; texBoxY = 64; offX = 0; offY = 0; listBox1.DataSource = null; listBox1.DataSource = Enum.GetNames(typeof(SaveTypesObject)); LoadLightEditorStuff(); Show(); }
public void Start(BaseSprite bs, List <Node> mp, int rotationAtEndOfMovement = -1) { if (bs != null && mp.Count != 0) { Node n = new Node(); n.coord = (bs.position / 64).ToPoint(); movingSprite = bs; movePath = mp; movePath.Reverse(); if (movePath.Find(node => node.coord == n.coord) == null) { movePath.Insert(0, n); } rotationAtEnd = rotationAtEndOfMovement; bIsBusy = true; currentNodeIndex = 0; timeSinceLastStep = 0; movingSprite.animationIndex = (int)BaseCharacter.CharacterAnimations.Movement; finalPos = movePath[movePath.Count - 1].coord.ToVector2() * 64; } }
public void AddObject(BaseSprite bs) { if (!groupItems.Contains(bs)) { if (groupItems.Count == 0) { groupItems.Add(bs); groupItemsIDs.Add(bs.shapeID); relativeOffSet.Add(new Vector2(0, 0)); } else { groupItems.Add(bs); groupItemsIDs.Add(bs.shapeID); relativeOffSet.Add((bs.position - groupItems[0].position)); } } else { System.Windows.Forms.DialogResult dialogResult = System.Windows.Forms.MessageBox.Show("Seems like the current selected object group already contains that item, do you still wish to add it?", "WARNING", System.Windows.Forms.MessageBoxButtons.YesNo); if (dialogResult == System.Windows.Forms.DialogResult.Yes) { if (groupItems.Count == 0) { groupItems.Add(bs); groupItemsIDs.Add(bs.shapeID); relativeOffSet.Add(new Vector2(0, 0)); } else { groupItems.Add(bs); groupItemsIDs.Add(bs.shapeID); relativeOffSet.Add((bs.position - groupItems[0].position)); } } else if (dialogResult == System.Windows.Forms.DialogResult.No) { } } }
internal bool CanPickUp(BaseSprite bs) { mapPUEntitiesInRange.Clear(); List <Rectangle> regions = GameProcessor.loadedMap.chunksToConsider.Select(c => c.region).ToList(); var tempList = mapPUEntities.FindAll(e => e.isInRegion(regions)); for (int i = 0; i < tempList.Count; i++) { var temp = tempList[i].CanPickUp(bs); if (temp) { mapPUEntitiesInRange.Add(tempList[i]); } } mapPUEntitiesInRange.RemoveAll(mue => mue.itemList.Count == 0); mapPUEntities.RemoveAll(mue => mue.itemList.Count == 0); return(mapPUEntitiesInRange.Count != 0 ? true : false); }
public override void CreateCosmeticChildren(ComponentManager manager) { SpriteSheet spriteSheet = new SpriteSheet(ContentPaths.Entities.Furniture.interior_furniture, 32, 32); BaseSprite = AddChild(new SimpleSprite(Manager, "Turret", Matrix.Identity, spriteSheet, new Point(2, 7))) as SimpleSprite; BaseSprite.OrientationType = SimpleSprite.OrientMode.YAxis; TurretSprite = AddChild(new SimpleSprite(Manager, "Turret", Matrix.CreateTranslation(Vector3.Up * 0.25f), spriteSheet, new Point(1, 7))) as SimpleSprite; TurretSprite.OrientationType = SimpleSprite.OrientMode.Fixed; SetTurretAngle(0.0f); BaseSprite.SetFlag(Flag.ShouldSerialize, false); TurretSprite.SetFlag(Flag.ShouldSerialize, false); AddChild(new Shadow(manager)).SetFlag(Flag.ShouldSerialize, false); AddChild(new GenericVoxelListener(Manager, Matrix.Identity, new Vector3(0.5f, 0.5f, 0.5f), new Vector3(0.0f, -1.0f, 0.0f), (changeEvent) => { if (changeEvent.Type == VoxelChangeEventType.VoxelTypeChanged && changeEvent.NewVoxelType == 0) { Die(); } })).SetFlag(Flag.ShouldSerialize, false); base.CreateCosmeticChildren(manager); }
private void button22_Click(object sender, EventArgs e) { DialogResult dialogResult = MessageBox.Show("Would you like to create a -completely- separate copy of the object with a differen ID? If not, every single object with the same ID on this map will have the newly created script.", "Script warning", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { BaseSprite temp = (BaseSprite)((BaseSprite)listBox2.SelectedItem).ShallowCopy(); MapBuilder.gcDB.AddObject(temp); MapBuilder.loadedMap.mapSprites.Remove((BaseSprite)listBox2.SelectedItem); MapBuilder.loadedMap.mapSprites.Add(temp); scriptForm.Show(); scriptForm.LoadScript(temp.script); if (listBox1.SelectedIndex != -1) { listBox2.SelectedIndex = -1; listBox2.Items.Clear(); listBox2.Items.AddRange(MapBuilder.loadedMap.mapSprites.FindAll(s => ((MapRegion)listBox1.SelectedItem).Contains(s)).ToArray()); } else { listBox2.SelectedIndex = -1; listBox2.Items.Clear(); listBox2.Items.AddRange(MapBuilder.loadedMap.mapSprites.ToArray()); } } else if (dialogResult == DialogResult.No) { if (listBox2.SelectedIndex != -1) { // MapBuilder.bCreatingScript = true; scriptForm.Show(); scriptForm.LoadScript(((BaseSprite)listBox2.SelectedItem).script); // ScriptBuilder.Start(ref MapBuilder.parentMap.mapSprites[listBox1.SelectedIndex].script); } } }
public void FocusSprite(BaseSprite focus) { if(focus != null) { bool change = true; if(focus is DPSprite) { ((DPSprite)focus).dialoguePosition.SetFocus(); if(!((DPSprite)focus).dialoguePosition.focusable) change = false; } if(change) { this.spriteList.Remove(focus); this.spriteList.Insert(0, focus); } } int i=0; foreach(BaseSprite sprite in this.spriteList) { sprite.spriteID = i; sprite.UpdateTextures(); i++; } }
public void RemoveSprite(BaseSprite del) { this.spriteList.Remove(del); int i=0; foreach(BaseSprite sprite in this.spriteList) { sprite.spriteID = i; sprite.UpdateTextures(); i++; } }
public void AddSpecial(BaseSprite nSprite) { mSpecial.Add(nSprite); }