public bool Attack(IWand otherPlayer) { if (power > otherPlayer.GetPower()) { LosePower(power / otherPlayer.GetPower()); otherPlayer.LosePower(otherPlayer.GetPower() / power); return(true); } else if (power < otherPlayer.GetPower()) { otherPlayer.LosePower(power / otherPlayer.GetPower()); LosePower(otherPlayer.GetPower() / power); return(false); } else { bool moneyGreater = money >= otherPlayer.GetMoney(); if (moneyGreater) { LoseMoney(otherPlayer.GetMoney() + 1); otherPlayer.LoseMoney(otherPlayer.GetMoney()); } else { otherPlayer.LoseMoney(money + 1); LoseMoney(money); } return(moneyGreater); } }
// Update GO at x, y from place data private void UpdateGO(int x, int y) { if (placeGOGrid == null) { return; } GameObject go = placeGOGrid[x, y]; if (go != null) { Destroy(go); } IPlace place = GetPlace(x, y); go = Instantiate(newPlace, new Vector2(x + offset, y + offset), Quaternion.identity, transform); go.name = "Place (" + x + ", " + y + ")"; // Color place background based on ownership if (place.IsOwned()) { IWand owner = place.GetOwner(); go.transform.Find("Background").gameObject.GetComponent <SpriteRenderer>().color = owner.GetColor(); } // Add sprite based on place type int i = Array.IndexOf(typeIndex, place.GetPlaceType()); if (i != -1) { go.transform.Find("Type").gameObject.GetComponent <SpriteRenderer>().sprite = typeSprites[i]; } // Takeover costs Transform takeOver = go.transform.Find("TakeOver"); if (place.GetCostP() > 0) { takeOver.Find("Power").gameObject.GetComponent <TextMesh>().text = "-" + place.GetCostP().ToString(); } else { Destroy(takeOver.Find("Power").gameObject); } if (place.GetCostM() > 0) { takeOver.Find("Money").gameObject.GetComponent <TextMesh>().text = "-" + place.GetCostM().ToString(); } else { Destroy(takeOver.Find("Money").gameObject); } placeGOGrid[x, y] = go; }
public override void Generate() { IWand owner = GetOwner(); if (owner != null) { owner.AddMoney(GetGenM()); owner.AddPower(GetGenP()); } return; }
public void SetOwner(IWand newOwner) { owned = true; owner = newOwner; }
public virtual bool TakeOver(IWand player) { return(false); }