コード例 #1
0
ファイル: UI_BattleGroup.cs プロジェクト: LRih/Tetrix-Battle
 //#----------------------------------------------------------
 //# * Initialize
 //#----------------------------------------------------------
 public UI_BattleGroup(Game_Group group, int fieldX, int fieldY)
 {
     _group = group;
     FIELD_X = fieldX;
     FIELD_Y = fieldY;
     Index = MinIndex;
 }
コード例 #2
0
ファイル: Game_Field.cs プロジェクト: LRih/Tetrix-Battle
 //#----------------------------------------------------------
 //# * Can Add Reinforcements
 //#----------------------------------------------------------
 public bool CanAddReinforcements(Game_Group group, int row)
 {
     foreach (int gridY in group.RowsWithUnits)
     {
         if (IsStartingRowOccupied(row + gridY, group.IsPlayerOwned)) return false;
     }
     return true;
 }
コード例 #3
0
ファイル: Game_Field.cs プロジェクト: LRih/Tetrix-Battle
 //#======================================================================================
 //#----------------------------------------------------------
 //# * Add Reinforcements
 //#----------------------------------------------------------
 public void AddReinforcements(Game_Group group, int row)
 {
     // iterate through units in group and add each one
     foreach (Point2DEx pt in group.GetUnitPts())
     {
         if (group.UnitIDs[pt.X, pt.Y] == -1) continue; // if grid doesn't contain a unit, next
         int offsetX = (group.IsPlayerOwned ? REINFORCEMENT_WIDTH - 1 - group.RightMostUnit + pt.X : ENEMY_REINFORCEMENT_START_X - group.LeftMostUnit + pt.X);
         int offsetY = row + pt.Y;
         _units[offsetX, offsetY] = group.CreateBattleUnit(pt.X, pt.Y);
     }
 }
コード例 #4
0
ファイル: Game_Enemy.cs プロジェクト: LRih/Tetrix-Battle
 //#----------------------------------------------------------
 //# * Can Send Group
 //#----------------------------------------------------------
 public override bool CanSendGroup(Game_Group group, int row)
 {
     if (_tick < _tickSendScript[_currentScript]) return false; // if not time yet
     if (!base.CanSendGroup(group, row)) return false;
     return true;
 }
コード例 #5
0
ファイル: Game_Commander.cs プロジェクト: LRih/Tetrix-Battle
 //#----------------------------------------------------------
 //# * Can Send Group
 //#----------------------------------------------------------
 public virtual bool CanSendGroup(Game_Group group, int row)
 {
     if (group.PointValue > ReinforcementPts) return false; // enough points
     if (!_field.CanAddReinforcements(group, row)) return false; // can place on field
     return true;
 }
コード例 #6
0
ファイル: Game_Commander.cs プロジェクト: LRih/Tetrix-Battle
 //#----------------------------------------------------------
 //# * Send Group
 //#----------------------------------------------------------
 public void SendGroup(Game_Group group, int row)
 {
     _field.AddReinforcements(group, row);
     ReinforcementPts -= group.PointValue;
 }
コード例 #7
0
ファイル: Game_BattleUnit.cs プロジェクト: LRih/Tetrix-Battle
 //#----------------------------------------------------------
 //# * Initialize
 //#----------------------------------------------------------
 public Game_BattleUnit(Data_Unit unit, Game_Group group, bool playerOwned, bool isVeteran = false)
     : base(unit, playerOwned, isVeteran)
 {
     _color = group.Color;
 }
コード例 #8
0
ファイル: Game_Group.cs プロジェクト: LRih/Tetrix-Battle
 public Game_Group Clone()
 {
     Game_Group clone = new Game_Group(_index, IsPlayerOwned);
     foreach (Point2DEx pt in GetUnitPts()) clone.UnitIDs[pt.X, pt.Y] = UnitIDs[pt.X, pt.Y];
     return clone;
 }