示例#1
0
	void OnMouseDown () {
		foreach (Button thisButton in buttonArray) {
			thisButton.GetComponent<SpriteRenderer>().color = Color.black;
		}
		GetComponent<SpriteRenderer>().color = Color.white;
		selectedDefender = defenderPrefab;
	}
示例#2
0
	void Start () {
		spawnerArray = GameObject.FindObjectsOfType<Spawner>();
	
		projectileParent = GameObject.Find("Projectiles");
		
		if (!projectileParent)
			projectileParent = new GameObject("Projectiles");
			
		myDefender = GetComponent<Defender>();
	}
	// Use this for initialization
	void Start () {	
		playerParent = GameObject.Find("Player");	
		if (!playerParent) {playerParent = new GameObject("Player");}
		
		defender = GameObject.FindObjectOfType<Defender>();
		if (defender) {
			defender.transform.parent = playerParent.transform;
		}
		
		destination = defender.transform.position;
	}
示例#4
0
	// Use this for initialization
	void Start () {
		myDefender = FindObjectOfType<Defender>();
		myHealth = myDefender.GetComponent<Health>();
		myAudioSource = myDefender.GetComponent<AudioSource>();
		if(!myAudioSource) {
			myAudioSource = myDefender.gameObject.AddComponent<AudioSource>();
		}
		
		
		myText = transform.parent.GetComponentInChildren<Text>();
		myText.text = " ";
		barLevel = Status.LEVEL0;
		damageCounter = 0;
		
		playerHealthBar = FindObjectOfType<HealthBar>();
	}
示例#5
0
    public virtual void OnTriggerEnter2D(Collider2D collider)
    {
        print ("superclass trigger");
        //Debug.Log (name + " trigger enter");
        Defender defender = collider.gameObject.GetComponent<Defender> ();
        //if defender exists
        if (defender) {
            print (this.name + collider.name + " fight");

            currentTarget = collider.gameObject.GetComponent<Defender> ();

            anim.SetTrigger ("Attacking");
        }

        Projectiles projectile = collider.gameObject.GetComponent<Projectiles> ();
        if (projectile) {
            health -= projectile.getDamage();
            projectile.Hit ();
        }
    }
示例#6
0
 public void Attack(Defender target)
 {
     animator.SetBool("IsAttacking", true);
     currentTarget = target;
 }
 private void SpawnDefender()
 {
     Defender defenderIns = Instantiate(defender, GetSquareClicked(), transform.rotation) as Defender;
 }
示例#8
0
 public void SetTargetAndStartAttack(Defender target)
 {
     this.target = target;
     ToggleWalk();
     animator.SetBool("doAttack", true);
 }
示例#9
0
 private void spawnDefender(Vector2 worldPos)
 {
     Defender newDefender = Instantiate(defender, worldPos, Quaternion.identity) as Defender;
 }
示例#10
0
 public void SetSelectedDefender(Defender defenderToSelect)
 {
     defender = defenderToSelect;
 }
示例#11
0
 public void SetSelectedDefender(Defender defender)
 {
     this.defender = defender;
 }
示例#12
0
        public SiteConquered(List <Property> properties, World world)
            : base(properties, world)
        {
            Initialize();
            foreach (Property property in properties)
            {
                switch (property.Name)
                {
                case "ordinal": Ordinal = Convert.ToInt32(property.Value); break;

                case "war_eventcol": ParentCollection = world.GetEventCollection(Convert.ToInt32(property.Value)); break;

                case "site_id": Site = world.GetSite(Convert.ToInt32(property.Value)); break;

                case "attacking_enid": Attacker = world.GetEntity(Convert.ToInt32(property.Value)); break;

                case "defending_enid": Defender = world.GetEntity(Convert.ToInt32(property.Value)); break;
                }
            }

            if (Collection.OfType <PlunderedSite>().Any())
            {
                ConquerType = SiteConqueredType.Pillaging;
            }
            else if (Collection.OfType <DestroyedSite>().Any())
            {
                ConquerType = SiteConqueredType.Destruction;
            }
            else if (Collection.OfType <NewSiteLeader>().Any() || Collection.OfType <SiteTakenOver>().Any())
            {
                ConquerType = SiteConqueredType.Conquest;
            }
            else if (Collection.OfType <SiteTributeForced>().Any())
            {
                ConquerType = SiteConqueredType.TributeEnforcement;
            }
            else
            {
                ConquerType = SiteConqueredType.Invasion;
            }

            if (ConquerType == SiteConqueredType.Pillaging ||
                ConquerType == SiteConqueredType.Invasion ||
                ConquerType == SiteConqueredType.TributeEnforcement)
            {
                Notable = false;
            }

            Site.Warfare.Add(this);
            if (ParentCollection is War)
            {
                War war = ParentCollection as War;
                war.DeathCount += Collection.OfType <HfDied>().Count();

                if (Attacker == war.Attacker)
                {
                    war.AttackerVictories.Add(this);
                }
                else
                {
                    war.DefenderVictories.Add(this);
                }
            }
            Attacker.AddEventCollection(this);
            Defender.AddEventCollection(this);
            Site.AddEventCollection(this);
        }
示例#13
0
 public void SetSelectedDefender(Defender defenderPrefabToSelect)
 {
     defenderPrefab = defenderPrefabToSelect;
 }
示例#14
0
 public void SetSelectedDefender(Defender defenderToSelect)
 {
     defender = defenderToSelect;
     //Debug.Log("DefenderSelected is" + defender.name);
 }
示例#15
0
 public void ResetSelectedDefender()
 {
     defender = null;
 }
    private void SpawnDefender(Vector2 roundedPos)
    {
        Defender newDefender = Instantiate(defender, roundedPos, Quaternion.identity) as Defender; // as GameObject so we can see it in the hierarchy, we can manipulate if we need too

        newDefender.transform.parent = defenderParent.transform;                                   //its instantiated as a child to our defender parent
    }
    private void SpawnDefender(Vector2 position)
    {
        Defender newDefender = Instantiate(defender, position, Quaternion.identity) as Defender;

        newDefender.transform.parent = defenderParent.transform;
    }
示例#18
0
 public void SetDefenderPrefab(Defender defender)
 {
     _defenderPrefab = defender;
     _resourceSystem = FindObjectOfType <ResourceSystem>();
 }
示例#19
0
 public void SetDefender(Defender defenderSelected)
 {
     defender = defenderSelected;
 }
示例#20
0
 // Use this for initialization
 void Start()
 {
     anim     = GetComponent <Animator>();
     defender = GetComponent <Defender>();
 }
示例#21
0
    private void SpawnDefender(Vector2 worldPos)
    {
        Defender newDefender = Instantiate(defender, worldPos, transform.rotation) as Defender;

        newDefender.transform.parent = defenderParent.transform;
    }
示例#22
0
文件: Combat.cs 项目: Amarinal/S3
        public Result Resolve(CombatOptions options = null, int?repeat = null)
        {
            Result result = new Result();

            result.Attacker = Attacker;
            result.Defender = Defender;

            bool isAttackerTurn = true;

            if (repeat == null)
            {
                repeat = Repeat;
            }

            if (options == null)
            {
                options = new CombatOptions();
            }
            this.combatOptions = options;

            for (int i = 0; i < repeat; i++)
            {
                turn = 0;
                Attacker.Init();
                Defender.Init();

                foreach (Card card in combatOptions.DefenderCards)
                {
                    Defender.Hand.Add(card.Clone());
                }

                foreach (Card card in combatOptions.AttackerCards)
                {
                    Attacker.Hand.Add(card);
                }

                while (Attacker.IsAlive && Defender.IsAlive)
                {
                    turn++;
                    isAttackerTurn = (turn % 2) == 1;

                    try
                    {
                        if (isAttackerTurn)
                        {
                            DoTurn(Attacker, Defender);
                        }
                        else
                        {
                            DoTurn(Defender, Attacker);
                        }
                    }
                    catch (DeadPlayerExeption dpex)
                    {
                        result.RecordLoss(dpex.DeadPlayer.Id);
                        break;
                    }

                    if (turn > MAX_TURNS)
                    {
                        result.RecordLoss(Attacker.Id);
                        break;
                    }
                }
            }

            return(result);
        }
示例#23
0
    private void SpawnDefender(Vector2 roundedPos)
    {
        Defender newDefender = Instantiate(defender, roundedPos, Quaternion.identity) as Defender;

        newDefender.transform.parent = defenderParent.transform;
    }
    int CheckStarCost(GameObject defenderPrefab)
    {
        Defender thisDefender = defenderPrefab.GetComponent <Defender>();

        return(thisDefender.starCost);
    }
    private void RemoveSpawnedDefender(Defender defender)
    {
        defender.OnDeath -= RemoveSpawnedDefender;

        _spawnedDefenders.Remove(defender.transform.position);
    }
示例#26
0
 /// <summary>
 /// This constructor uses the abstract classes that will later be specified by the ForestRealmFactory and PlainsRealmFactory.
 /// </summary>
 /// <param name="realmFactory">The abstract realmFactory that handles the initialization of it's own attackers and defenders.</param>
 public FantasyRealm(FantasyRealmFactory realmFactory)
 {
     attaker  = realmFactory.CreateAttacker();
     defender = realmFactory.CreateDefender();
 }
示例#27
0
    private void SpawnDefender(Vector2 roundedPos)
    {
        Defender newDefender = Instantiate(defender, roundedPos, Quaternion.identity) as Defender;

        Debug.Log(roundedPos);
    }
示例#28
0
 private void Start()
 {
     animator = GetComponent <Animator>();
     target   = null;
 }
示例#29
0
 void setTurretDefender(Defender def)
 {
     this.turretDefender = def;
 }
示例#30
0
 public void setTileOccupation(Vector2 v, Defender defender)
 {
     this.defenderTilesOccupation[(int)v.x - 1, (int)v.y - 1] = defender;
 }