public void ShowNameplate(GameActor.Alignment charType) { Debug.Assert(Nameplate == null, "showing already shown nameplate"); GameObject nameplateGO = Instantiate(NameplateUI); Nameplate = nameplateGO.GetComponent <Nameplate>(); Nameplate.transform.SetParent(UIParent.transform, false); }
public GameActorState(GameActor actor) { id = actor.id; name = actor.name; uniqueName = actor.uniqueName; align = actor.align; baseHealth = actor.baseHealth; health = actor.Health; pos = actor.pos; dir = actor.dir; }
public void ClearActors(GameActor.Alignment align) { var actors = align == GameActor.Alignment.Player ? players : mobs; var actorsCopy = actors.ToArray(); actors.Clear(); foreach (var actor in actorsCopy) { GameEvents.Instance.ActorRemoved_Fire(this, actor); } }
public void ShowCharacter(GameActor.Alignment charType) { Debug.Assert(Character == null, "showing already shown character"); align = charType; var prefab = align == GameActor.Alignment.Player ? PlayerSprite : MobSprite; Character = Instantiate(prefab); Character.transform.SetParent(transform, false); Character.GetComponent <SpriteRenderer>().sortingLayerName = "Character"; }
private void TestAddActor(GameActor.Alignment align) { var game = new Game(); var actor1 = new GameActor(align, "one"); var actor2 = new GameActor(align, "two"); game.AddActor(actor1); game.AddActor(actor2); var coll = align == GameActor.Alignment.Player ? game.Players : game.Mobs; Assert.AreEqual(coll[0], actor1); Assert.AreEqual(coll[1], actor2); }
private void TestAddActorEvent(GameActor.Alignment align) { var game = new Game(); var actor = new GameActor(); int called = 0; GameEvents.Instance.ActorAdded += (g, a) => { ++called; Assert.AreEqual(game, g); Assert.AreEqual(a, actor); }; game.AddActor(actor); Assert.AreEqual(1, called); }
static private void LayoutActors(GameObject actorParent, GameActor.Alignment alignment) { var slots = actorParent.GetComponentsInChildren <CharacterSlot>(); var rect = Util.GetScreenRectInWorldCoords(); float xOffset = rect.width / 4; float x = alignment == GameActor.Alignment.Player ? (rect.center.x - xOffset) : (rect.center.x + xOffset); float nSlots = (float)slots.Length; float screenHeightMinusMargin = rect.height - 1; float slotHeight = screenHeightMinusMargin / nSlots; float yCurrent = rect.center.y + ((nSlots - 1) / 2) * slotHeight; foreach (var slot in slots) { slot.transform.position = new Vector2(x, yCurrent); slot.OnPositionUpdated(); // because Unity doesn't do this for you yCurrent -= slotHeight; } }
public ActionChooseRandomTarget(GameActor.Alignment targetAlign) { this.targetAlign = targetAlign; }