예제 #1
0
    public void BuildDesertKnight(Player player)
    {
        movedKnight    = true;
        positionedUnit = new Knight(player, player.desertKnightLevel);
        player.ownedUnits.Add(positionedUnit);
        owned  = true;
        knight = player.desertKnightLevel;
        if (player.desertKnightActive)
        {
            var temp = positionedUnit as Knight;
            temp.activateKnight();
        }
        knightActive = player.desertKnightActive;

        switch (positionedUnit.Owner.myColor)
        {
        case 0: color = Color.red; break;

        case 1: color = Color.blue; break;

        case 2: color = Color.green; break;

        case 3: color = new Color(255, 128, 0); break;
        }
    }
예제 #2
0
    public void OnKnight(KnightLevel value)
    {
        knight = value;
        if (knight == KnightLevel.None)
        {
            transform.GetComponent <SpriteRenderer>().sprite   = intersection;
            transform.GetComponent <SpriteRenderer>().color    = Color.white;
            transform.GetComponent <CircleCollider2D>().radius = 0.2f;
        }
        else if (knight == KnightLevel.Basic || movedKnight)
        {
            movedKnight = false;
            transform.GetComponent <SpriteRenderer>().sprite   = knightSprites[(int)knight];
            transform.GetComponent <CircleCollider2D>().radius = 0.6f;
        }
        else if (knightActive)
        {
            transform.GetComponent <SpriteRenderer>().sprite = activeKnightSprites[(int)knight];
        }

        else if (!knightActive)
        {
            transform.GetComponent <SpriteRenderer>().sprite = knightSprites[(int)knight];
        }
    }
예제 #3
0
    public void MoveKnight(Player player, Knight knightToMove, bool forced)
    {
        movedKnight = true;
        Knight temp = knightToMove;

        positionedUnit = temp;
        owned          = true;
        knight         = temp.level;
        if (!forced)
        {
            temp.deactivateKnight();
        }
        else
        {
            knightActive = knightToMove.isKnightActive();
        }

        switch (positionedUnit.Owner.myColor)
        {
        case 0: color = Color.red; break;

        case 1: color = Color.blue; break;

        case 2: color = Color.green; break;

        case 3: color = new Color(255, 128, 0); break;
        }
    }
예제 #4
0
 public void upgradeKnight()
 {
     if (level != KnightLevel.Mighty)
     {
         level = (KnightLevel)(((int)level) + 1);
     }
 }
예제 #5
0
    private void LoadKnight(Knight k)
    {
        positionedUnit = k;
        owned          = true;
        knight         = k.level;
        switch (positionedUnit.Owner.myColor)
        {
        case 0: color = Color.red; break;

        case 1: color = Color.blue; break;

        case 2: color = Color.green; break;

        case 3: color = new Color(255, 128, 0); break;
        }
    }
예제 #6
0
    public void BuildKnight(Player player)
    {
        positionedUnit = new Knight(player, KnightLevel.Basic);
        player.ownedUnits.Add(positionedUnit);
        owned  = true;
        knight = KnightLevel.Basic;
        switch (positionedUnit.Owner.myColor)
        {
        case 0: color = Color.red; break;

        case 1: color = Color.blue; break;

        case 2: color = Color.green; break;

        case 3: color = new Color(255, 128, 0); break;
        }
    }
예제 #7
0
    public void RemoveKnight(Player player, bool destroy)
    {
        knightRemoved = true;
        owned         = false;
        Knight temp = (Knight)positionedUnit;

        // temp.deactivateKnight();
        knight       = KnightLevel.None;
        knightActive = false;


        positionedUnit = null;

        if (destroy)
        {
            player.AddKnight(temp.level);
            player.ownedUnits.Remove(positionedUnit);
        }

        color = new Color(255, 255, 255);
    }
예제 #8
0
 public Knight(Player p, Guid g, KnightLevel level) : base(p, g)
 {
     this.level = level;
 }
예제 #9
0
 public Knight(Player p, KnightLevel level) : base(p)
 {
     this.level = level;
 }
예제 #10
0
 public bool HasKnights(KnightLevel level)
 {
     return(knightTokens.Contains(level));
 }
예제 #11
0
 public void AddKnight(KnightLevel level)
 {
     knightTokens.Add(level);
 }
예제 #12
0
 public void RemoveKnight(KnightLevel level)
 {
     knightTokens.Remove(level);
 }