Esempio n. 1
0
    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);
    }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
    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";
    }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
    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;
        }
    }
Esempio n. 8
0
 public ActionChooseRandomTarget(GameActor.Alignment targetAlign)
 {
     this.targetAlign = targetAlign;
 }