public override void Update(float elapsedTime, DynamicGameObject player) { if (this.IsTempEnergi) { if (Collectable == 16) { vx = Core.Aggregate.Instance.RNG(-5, 5); vy = Core.Aggregate.Instance.RNG(-14, -3); Collectable--; } else if (Collectable > 0) { Collectable--; } else { Collectable--; if (Collectable < -64) { RemoveCount = 5; } } } }
// target x and y position in world space, duration hur fort det ska gå public CommandMoveTo(DynamicGameObject myObject, float x, float y, float duration = 0.0f) { TargetPosX = x; TargetPosY = y; TimeSoFar = 0.0f; Duration = Math.Max(duration, 0.001f); this.myObject = myObject; }
public override bool OnUse(DynamicGameObject myobject) { if (myobject != null) { Creature dyn = (Creature)myobject; dyn.Health = Math.Min(dyn.Health + 1, dyn.MaxHealth); // Not more then full } return(true); // remove }
private void InitializeConcreteCubes(DynamicGameObject concreteCubeTemplate) { foreach (var cell in Field) { if (CanPutConcreteCube(cell)) { cell.AddGameElement(concreteCubeTemplate); } } }
private void InitializeMap(DynamicGameObject gameFloorTemplate) { GameObject gameFloor = gameFloorTemplate.Create(); Single offsetByX = (Int32)(Width / 2.0); Single offsetByZ = (Int32)(Length / 2.0); gameFloor.SetPosition(offsetByX, offsetByZ); var floorNetworkSettings = gameFloor.GetComponent <FloorNetworkSettings>(); floorNetworkSettings.SetScale(Width, Length); floorNetworkSettings.UpdateScale(); }
public override void Update(GameTime gameTime) { toDelete = null; foreach (DynamicGameObject dgo in Objects["Monster"]) { //if (dgo is Monster) Mouse.SetPosition((int)dgo.Position.X, (int)dgo.Position.Y); dgo.Update(gameTime); if (((Monster)dgo).Health <= 0) toDelete = dgo; } if (toDelete != null) { Objects["Monster"].Remove(toDelete); } base.Update(gameTime); }
public override void OnInteract(DynamicGameObject player = null) { if (Collected || Collectable > 0) { return; } if (item.OnInteract(player)) { // Add item to inventory Engine.GiveItem(item); } Collected = true; }
public void RemoveDynamicGameObject(DynamicGameObject dynamicGameObject) { IEnumerator <DynamicGameObject> dynamicEnumerator = _dynamicGameObjects.GetEnumerator(); bool exists = false; while (dynamicEnumerator.MoveNext()) { if (dynamicEnumerator.Current == dynamicGameObject) { exists = true; } } if (exists) { _dynamicGameObjects.Remove(dynamicGameObject); } }
public override bool OnInteract(DynamicGameObject myobject) { OnUse(myobject); return(false); // Absorb }
public virtual bool OnInteraction(List <DynamicGameObject> vecDynobs, DynamicGameObject target, Enum.NATURE nature) { return(true); }
public virtual bool OnInteract(DynamicGameObject myobject) { return(false); }
public virtual bool OnUse(DynamicGameObject myobject) { return(false); }
public GameMap(Int32 length, Int32 width, DynamicGameObject gameFloorTemplate, DynamicGameObject concreteCubeTemplate) : base(length, width, gameFloorTemplate) { InitializeConcreteCubes(concreteCubeTemplate); }
public void AddGameElement(DynamicGameObject dynamicElement) { DynamicGameObjects.Add(dynamicElement); }
public GameElements(DynamicGameObject element, Int32 elementsCount) { Element = element; this.elementsCount = elementsCount; }
public SmartMap(Int32 length, Int32 width, DynamicGameObject gameFloorTemplate, DynamicGameObject concreteCubeTemplate) : base(length, width, gameFloorTemplate, concreteCubeTemplate) { }
public void AddElement(Int32 indexRow, Int32 indexColumn, DynamicGameObject element) { GetCell(indexRow, indexColumn).AddGameElement(element); }
public IEnumerable <CellWithGameObjects> FindAll(DynamicGameObject element) { return(FindAll(d => d.Equals(element))); }
public void AddElement(Cell cell, DynamicGameObject element) { AddElement(cell.IndexRow, cell.IndexColumn, element); }
public MapWithFloor(Int32 length, Int32 width, DynamicGameObject gameFloorTemplate) : base(length, width) { InitializeMap(gameFloorTemplate); }
public void AddElements <T>(DynamicGameObject element, Int32 elementsCount) where T : BasePlacement, new() { AddElements(new GameElements <T>(element, elementsCount)); }