コード例 #1
0
 public Waiting(Soldier _soldier, float _timeOnWaitpoint)
     : base(_soldier, _timeOnWaitpoint)
 {
     this.waitingTime = 0;
     this.soldier.standBy();
     this.maxWaitingTime = GeneralMethods.random(1, 3);
 }
コード例 #2
0
	void Awake()
	{
		bulletHitParticlesPooler = GameObject.Find("Bullet Hit Particles").GetComponent<ObjectPoolerScript>();

		if (playerControlled) 
		{
		} 
		else 
		{
			soldierScript = GetComponentInParent<Soldier>();
		}
		audioSource = GetComponent<AudioSource> ();
		gunLine = GetComponent<LineRenderer> ();
		targetCircle = GameObject.Find("circle (outline)").transform;

		timer = 60/firingRPM;
		if (timer > 0.2f)
			effectsDisplayTime = 0.2f;
		else
			effectsDisplayTime = timer-0.1f;

		if(!hasLaser)
		{
			try{	transform.parent.FindChild("Laser").gameObject.SetActive(false);}catch{}
		}

		stealthScript = GameObject.FindGameObjectWithTag ("GameController").GetComponent<Stealth> ();
		shootNoise = audioSource.clip;
	}
コード例 #3
0
    //Add selected add soldiers to current selected army as multiple soldiers can be selected
    //But only one building can be active at a time
    public void addSelected(Soldier soldier)
    {
        //Add the soldiers to the list where it waits to for commands

        //If the list already contains the soldier, don't add it second time
        if (!selectedS.Contains (soldier)) {
            cancel (false); //Cancel the current selected building and close its panels together with question panel

            //Add the soldier to the list
            selectedS.Add(soldier);
            panels [4].SetActive (true);

            Text solNumber = null;

            //Modify panel texts
            if(soldier.GetType().ToString () == "Infantry")
                solNumber = panels[4].transform.GetChild(4).GetComponent<Text>();
            else if (soldier.GetType().ToString () == "Archer")
                solNumber = panels[4].transform.GetChild(6).GetComponent<Text>();
            else
                solNumber = panels[4].transform.GetChild(5).GetComponent<Text>();

            solNumber.text = (int.Parse(solNumber.text) + 1).ToString();

        }
    }
コード例 #4
0
 public Rotating(Soldier _soldier, float _desiredAngle, bool _clockwise, float _timeOnWaitpoint)
     : base(_soldier, _timeOnWaitpoint)
 {
     this.desiredAngle = _desiredAngle;
     this.clockwise = _clockwise;
     ROTATION_ANGLE = 2 * FastMath.PI;
 }
コード例 #5
0
ファイル: Aircraft.cs プロジェクト: jonfk/psalmon-xcom
 public void addSoldier(Soldier s)
 {
     if (soldiers.Count < MAX_SOLDIERS && !soldiers.Contains (s))
         soldiers.Add(s);
     else
         Debug.Log("Problem adding soldier to aircraft");
 }
コード例 #6
0
 //Change name of soldier
 public void changeSoldierName(int id, string newName)
 {
     LinkedList<Soldier> tempList = new LinkedList<Soldier>();
     Soldier[] tempArray = new Soldier[afhSoldiers.Count];
     afhSoldiers.CopyTo(tempArray,0);
     bool changed = false;
     for(int i=0; i<tempArray.Length;i++){
         if(tempArray[i].getId ()==id){
             tempArray[i].changeName(newName);
             changed=true;
         }
         tempList.AddLast (tempArray[i]);
     }
     if(!changed){
         tempList = new LinkedList<Soldier>();
         tempArray = new Soldier[curBase.getHiredSoldiers().Count];
         curBase.getHiredSoldiers().CopyTo(tempArray,0);
         for(int i=0; i<tempArray.Length;i++){
             if(tempArray[i].getId ()==id){
                 tempArray[i].changeName(newName);
             }
             tempList.AddLast (tempArray[i]);
         }
         curBase.setHiredSoldiersList(tempList);
     }else{
         afhSoldiers=tempList;
     }
 }
コード例 #7
0
ファイル: SearchForm.cs プロジェクト: kwhershey/SoldierDB
 public SearchForm(SoldiersForm parent)
 {
     detailsSoldier = new Soldier();
     parentForm = parent;
     databaseFile = parent.databaseFile;
     InitializeComponent();
     setupForm();
 }
コード例 #8
0
ファイル: NPCSense2.cs プロジェクト: tchrisbaker/Unity3DRPG
	void Awake() {
		if (gameObject.name != "Sense") 
			Debug.LogError("This NPC Sensor must have the name 'Sense'");
		mySoldierScript = transform.parent.GetComponent<Soldier> ();

		behavior = transform.parent.gameObject.GetComponent<ICode.ICodeBehaviour> ();
	
	}
コード例 #9
0
 public bool containsSoldier(Soldier s)
 {
     foreach (Soldier s2 in soldiers)
     {
         if (s2.getId() == s.getId())
             return true;
     }
     return false;
 }
コード例 #10
0
ファイル: AI.cs プロジェクト: Viure/unity-mobile-demo
	public void UpdateSoldiers(Soldier[] soldiers) {
		this.soldiers = soldiers;
		if(soldiers.Length <= 0) {
			currentSoldier = -1;
		} else if(currentSoldier < soldiers.Length) {
			// some soldiers have died, so reset the current soldier
			currentSoldier = 0;
		}
	}
コード例 #11
0
 public override void OnTakeDamage(Vector3 source, Soldier soldier, Soldier[] team)
 {
     foreach(Soldier tSoldier in team){
         if(tSoldier != soldier && soldier.CurrentTarget == tSoldier.CurrentTarget){
             soldier.IsChecking=true;
             soldier.transform.LookAt(new Vector3 (source.x, soldier.transform.position.y, source.z));
             soldier.CurrentTarget = null;
         }
     }
 }
コード例 #12
0
ファイル: DetailsForm.cs プロジェクト: kwhershey/SoldierDB
 //handles starting from scratch
 public DetailsForm(SoldiersForm parent)
 {
     detailsSoldier = new Soldier();
     newSoldier = true;
     parentForm = parent;
     databaseFile = parent.databaseFile;
     InitializeComponent();
     setupForm();
     loadDefaultInfo();
 }
コード例 #13
0
ファイル: EnemyGeneral.cs プロジェクト: darkcheg/RikiTest
    public override void RemoveSoldier(Soldier deadSoldier)
    {
        base.RemoveSoldier(deadSoldier);
        DeadSoldiersCount++;
        Debug.Log("Dead soldiers: " + DeadSoldiersCount + " stats: " + CurrentLevelConfig.EnemyStats.Count);

        if (GeneralLost != null && DeadSoldiersCount == CurrentLevelConfig.EnemyStats.Count)
        {
            GeneralLost.Invoke();
        }
    }
コード例 #14
0
ファイル: DetailsForm.cs プロジェクト: kwhershey/SoldierDB
        public SoldiersForm parentForm; //so we know what db to edit, and so we can refresh list when done

        #endregion Fields

        #region Constructors

        //handles loading existing and duplicating
        public DetailsForm(Soldier ds , bool ns, SoldiersForm parent)
        {
            detailsSoldier = ds;
            newSoldier = ns;
            parentForm = parent;
            databaseFile = parent.databaseFile;
            InitializeComponent();
            setupForm();
            loadInfo();
            //detailsSoldier = new Soldier();
        }
コード例 #15
0
        public void AddSoldier()
        {
            Soldier s = new Soldier(StateRef);
            Enemies.Add(s);
            AddEntity(s);
            s.Enemies = Targets;

            foreach (var entity in Targets)
            {
                entity.DestroyEvent += s.RemoveEnemy;
            }
        }
コード例 #16
0
 public override void OnHear(GameObject source, Soldier soldier, Soldier[] team)
 {
     if(!source.gameObject.tag.Equals("Fireteam")){
         foreach(Soldier tSoldier in team){
             if(tSoldier != soldier && soldier.CurrentTarget == tSoldier.CurrentTarget){
                 soldier.IsChecking=true;
                 soldier.transform.LookAt(new Vector3(source.transform.position.x,soldier.transform.position.y,source.transform.position.z));
                 soldier.CurrentTarget = null;
             }
         }
     }
 }
コード例 #17
0
ファイル: Soldier.cs プロジェクト: TheSake/Team8_Platformgame
    void Awake()
    {
        if (passedLevel) {
            ammo = PlayerPrefs.GetInt ("Ammoleft");
            passedLevel = false;
            print ("passedlevel is true");
        } else {
            ammo = 5;
            print ("passedlevel is false");
        }

        S = this;
    }
コード例 #18
0
 public static void Main()
 {
    Soldier giJoe = new Soldier(266143);
    PhoneCall aCall = new PhoneCall("212", "344-4188");
    Console.WriteLine(giJoe.ToString());
    giJoe.Reverse();
    Console.WriteLine(giJoe.ToString());
    giJoe.Reverse();
    Console.WriteLine(giJoe.ToString());
    Console.WriteLine(aCall.ToString());
    aCall.Reverse();
    Console.WriteLine(aCall.ToString());
 }
コード例 #19
0
    void OnCollisionEnter2D(Collision2D hit)
    {
        if (hit.gameObject.tag != "Player")
        {
            if (hit.collider.isTrigger == false)
            {
                //Debug.Log ("We hit " + other.name + " and did Test damage.");
                if(transform.gameObject.tag != "Player"){
                    if (hit.collider.tag == "Enemy")
                    {
                        soldier = hit.collider.gameObject.GetComponent<Soldier>();
                        mib = hit.collider.gameObject.GetComponent<MIB>();
                        dozer = hit.collider.gameObject.GetComponent<Bulldozer>();

                        if(soldier != null)
                        {
                            Debug.Log("hit");
                            soldier.DecreaseHealth(Damage);
                        }

                        if(mib != null)
                        {
                            Debug.Log("hit");
                            mib.DecreaseHealth(Damage);
                        }

                        if(dozer != null)
                        {
                            Debug.Log("hit");
                            dozer.DecreaseHealth(Damage);
                        }

                    }
                }

            }
        }

        /*
        else if (other.tag != "Player")
        {
            Destroy (gameObject);
            Debug.Log ("You were hit");
            playerGameObj = GameObject.Find("Player");
            player = playerGameObj.GetComponent<Player>();
            player.DecreaseHealth(Damage);
        }
        */
    }
コード例 #20
0
	public void RespawnSoldier(Soldier soldier) {
		// Set position
		soldier.transform.SetParent(transform, false);
		float newX = Random.Range(spawnArea.xMin, spawnArea.xMax);
		float newY = Random.Range(spawnArea.yMin, spawnArea.yMax);
		soldier.transform.position = new Vector2(newX, newY);

		// Set parameters
		soldier.marchDirection = marchDirection;
		soldier.army = armyType;
		soldier.respawnTime = respawnTime;
		soldier.Health = soldier.maxHealth;
		soldier.State = SoldierState.Marching;
		soldier.mySpawner = this;
	}
コード例 #21
0
ファイル: Player.cs プロジェクト: Viure/unity-mobile-demo
	public void Begin() {
		Soldier[] existingSoldiers = GetComponentsInChildren<Soldier>();
		foreach(Soldier oldSoldier in existingSoldiers) Destroy(oldSoldier);
		SpawnPosition[] points = spawnPoint.GetComponentsInChildren<SpawnPosition>();
		Soldier[] newSoldiers = new Soldier[points.Length];
		for(int i=0; i<points.Length; i++) {
			SpawnPosition position = points[i];
			Soldier newSoldier = (Soldier)Instantiate(soldier, position.transform.position, position.transform.rotation);
			newSoldier.transform.parent = this.transform;
			newSoldier.Begin();
			newSoldiers[i] = newSoldier;
		}
		if(!isHuman) aiController = new AI(this, newSoldiers);
		started = true;
	}
コード例 #22
0
	// Use this for initialization

	void Start () 
	{
		if (gameObject.tag == "Player") 
		{
			playerControlled = true;
			health = RPGelements.instance.endingHealth;
			shootScript = transform.FindChild("Gun").GetComponentInChildren<Shooting>();
		}
		if(!playerControlled)
		{
			soldierScript = GetComponent<Soldier>();
		}
		audioSource = GetComponent<AudioSource> ();

		radarSig.SetActive (true);
	}
コード例 #23
0
 public override void OnSight(RaycastHit[] hits, Soldier soldier, Soldier[] team)
 {
     if(soldier.CurrentTarget == null){
         foreach(RaycastHit hit in hits){
             if(hit.transform.gameObject.tag.Equals("Terrorist")){
                 soldier.CurrentTarget = hit.transform.gameObject;
                 break;
             }
         }
     }else{
         foreach(Soldier tsol in team){
             if(tsol != soldier && tsol.CurrentTarget == null && !tsol.IsChecking){
                 tsol.transform.LookAt(soldier.CurrentTarget.transform.position);
             }
         }
     }
 }
コード例 #24
0
    public static void initialize()
    {
        LinkedList<Soldier> soldiersLinked = currentBase.getHiredSoldiers();
        // Copy soldiers to array because linked lists are shit
        soldiers = new Soldier[soldiersLinked.Count];
        soldiersLinked.CopyTo(soldiers, 0);

        if (soldiers.Length <= 0) {
            currentSoldier = null;
            soldierIndex = -1;
        }
        else {
            currentSoldier = soldiers[0];
            soldierIndex = 0;
        }

        weapons = currentBase.getPurchasedItems();
    }
コード例 #25
0
    //class NetData
    //{
    //    public NetData(int p1, int p2, double pTimestamp)
    //    {
    //        part1 = p1;
    //        part2 = p2;
    //        timestamp = pTimestamp;
    //    }
    //    public int part1;
    //    public int part2;
    //    public double timestamp;
    //}
    //System.Collections.Generic.Queue<NetData> netDataQueue
    //    = new System.Collections.Generic.Queue<NetData>();
    void Awake()
    {
        if (!soldier)
            soldier = gameObject.GetComponentInChildren<Soldier>();
        //if(!soldier)
        //	soldier=gameObject.GetComponentInChildren<Soldier>().getCharacter();
        //character = gameObject.GetComponentInChildren<Soldier>().getCharacter();
        soldierModelSmoothMove = GetComponent<SoldierModelSmoothMove>();
        character = soldier.getCharacter();
        actionCommandControl = gameObject.GetComponentInChildren<ActionCommandControl>();
        if (!life)
            life = gameObject.GetComponentInChildren<Life>();

        if (Network.isClient)
        {
            Destroy(soldier.GetComponentInChildren<SoldierAI>());
            //disappearTimer = gameObject.AddComponent<zzTimer>();
            //disappearTimer.setInterval(disappearTime);
            //disappearTimer.addImpFunction(disappear);
            //life.addDieCallback((x) => disappearTimer.enabled = false);
            if (!networkDisappear)
            {
                networkDisappear = gameObject.AddComponent<NetworkDisappear>();
                networkDisappear.life = life;
                networkDisappear.disenableWhenDisappear = new MonoBehaviour[] { soldier };
                networkDisappear.addDisappearEventReceiver(showDisappear);
            }
        }
        //if(disenableWhenDisappear ==null||disenableWhenDisappear.Length==0)
        //{
        //    disenableWhenDisappear
        //}
        //if( !zzCreatorUtility.isMine(gameObject.networkView ) )
        //{
        //	Destroy(soldier.GetComponentInChildren<SoldierAI>());
        //}
        //if(!soldier)
        //	Debug.LogError(gameObject.name);
    }
コード例 #26
0
 public NormalState(Soldier soldier) : base(soldier)
 {
     this.soldier = soldier;
     Name         = "Normale";
     this.soldier.CurrentRulesOfEngagement1 = RulesOfEngagement.Defensive;
 }
コード例 #27
0
 public SoldierEffectSystem(Soldier _soldier)
 {
     soldier = _soldier;
 }
コード例 #28
0
 public HiddenState(Soldier soldier) : base(soldier)
 {
     this.soldier = soldier;
     Name         = "Hidden";
 }
コード例 #29
0
 public ConfidentState(Soldier soldier) : base(soldier)
 {
     this.soldier = soldier;
     Name         = "Confident";
     this.soldier.CurrentRulesOfEngagement1 = RulesOfEngagement.Attack;
 }
コード例 #30
0
    /// <summary>
    /// Creates and initialises the behaviour tree.
    /// It is advised to consult the BT diagram rather than consult the code
    /// for the general structure of the tree.
    /// </summary>
    /// <returns>The root node.</returns>
    Node InitUnitAI()
    {
        Leaf query_enemies_remain = new Leaf(new System.Func <bool>(() => {
            return(0 != CountUnitsOfTeam(GetOpposingTeam()));
        }));

        Leaf stop_moving = new Leaf(new System.Func <bool>(() => {
            mov.moving = false;
            return(true);
        }));

        Leaf query_locally_outnumbered = new Leaf(new System.Func <bool>(() => {
            CountUnitsClose();
            return(enemies_close > friendlies_close);
        }));

        Leaf query_in_range = new Leaf(new System.Func <bool>(() => {
            enemies_in_range.Clear();

            Collider[] hitColliders = Physics.OverlapSphere(this.transform.position, rangedWeapon.range);

            foreach (Collider col in hitColliders)
            {
                if (col.gameObject.tag.Equals("Team_" + GetOpposingTeam().ToString()))
                {
                    enemies_in_range.Add(col.gameObject.GetComponent <Unit>());
                }
            }
            //Debug.Log (enemies_in_range.Count + " enemies found to be in range!");
            return(enemies_in_range.Count >= 1);
        }));

        Leaf signal_attack = new Leaf(new System.Func <bool>(() => {
            foreach (GameObject s_obj in soldiersInUnit)
            {
                Soldier s        = s_obj.GetComponent <Soldier>();
                s.attacking_mode = true;
            }

            return(true);
        }));

        Leaf signal_ceasefire = new Leaf(new System.Func <bool>(() => {
            foreach (GameObject s_obj in soldiersInUnit)
            {
                Soldier s        = s_obj.GetComponent <Soldier>();
                s.attacking_mode = false;
            }

            return(true);
        }));

        Leaf target_highest_influence = new Leaf(new System.Func <bool>(() => {
            target = surroundings[local_influence_minus_self.ToList().IndexOf(local_influence_minus_self.Max())];
            return(true);
        }));

        Leaf target_highest_vulnerability_in_formation = new Leaf(new System.Func <bool>(() => {
            target = surroundings[local_formation_vuln_values.ToList().IndexOf(local_formation_vuln_values.Max())];
            return(true);
        }));

        Leaf eliminate_collision_vectors = new Leaf(new System.Func <bool>(() => {
            RaycastHit hitInfo;
            if (Physics.Raycast(target, target - this.transform.position, out hitInfo, Vector3.Distance(target, this.transform.position)))
            {
                //Debug.Log (hitInfo.collider.gameObject.name);
                if (hitInfo.collider.gameObject.tag.Equals("Impassable"))
                {
                    target = this.transform.position;
                }
                else
                if (hitInfo.collider.gameObject.tag.Equals("Team_A") || hitInfo.collider.gameObject.tag.Equals("Team_B"))
                {
                    if (!collider.gameObject.GetComponent <Unit>().Equals(this))
                    {
                        //Debug.Log("running into friend");
                        target = this.transform.position;
                    }
                }
            }

            return(true);
        }));

        Leaf pathfind_around_obstacles = new Leaf(new System.Func <bool>(() => {
            PotentialFieldPathfind();
            return(true);
        }));


        /*
         * Leaf adjust_speed_cohesion = new Leaf(new System.Func<bool>( () => {
         *      // change speed as a function of how much we are distancing ourselves from allies
         *      int index = surroundings.ToList().FindIndex(new System.Predicate<Vector3>( (Vector3 v) => {return v.Equals(target);}));
         *      int opposite_index = (surroundings.Length-1) - index;
         *
         *
         *      //float scale = local_influences_values[opposite_index] - local_influences_values[index];
         *      mov.ChangeSpeed(1 - 2 * scale);
         *      return true;
         * }));
         */

        Leaf set_direction = new Leaf(new System.Func <bool>(() => {
            mov.moving = true;
            mov.SetTarget(target);
            return(true);
        }));

        SequenceNode no_enemies_tree = new SequenceNode(new List <Node> {
            new NotNode(query_enemies_remain),
            stop_moving
        });

        SequenceNode outnumbered_tree = new SequenceNode(new List <Node> {
            query_locally_outnumbered,
            target_highest_influence
        });

        SequenceNode not_outnumbered_tree = new SequenceNode(new List <Node> {
            target_highest_vulnerability_in_formation
        });

        SelectorNode target_setting_tree = new SelectorNode(new List <Node> {
            outnumbered_tree,
            not_outnumbered_tree
        });


        SequenceNode enemies_attack_tree = new SequenceNode(new List <Node> {
            query_in_range,
            signal_attack
        });

        SequenceNode enemies_movement_tree = new SequenceNode(new List <Node> {
            signal_ceasefire,
            target_setting_tree,
            //adjust_speed_cohesion,
            eliminate_collision_vectors,
            pathfind_around_obstacles,
            set_direction
        });

        SelectorNode enemies_tree = new SelectorNode(new List <Node> {
            enemies_attack_tree,
            enemies_movement_tree
        });

        SelectorNode root = new SelectorNode(new List <Node> {
            no_enemies_tree,
            enemies_tree
        });


        return(root);
    }
コード例 #31
0
 public SoldierAttackState(Soldier soldier)
 {
     mSoldier = soldier;
 }
コード例 #32
0
 public SafetyState(Soldier soldier) : base(soldier)
 {
     this.soldier = soldier;
     Name         = "Safety";
 }
コード例 #33
0
 public DyingState(Soldier soldier) : base(soldier)
 {
     this.soldier = soldier;
     Name         = "Dying";
     this.soldier.CurrentRulesOfEngagement1 = RulesOfEngagement.FeelNoPain;
 }
コード例 #34
0
 public DeadState(Soldier soldier) : base(soldier)
 {
     this.soldier = soldier;
     Name         = "Dead";
 }
コード例 #35
0
        public static async Task InitializeAsync(QMContext context, IServiceProvider serviceProvider)
        {
            context.Database.Migrate();
            // context.Database.EnsureCreated();

            UsersRolesDB userContext = serviceProvider.GetRequiredService <UsersRolesDB>();

            userContext.Database.Migrate();

            // populate the officers
            if (!context.Officers.Any())
            {
                Officer[] officers = new Officer[]
                {
                    // admins/generals/great generals
                    // 0 = king, 1 = chancellor, 2 = great general, 3 = general
                    new Officer {
                        FirstName = "Sei", LastName = "Ei", Rank = 0, Years = 9, Status = "Alive", Email = "*****@*****.**"
                    },

                    // high commanders 1000-5000
                    new Officer {
                        FirstName = "Shin", LastName = "", Rank = 5000, Years = 9, Status = "Alive", Email = "*****@*****.**"
                    },
                    new Officer {
                        FirstName = "Hon", LastName = "Ou", Rank = 5000, Years = 9, Status = "Alive", Email = "*****@*****.**"
                    },
                    new Officer {
                        FirstName = "Ten", LastName = "Mou", Rank = 5000, Years = 9, Status = "Alive", Email = "*****@*****.**"
                    },
                    new Officer {
                        FirstName = "Renka", LastName = "Shou", Rank = 5000, Years = 9, Status = "Alive", Email = "*****@*****.**"
                    },
                    new Officer {
                        FirstName = "Bi", LastName = "Kaku", Rank = 1000, Years = 2, Status = "Deceased", Email = "*****@*****.**"
                    },

                    // commanders 100-500
                    new Officer {
                        FirstName = "Fun", LastName = "Sa", Rank = 100, Years = 9, Status = "Alive", Email = "*****@*****.**"
                    },
                    new Officer {
                        FirstName = "Un", LastName = "Sen", Rank = 100, Years = 9, Status = "Alive", Email = "*****@*****.**"
                    },
                    new Officer {
                        FirstName = "Shun", LastName = "Ken", Rank = 500, Years = 13, Status = "Alive", Email = "*****@*****.**"
                    },
                    new Officer {
                        FirstName = "Shin", LastName = "Ryou", Rank = 300, Years = 6, Status = "Deceased", Email = "*****@*****.**"
                    },
                    new Officer {
                        FirstName = "Toukai", LastName = "Ki", Rank = 300, Years = 4, Status = "Deceased", Email = "*****@*****.**"
                    }
                };
                foreach (Officer o in officers)
                {
                    context.Officers.Add(o);
                }
            }
            context.SaveChanges();

            // populate the units
            if (!context.Units.Any())
            {
                Unit[] units = new Unit[]
                {
                    new Unit {
                        Name = "Hi SHin Unit", Numbers = 8000, OfficerID = 24
                    },
                    new Unit {
                        Name = "Gyoku Hou Unit", Numbers = 5000, OfficerID = 25
                    },
                    new Unit {
                        Name = "Gaku Ka Unit", Numbers = 5000, OfficerID = 26
                    },
                    new Unit {
                        Name = "Sou Ou Unit", Numbers = 5000, OfficerID = 27
                    },
                    new Unit {
                        Name = "Kaku Bi Unit", Numbers = 1000, OfficerID = 28
                    },

                    new Unit {
                        Name = "Red Leaf Tribe", Numbers = 100, OfficerID = 29
                    },
                    new Unit {
                        Name = "Yellow Bark Tribe", Numbers = 100, OfficerID = 30
                    },
                    new Unit {
                        Name = "Kin Gou Troops", Numbers = 500, OfficerID = 31
                    },
                    new Unit {
                        Name = "Chou Archers", Numbers = 300, OfficerID = 32
                    },
                    new Unit {
                        Name = "Ki Toukai Troops", Numbers = 300, OfficerID = 33
                    }
                };
                foreach (Unit u in units)
                {
                    context.Units.Add(u);
                }
            }
            context.SaveChanges();

            // Populate the soldiers
            if (!context.Soldiers.Any())
            {
                Soldier[] soldiers = new Soldier[]
                {
                    new Soldier {
                        LastName = "", FirstName = "Kei", Age = 28, Birthplace = "Jyouto Village", Status = "Alive", UnitID = 11
                    },
                    new Soldier {
                        LastName = "", FirstName = "Kou", Age = 23, Birthplace = "Jyouto Village", Status = "Alive", UnitID = 12
                    },
                    new Soldier {
                        LastName = "Sou", FirstName = "Man", Age = 27, Birthplace = "?", Status = "Alive", UnitID = 13
                    },
                    new Soldier {
                        LastName = "Ro", FirstName = "Han", Age = 26, Birthplace = "?", Status = "Alive", UnitID = 14
                    },
                    new Soldier {
                        LastName = "", FirstName = "Sou'an", Age = 28, Birthplace = "?", Status = "Alive", UnitID = 15
                    },

                    new Soldier {
                        LastName = "Kou", FirstName = "Moku", Age = 33, Birthplace = "?", Status = "Alive", UnitID = 16
                    },
                    new Soldier {
                        LastName = "Go", FirstName = "Ei", Age = 28, Birthplace = "?", Status = "Deceased", UnitID = 17
                    },
                    new Soldier {
                        LastName = "Kai", FirstName = "Gen", Age = 26, Birthplace = "?", Status = "Deceased", UnitID = 18
                    },
                    new Soldier {
                        LastName = "Bai", FirstName = "Da", Age = 32, Birthplace = "?", Status = "Alive", UnitID = 19
                    },
                    new Soldier {
                        LastName = "Huo", FirstName = "Ying", Age = 39, Birthplace = "?", Status = "Alive", UnitID = 20
                    },

                    new Soldier {
                        LastName = "Kou", FirstName = "Moku", Age = 33, Birthplace = "?", Status = "Alive", UnitID = 11
                    },
                    new Soldier {
                        LastName = "Go", FirstName = "Ei", Age = 28, Birthplace = "?", Status = "Deceased", UnitID = 12
                    },
                    new Soldier {
                        LastName = "Kai", FirstName = "Gen", Age = 26, Birthplace = "?", Status = "Deceased", UnitID = 13
                    },
                    new Soldier {
                        LastName = "Bai", FirstName = "Da", Age = 32, Birthplace = "?", Status = "Alive", UnitID = 14
                    },
                    new Soldier {
                        LastName = "Huo", FirstName = "Ying", Age = 39, Birthplace = "?", Status = "Alive", UnitID = 15
                    },

                    new Soldier {
                        LastName = "Man", FirstName = "Jo", Age = 31, Birthplace = "?", Status = "Alive", UnitID = 17
                    },
                    new Soldier {
                        LastName = "Man", FirstName = "Jo", Age = 31, Birthplace = "?", Status = "Alive", UnitID = 11
                    }
                };
                foreach (Soldier s in soldiers)
                {
                    context.Soldiers.Add(s);
                }
            }
            context.SaveChanges();

            var unit    = from u in context.Units select u;
            var soldier = from s in context.Soldiers select s;

            foreach (var u in unit)
            {
                foreach (var s in soldier)
                {
                    if (s.UnitID == u.UnitID)
                    {
                        s.COID = u.OfficerID;
                        context.Update(s);
                        break;
                    }
                }
            }

            // populate achievements
            if (!context.Achievements.Any())
            {
                Achievement[] achieves = new Achievement[]
                {
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 16
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 16
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 16
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 16
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 16
                    },

                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 2
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 2
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 2
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 2
                    },

                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 3
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 3
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 3
                    },

                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 4
                    },

                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 5
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 5
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 5
                    },

                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 6
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 6
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 6
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 6
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 6
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 6
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 6
                    },

                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 7
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 7
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 7
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 7
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 7
                    },

                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 13
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 13
                    },

                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 9
                    },

                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 10
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 10
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 10
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 10
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 10
                    },

                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 14
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 14
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 14
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 14
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 14
                    },
                    new Achievement {
                        Description = "desc", Battle = "bttl", Reward = "rwrd", SolderID = 14
                    }
                };
                foreach (Achievement a in achieves)
                {
                    context.Achievements.Add(a);
                }
                context.SaveChanges();
            }

            // assigning the soldier to their CO
            if (!context.Assignments.Any())
            {
                Assignment[] assigns = new Assignment[]
                {
                    new Assignment {
                        SoldierID = 16, OfficerID = 24
                    },
                    new Assignment {
                        SoldierID = 2, OfficerID = 24
                    },
                    new Assignment {
                        SoldierID = 3, OfficerID = 25
                    },
                    new Assignment {
                        SoldierID = 4, OfficerID = 25
                    },
                    new Assignment {
                        SoldierID = 5, OfficerID = 25
                    },
                    new Assignment {
                        SoldierID = 6, OfficerID = 26
                    },
                    new Assignment {
                        SoldierID = 7, OfficerID = 26
                    },
                    new Assignment {
                        SoldierID = 13, OfficerID = 26
                    },
                    new Assignment {
                        SoldierID = 9, OfficerID = 27
                    },
                    new Assignment {
                        SoldierID = 10, OfficerID = 27
                    },
                    new Assignment {
                        SoldierID = 14, OfficerID = 28
                    },

                    new Assignment {
                        SoldierID = 16, OfficerID = 29
                    },
                    new Assignment {
                        SoldierID = 2, OfficerID = 29
                    },
                    new Assignment {
                        SoldierID = 3, OfficerID = 30
                    },
                    new Assignment {
                        SoldierID = 4, OfficerID = 30
                    },
                    new Assignment {
                        SoldierID = 5, OfficerID = 30
                    },
                    new Assignment {
                        SoldierID = 6, OfficerID = 31
                    },
                    new Assignment {
                        SoldierID = 7, OfficerID = 31
                    },
                    new Assignment {
                        SoldierID = 13, OfficerID = 31
                    },
                    new Assignment {
                        SoldierID = 9, OfficerID = 32
                    },
                    new Assignment {
                        SoldierID = 10, OfficerID = 32
                    },
                    new Assignment {
                        SoldierID = 14, OfficerID = 33
                    }
                };
                foreach (Assignment a in assigns)
                {
                    context.Assignments.Add(a);
                }
            }
            context.SaveChanges();

            // create the users of the website
            RoleManager <IdentityRole> rm = serviceProvider.GetRequiredService <RoleManager <IdentityRole> >();

            string[]       roleNames = { "Admin", "High Commander", "Commander" };
            IdentityResult result;

            foreach (string s in roleNames)
            {
                // check if the role exists first before adding it
                bool RExists = await rm.RoleExistsAsync(s);

                if (!RExists)
                {
                    // there is no role in the database so add it
                    result = await rm.CreateAsync(new IdentityRole(s));
                }
            }

            // get a user manager
            var userManager = serviceProvider.GetRequiredService <UserManager <IdentityUser> >();
            // create an admin
            IdentityUser admin = new IdentityUser {
                UserName = "******", Email = "*****@*****.**", EmailConfirmed = true
            };
            // check if that admin exists
            IdentityUser userExists = await userManager.FindByEmailAsync("*****@*****.**");

            if (userExists == null)
            {
                // if it doesn't, add it to the database with the following password
                IdentityResult create = await userManager.CreateAsync(admin, "asd123ASD!@#");

                if (create.Succeeded)
                {
                    await userManager.AddToRoleAsync(admin, "Admin");
                }
            }

            // now, create High Commanders
            IdentityUser[] hcs = new IdentityUser[]
            {
                new IdentityUser {
                    UserName = "******", Email = "*****@*****.**", EmailConfirmed = true
                },
                new IdentityUser {
                    UserName = "******", Email = "*****@*****.**", EmailConfirmed = true
                },
                new IdentityUser {
                    UserName = "******", Email = "*****@*****.**", EmailConfirmed = true
                },
                new IdentityUser {
                    UserName = "******", Email = "*****@*****.**", EmailConfirmed = true
                },
                new IdentityUser {
                    UserName = "******", Email = "*****@*****.**", EmailConfirmed = true
                }
            };
            // do the same thing for High Commanders as admin - find if they exist first before adding them
            foreach (IdentityUser h in hcs)
            {
                userExists = await userManager.FindByEmailAsync(h.Email);

                if (userExists == null)
                {
                    IdentityResult create = await userManager.CreateAsync(h, "asd123ASD!@#");

                    if (create.Succeeded)
                    {
                        await userManager.AddToRoleAsync(h, "High Commander");
                    }
                }
            }

            // onto the commanders!
            IdentityUser[] cs = new IdentityUser[]
            {
                new IdentityUser {
                    UserName = "******", Email = "*****@*****.**", EmailConfirmed = true
                },
                new IdentityUser {
                    UserName = "******", Email = "*****@*****.**", EmailConfirmed = true
                },
                new IdentityUser {
                    UserName = "******", Email = "*****@*****.**", EmailConfirmed = true
                },
                new IdentityUser {
                    UserName = "******", Email = "*****@*****.**", EmailConfirmed = true
                },
                new IdentityUser {
                    UserName = "******", Email = "*****@*****.**", EmailConfirmed = true
                }
            };
            foreach (IdentityUser c in cs)
            {
                userExists = await userManager.FindByEmailAsync(c.Email);

                if (userExists == null)
                {
                    IdentityResult create = await userManager.CreateAsync(c, "asd123ASD!@#");

                    if (create.Succeeded)
                    {
                        await userManager.AddToRoleAsync(c, "Commander");
                    }
                }
            }

            var users      = from u in userContext.Users select u;
            var commanders = from o in context.Officers select o;

            foreach (var u in users)
            {
                foreach (var o in commanders)
                {
                    if (o.Email == u.Email)
                    {
                        o.UserID = u.Id;
                        context.Update(o);
                        break;
                    }
                }
            }

            context.SaveChanges();
            userContext.SaveChanges();
        }
コード例 #36
0
ファイル: TwoHandsSword.cs プロジェクト: SimphonX/ForGlory
 private void DamageTo(Soldier sol, PlayerController player)
 {
     sol.TakeDamage(dmg + player.GetDamage());
 }
コード例 #37
0
ファイル: Soldier.cs プロジェクト: PatrykSer/RTS-demo
 void Command(Soldier soldierToFollow)
 {
     target = soldierToFollow.transform;
     task   = Task.follow;
 }
コード例 #38
0
ファイル: CaptureFourthBase.cs プロジェクト: SK0P3iN/IA-GOAP
 private void Awake()
 {
     _soldier = GetComponent <Soldier>();
     _tm      = FindObjectOfType <TeamManager>();
     AddEffect("Captured", true);
 }
コード例 #39
0
    // --- Metoda rzucajaca ofensywny spell na gracza/y
    //public void OrderESpellCast(EnemySpellInfo _espell)
    //{
    //spellQueue.AddSpell(_espell);
    //}

    public void CastHostileSpell(EnemySpellInfo _espell)
    {
        if (_espell.damagetype == DAMAGETYPE.SUMMON)
        {
            myEnemy.SpawnMob(_espell.summon);
        }
        else
        {
            troopsHandler.SortSoldiers();

            int tarAmount = _espell.targetsAmount;

            if (_espell.ID == HOSTILESPELL.BRUTAL_BITE)
            {
                tarAmount += myEnemy.val1;
            }
            if (_espell.ID == HOSTILESPELL.MIND_BOMB)
            {
                tarAmount += myEnemy.val1++;
            }
            if (_espell.ID == HOSTILESPELL.ROAR_OF_TERROR)
            {
                //myEnemy.Pause(180);
                //spellQueue.Pause(180);
            }

            Soldier[] excluded = new Soldier[16];

            if (_espell.misdirectable)
            {
                Soldier[] tank    = troopsHandler.getTanks();
                int       _amount = Mathf.Min(tarAmount, troopsHandler.tanksAmount);

                tarAmount -= _amount;

                for (int i = 0; i < _amount; i++)
                {
                    tank[i].HostileCastFinished(_espell);
                    excluded[i] = tank[i];
                }
            }

            if (tarAmount > 0)
            {
                int realTargetsAmount = 0;

                Soldier[] targets = new Soldier[tarAmount];

                if (_espell.misdirectable)
                {
                    targets = troopsHandler.GetTargets(_espell.targetType, tarAmount, excluded).Soldier;
                }
                else
                {
                    targets = troopsHandler.GetTargets(_espell.targetType, tarAmount).Soldier;
                }

                for (int i = 0; i < tarAmount; i++)
                {
                    if (targets[i] != null)
                    {
                        realTargetsAmount += 1;
                    }
                }

                for (int i = 0; i < tarAmount; i++)
                {
                    if (targets[i] != null)
                    {
                        if (!targets[i].isDead)
                        {
                            targets[i].HostileCastFinished(_espell, realTargetsAmount);
                        }
                    }
                }
            }
        }
    }
コード例 #40
0
 public void AddBeaconedTarget(Soldier sol)
 {
     beaconedTarget[beaconCount] = sol;
     beaconCount++;
 }
コード例 #41
0
 /// <summary>
 /// Creates a new melee attack action.
 /// </summary>
 /// <param name="target">The hit Soldier</param>
 /// <param name="soldier">The soldier doing the hitting.</param>
 public BasicMeleeAttackAction(Soldier target, Soldier soldier)
 {
     this.target = target;
     this.user   = soldier;
     PerformMeleeAttack();
 }
コード例 #42
0
 public RoutingStateforForest(Soldier soldier) : base(soldier)
 {
     this.soldier = soldier;
     Name         = "Routing for forest";
 }
コード例 #43
0
ファイル: PlayerCamera.cs プロジェクト: Laharnar/Xcomzy
 internal static void LockOn(Soldier soldier)
 {
     //throw new NotImplementedException();
 }
コード例 #44
0
 public RoutingForTowerState(Soldier soldier) : base(soldier)
 {
     this.soldier = soldier;
     Name         = "Routing for Tower";
 }
コード例 #45
0
ファイル: MainPage.xaml.cs プロジェクト: GalGurGurevich/RPS
        private void DrawBoard()                                                                      //Draw and place type if pieces
        {
            txtCurrentPlayer.Text       = $"It's currently {_game._currentPlayer.Name}'s turn";
            txtCurrentPlayer.Foreground = new SolidColorBrush(_game._currentPlayer.Color);

            for (int i = 0; i < _game._gameBoard.GetLength(0); i++)
            {
                for (int j = 0; j < _game._gameBoard.GetLength(1); j++)
                {
                    _buttons[i, j].Background  = new SolidColorBrush(i % 2 == j % 2 ? Colors.Black : Colors.White);
                    _buttons[i, j].BorderBrush = null;
                    _buttons[i, j].Opacity     = 0.75;

                    if (_selectedPiece != null && _selectedPiece.IsMovable)
                    {
                        int offsetY = Math.Abs(_selectedPiece.Position.Row - i);
                        int offsetX = Math.Abs(_selectedPiece.Position.Column - j);
                        if (offsetX + offsetY == 1)
                        {
                            _buttons[i, j].Opacity = 1;
                            if (_game._gameBoard[i, j] == null || _game._gameBoard[i, j].Owner != _selectedPiece.Owner)
                            {
                                _buttons[i, j].BorderBrush = new SolidColorBrush(Colors.Yellow);
                            }
                        }
                    }

                    GamePiece piece = _game._gameBoard[i, j];
                    if (piece == null)
                    {
                        _buttons[i, j].Content = null;
                    }
                    else
                    {
                        _buttons[i, j].Background = new SolidColorBrush(piece.Owner.Color);
                        if (piece == _selectedPiece)
                        {
                            _buttons[i, j].BorderBrush = new SolidColorBrush(Colors.LimeGreen);
                        }
                        if (piece.Owner == _game._currentPlayer)
                        {
                            _buttons[i, j].Opacity = 1;
                        }

                        if (piece is Trap)
                        {
                            _buttons[i, j].Content = CreateImage("Trap");
                        }
                        else if (piece is Flag)
                        {
                            _buttons[i, j].Content = CreateImage("Flag");
                        }
                        else
                        {
                            Soldier soldier = (Soldier)piece;
                            if (soldier.Weapon == Weapon.Rock)
                            {
                                _buttons[i, j].Content = CreateImage("Rock");
                            }
                            else if (soldier.Weapon == Weapon.Paper)
                            {
                                _buttons[i, j].Content = CreateImage("Paper");
                            }
                            else if (soldier.Weapon == Weapon.Scissors)
                            {
                                _buttons[i, j].Content = CreateImage("Scissors");
                            }
                        }
                    }
                }
            }
            if (_game._isGameOver)
            {
                new MessageDialog(_game._winner == null ? "It's a Tie!" : $"{_game._winner.Name} Won!", "Game Over!").ShowAsync();
            }
        }
コード例 #46
0
ファイル: GameLogic.cs プロジェクト: Gatlink/CommandoRush
 public void StartMovingSoldier(Soldier soldier, GameObject cover, bool cameraFollow = true)
 {
     _camera.Target = soldier.transform;
     soldier.StartMoving(cover);
 }
コード例 #47
0
 public override void OnCast(Caster who, Soldier target)
 {
     target.CastFinished(this, who);
 }
コード例 #48
0
 public async Task CreateSoldier(Soldier soldier)
 {
     await _soldierRepository.Create(soldier);
 }
コード例 #49
0
 private void Awake()
 {
     soldier     = GetComponent <Soldier>();
     soldierPath = GetComponent <SoldierPath>();
 }
コード例 #50
0
 public Chasing(Soldier _soldier, Commando commando):base(_soldier){
     this.commando = commando;
 }
コード例 #51
0
ファイル: Aircraft.cs プロジェクト: jonfk/psalmon-xcom
 public bool contains(Soldier s)
 {
     return soldiers.Contains (s);
 }
コード例 #52
0
 public static void Attack(Soldier s)
 {
     s.DescribeArmor();
     s.ExecuteAttack();
     Console.WriteLine();
 }
コード例 #53
0
 public void plusTarget(Soldier target)
 {
     targets.Add(target);
 }
コード例 #54
0
 protected State(Soldier soldier)
 {
     this.soldier = soldier;
 }
コード例 #55
0
 public void Select(Soldier selected)
 {
     aiMarker.transform.position = new Vector3(selected.transform.position.x, aiMarker.transform.position.y, selected.transform.position.z);
 }
コード例 #56
0
 public void minusTarget(Soldier target)
 {
     targets.Remove(target);
 }
コード例 #57
0
ファイル: Aircraft.cs プロジェクト: jonfk/psalmon-xcom
 public void removeSoldier(Soldier s)
 {
     if (soldiers.Contains (s))
         soldiers.Remove(s);
     else
         Debug.Log("Problem removing soldier from aircraft: soldier not in aircraft");
 }
コード例 #58
0
ファイル: Program.cs プロジェクト: iTsvetelin/InterfacesExerc
        static void Main(string[] args)
        {
            string          input;
            IList <Soldier> allPrivates = new List <Soldier>();
            IList <Soldier> allSoldiers = new List <Soldier>();

            while ((input = Console.ReadLine()) != "End")
            {
                var    inputTokens  = input.Split(' ');
                string militaryType = inputTokens[0];
                string id           = inputTokens[1];
                string firstName    = inputTokens[2];
                string lastName     = inputTokens[3];
                if (militaryType == "Spy")
                {
                    var     codenumber = int.Parse(inputTokens[4]);
                    Soldier soldierSpy = new Spy(id, firstName, lastName, codenumber);
                    allSoldiers.Add(soldierSpy);
                    continue;
                }
                decimal salary  = decimal.Parse(inputTokens[4]);
                Soldier soldier = null;
                switch (militaryType)
                {
                case "Private":
                    soldier = new Private(id, firstName, lastName, salary);
                    allPrivates.Add(soldier);
                    break;

                case "LeutenantGeneral":
                    IEnumerable <Soldier> privates = ParsePrivates(inputTokens, allPrivates);
                    soldier = new LeutenantGeneral(id, firstName, lastName, salary, privates);
                    break;

                case "Engineer":
                    Enum.TryParse(inputTokens[5], out Corps corps);
                    if (corps == Corps.None)
                    {
                        continue;
                    }
                    IEnumerable <Repair> repairs = ParseRepairs(inputTokens);
                    soldier = new Engineer(id, firstName, lastName, salary, corps, repairs);
                    break;

                case "Commando":
                    Enum.TryParse(inputTokens[5], out corps);
                    if (corps == Corps.None)
                    {
                        continue;
                    }
                    IEnumerable <Mission> missions = ParseMissions(inputTokens);
                    soldier = new Commando(id, firstName, lastName, salary, corps, missions);
                    break;
                }
                allSoldiers.Add(soldier);
            }
            foreach (var soldier in allSoldiers)
            {
                Console.WriteLine(soldier);
            }
        }
コード例 #59
0
ファイル: Sacrifice.cs プロジェクト: lesickimar/Scripts
 public override void OnCastFinished(Caster who, Soldier target, int minval = 0, int maxval = 0)
 {
     Spell.Cast(this, target, who);
 }
コード例 #60
0
 // Token: 0x060022FE RID: 8958 RVA: 0x0040CAE4 File Offset: 0x0040ACE4
 public override void Enter(Soldier sam)
 {
     sam.DyingValue = 0f;
 }