Commit 4b637acc authored by Seungwon Ju's avatar Seungwon Ju

Unit class changed

parent 0d59a62b
......@@ -4,6 +4,195 @@
<name>CivModel</name>
</assembly>
<members>
<member name="T:CivModel.ActionPoint">
<summary>
Represents an action point (AP) required by <see cref="T:CivModel.IActorAction"/>.
<see cref="T:CivModel.Actor"/> must consume AP to do the action.
</summary>
</member>
<member name="F:CivModel.ActionPoint.NonAvailable">
<summary>
The <see cref="T:CivModel.ActionPoint"/> struct object representing non-available action,
with <see cref="P:CivModel.ActionPoint.Value"/> is <see cref="F:System.Double.NaN"/>.
</summary>
</member>
<member name="P:CivModel.ActionPoint.Value">
<summary>
The action point (AP). If the action cannot be done, <see cref="F:System.Double.NaN"/>.
</summary>
</member>
<member name="P:CivModel.ActionPoint.IsConsumingAll">
<summary>
Whether the action consumes all AP of <see cref="T:CivModel.Actor"/>.
</summary>
</member>
<member name="M:CivModel.ActionPoint.#ctor(System.Double,System.Boolean)">
<summary>
Initializes a new instance of the <see cref="T:CivModel.ActionPoint"/> struct.
</summary>
<param name="value">The action point (AP). If the action cannot be done, <see cref="F:System.Double.NaN"/>.</param>
<param name="consumeAll">
Whether the action consumes all AP of <see cref="T:CivModel.Actor"/>.
If <paramref name="value"/> is <see cref="F:System.Double.NaN"/>, this parameter is ignored.
</param>
<exception cref="T:System.ArgumentException">
<paramref name="value"/> is inf or -inf
or
<paramref name="value"/> is negative
</exception>
</member>
<member name="M:CivModel.ActionPoint.op_Explicit(CivModel.ActionPoint)~System.Double">
<summary>
Performs an explicit conversion from <see cref="T:CivModel.ActionPoint"/> to <see cref="T:System.Double"/>.
</summary>
<param name="point">The <see cref="T:CivModel.ActionPoint"/>.</param>
<returns>
The result of the conversion.
</returns>
</member>
<member name="M:CivModel.ActionPoint.op_Implicit(System.Double)~CivModel.ActionPoint">
<summary>
Performs an implicit conversion from <see cref="T:System.Double"/> to <see cref="T:CivModel.ActionPoint"/>.
</summary>
<param name="value">The <see cref="T:System.Double"/> value.</param>
<returns>
The result of the conversion.
</returns>
</member>
<member name="M:CivModel.ActionPoint.op_LessThan(CivModel.ActionPoint,System.Double)">
<summary>
Implements the operator &lt;.
</summary>
<param name="lhs">The LHS.</param>
<param name="rhs">The RHS.</param>
<returns>
The result of the operator.
</returns>
</member>
<member name="M:CivModel.ActionPoint.op_LessThan(System.Double,CivModel.ActionPoint)">
<summary>
Implements the operator &lt;.
</summary>
<param name="lhs">The LHS.</param>
<param name="rhs">The RHS.</param>
<returns>
The result of the operator.
</returns>
</member>
<member name="M:CivModel.ActionPoint.op_LessThanOrEqual(CivModel.ActionPoint,System.Double)">
<summary>
Implements the operator &lt;=.
</summary>
<param name="lhs">The LHS.</param>
<param name="rhs">The RHS.</param>
<returns>
The result of the operator.
</returns>
</member>
<member name="M:CivModel.ActionPoint.op_LessThanOrEqual(System.Double,CivModel.ActionPoint)">
<summary>
Implements the operator &lt;=.
</summary>
<param name="lhs">The LHS.</param>
<param name="rhs">The RHS.</param>
<returns>
The result of the operator.
</returns>
</member>
<member name="M:CivModel.ActionPoint.op_GreaterThan(CivModel.ActionPoint,System.Double)">
<summary>
Implements the operator &gt;.
</summary>
<param name="lhs">The LHS.</param>
<param name="rhs">The RHS.</param>
<returns>
The result of the operator.
</returns>
</member>
<member name="M:CivModel.ActionPoint.op_GreaterThan(System.Double,CivModel.ActionPoint)">
<summary>
Implements the operator &gt;.
</summary>
<param name="lhs">The LHS.</param>
<param name="rhs">The RHS.</param>
<returns>
The result of the operator.
</returns>
</member>
<member name="M:CivModel.ActionPoint.op_GreaterThanOrEqual(CivModel.ActionPoint,System.Double)">
<summary>
Implements the operator &gt;=.
</summary>
<param name="lhs">The LHS.</param>
<param name="rhs">The RHS.</param>
<returns>
The result of the operator.
</returns>
</member>
<member name="M:CivModel.ActionPoint.op_GreaterThanOrEqual(System.Double,CivModel.ActionPoint)">
<summary>
Implements the operator &gt;=.
</summary>
<param name="lhs">The LHS.</param>
<param name="rhs">The RHS.</param>
<returns>
The result of the operator.
</returns>
</member>
<member name="M:CivModel.ActionPoint.ToString">
<summary>
Returns a <see cref="T:System.String" /> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String" /> that represents this instance.
</returns>
</member>
<member name="M:CivModel.ActionPoint.op_Equality(CivModel.ActionPoint,CivModel.ActionPoint)">
<summary>
Implements the operator ==.
</summary>
<param name="lhs">The LHS.</param>
<param name="rhs">The RHS.</param>
<returns>
The result of the operator.
</returns>
</member>
<member name="M:CivModel.ActionPoint.op_Inequality(CivModel.ActionPoint,CivModel.ActionPoint)">
<summary>
Implements the operator !=.
</summary>
<param name="lhs">The LHS.</param>
<param name="rhs">The RHS.</param>
<returns>
The result of the operator.
</returns>
</member>
<member name="M:CivModel.ActionPoint.Equals(System.Object)">
<summary>
Determines whether the specified <see cref="T:System.Object" />, is equal to this instance.
</summary>
<param name="obj">The <see cref="T:System.Object" /> to compare with this instance.</param>
<returns>
<c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.
</returns>
</member>
<member name="M:CivModel.ActionPoint.Equals(CivModel.ActionPoint)">
<summary>
현재 개체가 동일한 형식의 다른 개체와 같은지 여부를 나타냅니다.
</summary>
<param name="other">이 개체와 비교할 개체입니다.</param>
<returns>
현재 개체가 <see langword="true" /> 매개 변수와 같으면 <paramref name="other" />이고, 그렇지 않으면 <see langword="false" />입니다.
</returns>
</member>
<member name="M:CivModel.ActionPoint.GetHashCode">
<summary>
Returns a hash code for this instance.
</summary>
<returns>
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
</returns>
</member>
<member name="T:CivModel.ActorConstants">
<summary>
Represents a constants storage of <see cref="T:CivModel.Actor"/>.
......@@ -112,11 +301,11 @@
<member name="M:CivModel.AttackActorAction.GetRequiredAP(System.Nullable{CivModel.Terrain.Point})">
<summary>
Test if the action with given parameter is valid and return required AP to act.
Returns <see cref="F:System.Double.NaN"/> if the action is invalid.
Returns <see cref="F:CivModel.ActionPoint.NonAvailable"/> if the action is invalid.
</summary>
<param name="pt">the parameter with which action will be tested.</param>
<returns>
the required AP to act. If the action is invalid, <see cref="F:System.Double.NaN"/>.
the required AP to act. If the action is invalid, <see cref="F:CivModel.ActionPoint.NonAvailable"/>.
</returns>
</member>
<member name="M:CivModel.AttackActorAction.Act(System.Nullable{CivModel.Terrain.Point})">
......@@ -145,11 +334,6 @@
<seealso cref="M:CivModel.CityBase.SetCityName(System.String)"/>
<seealso cref="M:CivModel.CityBase.TrySetCityName(System.String)"/>
</member>
<member name="P:CivModel.CityBase.HoldingAttackAct">
<summary>
The action performing movement. <c>null</c> if this actor cannot do.
</summary>
</member>
<member name="P:CivModel.CityBase.Population">
<summary>
The population of this city.
......@@ -165,9 +349,23 @@
<seealso cref="P:CivModel.IGameConstantScheme.PopulationConstant"/>
<seealso cref="P:CivModel.IGameConstantScheme.PopulationHappinessCoefficient"/>
</member>
<member name="P:CivModel.CityBase.Labor">
<member name="P:CivModel.CityBase.ProvidedGold">
<summary>
The labor which this city offers.
The amount of gold this building provides.
</summary>
<seealso cref="P:CivModel.InteriorBuilding.ProvidedGold"/>
<seealso cref="P:CivModel.Player.GoldIncome"/>
</member>
<member name="P:CivModel.CityBase.ProvidedHappiness">
<summary>
The amount of happiness this building provides.
</summary>
<seealso cref="P:CivModel.InteriorBuilding.ProvidedHappiness"/>
<seealso cref="P:CivModel.Player.HappinessIncome"/>
</member>
<member name="P:CivModel.CityBase.ProvidedLabor">
<summary>
The labor which this city provides.
</summary>
<seealso cref="P:CivModel.InteriorBuilding.ProvidedLabor"/>
<seealso cref="P:CivModel.Player.Labor"/>
......@@ -408,6 +606,14 @@
This property is used by model extension modules.
</summary>
</member>
<member name="P:CivModel.Game.Random">
<summary>
The random generator of this game.
</summary>
<remarks>
All random values used in this game must be generated from this object by default.
</remarks>
</member>
<member name="P:CivModel.Game.Terrain">
<summary>
<see cref="P:CivModel.Game.Terrain"/> of this game.
......@@ -826,11 +1032,11 @@
<member name="M:CivModel.IReadOnlyActorAction.GetRequiredAP(System.Nullable{CivModel.Terrain.Point})">
<summary>
Test if the action with given parameter is valid and return required AP to act.
Returns <see cref="F:System.Double.NaN"/> if the action is invalid.
Returns <see cref="F:CivModel.ActionPoint.NonAvailable"/> if the action is invalid.
</summary>
<param name="pt">the parameter with which action will be tested.</param>
<returns>
the required AP to act. If the action is invalid, <c>double.NaN</c>.
the required AP to act. If the action is invalid, <see cref="F:CivModel.ActionPoint.NonAvailable"/>.
</returns>
</member>
<member name="T:CivModel.IActorAction">
......@@ -969,6 +1175,11 @@
The <see cref="T:CivModel.Player"/> who owns this building.
</summary>
</member>
<member name="P:CivModel.InteriorBuilding.Game">
<summary>
The <see cref="P:CivModel.InteriorBuilding.Game"/> object
</summary>
</member>
<member name="P:CivModel.InteriorBuilding.City">
<summary>
The <see cref="T:CivModel.CityBase"/> where this building is.
......@@ -985,12 +1196,24 @@
</summary>
<exception cref="T:System.ArgumentOutOfRangeException">GoldLogistics is negative</exception>
</member>
<member name="P:CivModel.InteriorBuilding.ProvidedGold">
<summary>
The amount of gold this building provides.
</summary>
<seealso cref="P:CivModel.CityBase.ProvidedGold"/>
</member>
<member name="P:CivModel.InteriorBuilding.ProvidedHappiness">
<summary>
The amount of happiness this building provides.
</summary>
<seealso cref="P:CivModel.CityBase.ProvidedHappiness"/>
</member>
<member name="P:CivModel.InteriorBuilding.ProvidedLabor">
<summary>
The amount of labor this building provides.
</summary>
<exception cref="T:System.ArgumentOutOfRangeException">ProvidedLabor is negative</exception>
<seealso cref="P:CivModel.CityBase.Labor"/>
<seealso cref="P:CivModel.CityBase.ProvidedLabor"/>
</member>
<member name="P:CivModel.InteriorBuilding.ResearchCapacity">
<summary>
......@@ -1043,24 +1266,6 @@
<paramref name="city"/> is <c>null</c>.
</exception>
</member>
<member name="M:CivModel.InteriorBuilding.ProcessCreation">
<summary>
Process the logic to do at the creation of this actor.
This method should not be called when this <see cref="T:CivModel.Actor"/> object is created by loading a save file.
</summary>
<exception cref="T:System.InvalidOperationException"><see cref="M:CivModel.InteriorBuilding.ProcessCreation"/> has already been called</exception>
<remarks>
If <see cref="T:CivModel.Actor"/> is newly created in game logic, such as <see cref="T:CivModel.Production"/>, the creator should call this method.
</remarks>
<seealso cref="M:CivModel.InteriorBuilding.OnProcessCreation"/>
</member>
<member name="M:CivModel.InteriorBuilding.OnProcessCreation">
<summary>
Called when <see cref="M:CivModel.InteriorBuilding.ProcessCreation"/> is called.
This method is not called when this <see cref="T:CivModel.Actor"/> object is created by loading a save file.
</summary>
<seealso cref="M:CivModel.InteriorBuilding.ProcessCreation"/>
</member>
<member name="M:CivModel.InteriorBuilding.Destroy">
<summary>
Destroys this building. <see cref="M:CivModel.InteriorBuilding.OnBeforeDestroy"/> is called before the building is destroyed.
......@@ -1491,11 +1696,11 @@
<member name="M:CivModel.MoveActorAction.GetRequiredAP(System.Nullable{CivModel.Terrain.Point})">
<summary>
Test if the action with given parameter is valid and return required AP to act.
Returns <see cref="F:System.Double.NaN"/> if the action is invalid.
Returns <see cref="F:CivModel.ActionPoint.NonAvailable"/> if the action is invalid.
</summary>
<param name="pt">the parameter with which action will be tested.</param>
<returns>
the required AP to act. If the action is invalid, <see cref="F:System.Double.NaN"/>.
the required AP to act. If the action is invalid, <see cref="F:CivModel.ActionPoint.NonAvailable"/>.
</returns>
</member>
<member name="M:CivModel.MoveActorAction.Act(System.Nullable{CivModel.Terrain.Point})">
......@@ -1665,6 +1870,15 @@
<c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.
</returns>
</member>
<member name="M:CivModel.Position.Equals(CivModel.Position)">
<summary>
현재 개체가 동일한 형식의 다른 개체와 같은지 여부를 나타냅니다.
</summary>
<param name="other">이 개체와 비교할 개체입니다.</param>
<returns>
현재 개체가 <see langword="true" /> 매개 변수와 같으면 <paramref name="other" />이고, 그렇지 않으면 <see langword="false" />입니다.
</returns>
</member>
<member name="M:CivModel.Position.GetHashCode">
<summary>
Returns a hash code for this instance.
......@@ -2155,6 +2369,15 @@
<c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.
</returns>
</member>
<member name="M:CivModel.Terrain.Point.Equals(CivModel.Terrain.Point)">
<summary>
현재 개체가 동일한 형식의 다른 개체와 같은지 여부를 나타냅니다.
</summary>
<param name="other">이 개체와 비교할 개체입니다.</param>
<returns>
현재 개체가 <see langword="true" /> 매개 변수와 같으면 <paramref name="other" />이고, 그렇지 않으면 <see langword="false" />입니다.
</returns>
</member>
<member name="M:CivModel.Terrain.Point.GetHashCode">
<summary>
Returns a hash code for this instance.
......@@ -2308,6 +2531,27 @@
The action performing movement. <c>null</c> by default.
</summary>
</member>
<member name="P:CivModel.TileBuilding.ProvidedGold">
<summary>
The amount of gold this building provides.
</summary>
<seealso cref="P:CivModel.InteriorBuilding.ProvidedGold"/>
<seealso cref="P:CivModel.Player.GoldIncome"/>
</member>
<member name="P:CivModel.TileBuilding.ProvidedHappiness">
<summary>
The amount of happiness this building provides.
</summary>
<seealso cref="P:CivModel.InteriorBuilding.ProvidedHappiness"/>
<seealso cref="P:CivModel.Player.HappinessIncome"/>
</member>
<member name="P:CivModel.TileBuilding.ProvidedLabor">
<summary>
The labor which this tile building offers.
</summary>
<seealso cref="P:CivModel.InteriorBuilding.ProvidedLabor"/>
<seealso cref="P:CivModel.Player.Labor"/>
</member>
<member name="M:CivModel.TileBuilding.#ctor(CivModel.Player,CivModel.ActorConstants,CivModel.Terrain.Point)">
<summary>
Initializes a new instance of the <see cref="T:CivModel.TileBuilding"/> class.
......@@ -2365,6 +2609,12 @@
Indicating that battle result is defeated.
</summary>
</member>
<member name="F:CivModel.BattleResult.Cancelled">
<summary>
Indicating that battle is cancelled
It can be happened by an actor destroyed before damage step.
</summary>
</member>
<member name="T:CivModel.Actor">
<summary>
An absract class represents the <see cref="T:CivModel.TileObject"/> which can have actions and action point (AP).
......@@ -2594,7 +2844,7 @@
Called before [destroy], by <see cref="M:CivModel.Actor.Destroy"/>
</summary>
</member>
<member name="M:CivModel.Actor.CanConsumeAP(System.Double)">
<member name="M:CivModel.Actor.CanConsumeAP(CivModel.ActionPoint)">
<summary>
Determines whether this actor can consume the specified amount of AP.
</summary>
......@@ -2603,26 +2853,21 @@
<c>true</c> if this actor can consume the specified amount of AP; otherwise, <c>false</c>.
</returns>
<exception cref="T:System.InvalidOperationException">actor is already destroyed</exception>
<exception cref="T:System.ArgumentException"><paramref name="amount"/> is negative</exception>
</member>
<member name="M:CivModel.Actor.ConsumeAP(System.Double)">
<member name="M:CivModel.Actor.ConsumeAP(CivModel.ActionPoint)">
<summary>
Consumes the specified amount of AP.
</summary>
<param name="amount">The amount of AP</param>
<exception cref="T:System.InvalidOperationException">actor is already destroyed</exception>
<exception cref="T:System.ArgumentException">
<paramref name="amount"/> is negative
or
<paramref name="amount"/> is bigger than <see cref="P:CivModel.Actor.RemainAP"/>
</exception>
<exception cref="T:System.ArgumentException"><paramref name="amount"/> is too big to consume</exception>
</member>
<member name="M:CivModel.Actor.ConsumeAllAP">
<summary>
Consumes all of AP which this actor has.
</summary>
<exception cref="T:System.InvalidOperationException">actor is already destroyed</exception>
<seealso cref="M:CivModel.Actor.ConsumeAP(System.Double)"/>
<seealso cref="M:CivModel.Actor.ConsumeAP(CivModel.ActionPoint)"/>
</member>
<member name="M:CivModel.Actor.Heal(System.Double)">
<summary>
......@@ -2676,6 +2921,7 @@
<param name="isMelee">Whether the battle is melee or not.</param>
<param name="isSkillAttack">Whether the battle </param>
<exception cref="T:System.ArgumentNullException"><paramref name="opposite"/> is <c>null</c>.</exception>
<exception cref="T:System.ArgumentException">cannot attack myself</exception>
<exception cref="T:System.InvalidOperationException">
actor is already destroyed
or
......@@ -2683,53 +2929,118 @@
</exception>
<returns>
<see cref="T:CivModel.BattleResult"/> indicating the result of this battle.
if <paramref name="opposite"/> has died, <see cref="F:CivModel.BattleResult.Victory"/>.
if this object has died, <see cref="F:CivModel.BattleResult.Defeated"/>.
if both have died or survived, <see cref="F:CivModel.BattleResult.Draw"/>.
<ul>
<li>if <paramref name="opposite"/> has died, <see cref="F:CivModel.BattleResult.Victory"/>.</li>
<li>if this object has died, <see cref="F:CivModel.BattleResult.Defeated"/>.</li>
<li>if both have died or survived, <see cref="F:CivModel.BattleResult.Draw"/>.</li>
<li>if the battle is cancelled, <see cref="F:CivModel.BattleResult.Cancelled"/>.</li>
</ul>
</returns>
<remarks>
This method is intented to be used to customerize battle.
<see cref="M:CivModel.Actor.MeleeAttackTo(CivModel.Actor)"/>, <see cref="M:CivModel.Actor.RangedAttackTo(CivModel.Actor)"/> or battle-causing skills should be used in noraml cases.
<br/>
See "전투 매커니즘" documentation of wiki for detailed information about battle.
</remarks>
<seealso cref="M:CivModel.Actor.MeleeAttackTo(CivModel.Actor)"/>
<seealso cref="M:CivModel.Actor.RangedAttackTo(CivModel.Actor)"/>
</member>
<member name="M:CivModel.Actor.GetDamage(System.Double,CivModel.Player)">
<summary>
Gets the damage directly.
</summary>
<param name="damage">The damage.</param>
<param name="oppositeOwner">The owner who gives this damage. This can be <c>null</c>.</param>
<returns>If this actor is died by damage, <c>true</c>. Otherwise, <c>false</c>.</returns>
</member>
<member name="M:CivModel.Actor.CalculateAttackPower(System.Double,CivModel.Actor,System.Boolean,System.Boolean)">
<summary>
Calculates the ATK which is used during battle.
Calculates the effective ATK which is used during battle.
</summary>
<param name="originalPower">The original ATK power.</param>
<param name="opposite">The opposite of battle.</param>
<param name="isMelee">whether battle is <i>melee</i> type.</param>
<param name="isSkillAttack">whether attack is <i>skill</i> type.</param>
<returns>the ATK power to be used during battle.</returns>
<remarks>
<b>Warning:</b> DO NOT attack <paramref name="opposite"/> in this method. Infinite recursion can occur.
</remarks>
</member>
<member name="M:CivModel.Actor.CalculateDefencePower(System.Double,CivModel.Actor,System.Boolean,System.Boolean)">
<summary>
Calculates the DEF which is used during battle.
Calculates the effective DEF which is used during battle.
</summary>
<param name="originalPower">The original DEF power.</param>
<param name="opposite">The opposite of battle.</param>
<param name="isMelee">whether battle is <i>melee</i> type.</param>
<param name="isSkillAttack">whether attack is <i>skill</i> type.</param>
<returns>the DEF power to be used during battle.</returns>
<remarks>
<b>Warning:</b> DO NOT attack <paramref name="opposite"/> in this method. Infinite recursion can occur.
</remarks>
</member>
<member name="M:CivModel.Actor.CalculateDamage(System.Double,CivModel.Actor,System.Boolean,System.Boolean)">
<member name="M:CivModel.Actor.CalculateDamage(System.Double,CivModel.Actor,CivModel.Actor,System.Boolean,System.Boolean)">
<summary>
Calculates the damage by battle.
Calculates the effective damage by battle.
</summary>
<param name="originalDamage">The original damage.</param>
<param name="opposite">The opposite of battle.</param>
<param name="attacker">The attacker.</param>
<param name="defender">The defender.</param>
<param name="isMelee">whether battle is <i>melee</i> type.</param>
<param name="isSkillAttack">whether attack is <i>skill</i> type.</param>
<returns>the damage by battle.</returns>
<remarks>
When this method called, this actor is either <paramref name="attacker"/> or <paramref name="defender"/>.
<b>Warning:</b> DO NOT attack opposite in this method. Infinite recursion can occur.
</remarks>
</member>
<member name="M:CivModel.Actor.OnBeforeDamage(System.Double,System.Double,System.Double,System.Double,CivModel.Actor,CivModel.Actor,System.Boolean,System.Boolean)">
<summary>
Called before getting damage by battle.
</summary>
<param name="atk">The effecitve attack power calculated by <see cref="M:CivModel.Actor.CalculateAttackPower(System.Double,CivModel.Actor,System.Boolean,System.Boolean)"/> in this battle.</param>
<param name="def">The effecitve defence power calculated by <see cref="M:CivModel.Actor.CalculateDefencePower(System.Double,CivModel.Actor,System.Boolean,System.Boolean)"/> in this battle.</param>
<param name="attackerDamage">The damage attacker will gain, calculated by <see cref="M:CivModel.Actor.CalculateDamage(System.Double,CivModel.Actor,CivModel.Actor,System.Boolean,System.Boolean)"/>.</param>
<param name="defenderDamage">The damage defender will gain, calculated by <see cref="M:CivModel.Actor.CalculateDamage(System.Double,CivModel.Actor,CivModel.Actor,System.Boolean,System.Boolean)"/>.</param>
<param name="attacker">The attacker.</param>
<param name="defender">The defender.</param>
<param name="isMelee">whether battle is <i>melee</i> type.</param>
<param name="isSkillAttack">whether attack is <i>skill</i> type.</param>
<remarks>
When this method called, this actor is either <paramref name="attacker"/> or <paramref name="defender"/>.
<b>Warning:</b> DO NOT attack opposite in this method. Infinite recursion can occur.
</remarks>
</member>
<member name="M:CivModel.Actor.OnAfterDamage(System.Double,System.Double,System.Double,System.Double,CivModel.Actor,CivModel.Actor,CivModel.Player,CivModel.Player,System.Boolean,System.Boolean)">
<summary>
Called before getting damage by battle. This method can be called even if this actor is died or destroyed during battle.
</summary>
<param name="atk">The effecitve attack power calculated by <see cref="M:CivModel.Actor.CalculateAttackPower(System.Double,CivModel.Actor,System.Boolean,System.Boolean)"/> in this battle.</param>
<param name="def">The effecitve defence power calculated by <see cref="M:CivModel.Actor.CalculateDefencePower(System.Double,CivModel.Actor,System.Boolean,System.Boolean)"/> in this battle.</param>
<param name="attackerDamage">The damage attacker will gain, calculated by <see cref="M:CivModel.Actor.CalculateDamage(System.Double,CivModel.Actor,CivModel.Actor,System.Boolean,System.Boolean)"/>.</param>
<param name="defenderDamage">The damage defender will gain, calculated by <see cref="M:CivModel.Actor.CalculateDamage(System.Double,CivModel.Actor,CivModel.Actor,System.Boolean,System.Boolean)"/>.</param>
<param name="attacker">The attacker.</param>
<param name="defender">The defender.</param>
<param name="atkOwner">The owner of attacker.</param>
<param name="defOwner">The owner of defender.</param>
<param name="isMelee">whether battle is <i>melee</i> type.</param>
<param name="isSkillAttack">whether attack is <i>skill</i> type.</param>
<remarks>
When this method called, this actor is either <paramref name="attacker"/> or <paramref name="defender"/>.<br/>
<b>Warning:</b> This method can be called even if this actor is died or destroyed during battle.
You must check it by compare <see cref="P:CivModel.Actor.Owner"/> with <c>null</c>.
</remarks>
</member>
<member name="M:CivModel.Actor.GetRequiredAPToMove(CivModel.TerrainType)">
<member name="M:CivModel.Actor.GetRequiredAPToMoveNearBy(CivModel.Terrain.Point)">
<summary>
Gets the required AP to move to point of the specified type
Gets the required AP to move to point, assuming the point is near the position of this actor.
</summary>
<param name="type">The type of <see cref="T:CivModel.Terrain.Point"/></param>
<param name="point">The <see cref="T:CivModel.Terrain.Point"/> struct object</param>
<returns>the required AP.</returns>
<remarks>
This method assumes <paramref name="point"/> is near <see cref="P:CivModel.TileObject.PlacedPoint"/> of this actor.<br/>
Thus, <see cref="P:CivModel.Terrain.Point.Position"/> of <paramref name="point"/> can be ignored.
</remarks>
</member>
<member name="M:CivModel.Actor.Die(CivModel.Player)">
<summary>
......@@ -2820,24 +3131,6 @@
<param name="tileTag">The <see cref="P:CivModel.TileObject.TileTag"/> of the object.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="game"/> is <c>null</c>.</exception>
</member>
<member name="M:CivModel.TileObject.ProcessCreation">
<summary>
Process the logic to do at the creation of this actor.
This method should not be called when this <see cref="T:CivModel.Actor"/> object is created by loading a save file.
</summary>
<exception cref="T:System.InvalidOperationException"><see cref="M:CivModel.TileObject.ProcessCreation"/> has already been called</exception>
<remarks>
If <see cref="T:CivModel.Actor"/> is newly created in game logic, such as <see cref="T:CivModel.Production"/>, the creator should call this method.
</remarks>
<seealso cref="M:CivModel.TileObject.OnProcessCreation"/>
</member>
<member name="M:CivModel.TileObject.OnProcessCreation">
<summary>
Called when <see cref="M:CivModel.TileObject.ProcessCreation"/> is called.
This method is not called when this <see cref="T:CivModel.Actor"/> object is created by loading a save file.
</summary>
<seealso cref="M:CivModel.TileObject.ProcessCreation"/>
</member>
<member name="M:CivModel.TileObject.OnChangePlacedPoint(System.Nullable{CivModel.Terrain.Point})">
<summary>
Called after <see cref="P:CivModel.TileObject.PlacedPoint"/> is changed.
......@@ -2897,11 +3190,11 @@
<member name="P:CivModel.Player.OriginalLabor">
<summary>
The labor per turn of this player, not controlled by <see cref="P:CivModel.Player.Happiness"/>.
It is equal to sum of all <see cref="P:CivModel.CityBase.Labor"/> of cities of this player.
It is equal to sum of all <see cref="P:CivModel.CityBase.ProvidedLabor"/> of cities of this player.
</summary>
<seealso cref="P:CivModel.Player.LaborWithoutLogistics"/>
<seealso cref="P:CivModel.Player.Labor"/>
<seealso cref="P:CivModel.CityBase.Labor"/>
<seealso cref="P:CivModel.CityBase.ProvidedLabor"/>
</member>
<member name="P:CivModel.Player.LaborWithoutLogistics">
<summary>
......
ImageRuntimeVersion: v4.0.30319
Assembly FakeView, Version=1.0.*, Culture=고정 언어(고정 국가):
hash=SHA1, flags=PublicKey
Assembly mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:
hash=None, flags=None
Assembly CivModel.Common, Version=1.0.*, Culture=고정 언어(고정 국가):
hash=None, flags=None
Assembly CivModel, Version=1.0.*, Culture=고정 언어(고정 국가):
hash=None, flags=None
Assembly CivPresenter, Version=1.0.*, Culture=고정 언어(고정 국가):
hash=None, flags=None
Assembly System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:
hash=None, flags=None
Assembly System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:
hash=None, flags=None
Assembly System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:
hash=None, flags=None
fileFormatVersion: 2
guid: 31c9bee524950ac4b83584d3ad0d1791
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -23,6 +23,7 @@ GameObject:
- component: {fileID: 23430415915558628}
- component: {fileID: 95116768080365986}
- component: {fileID: 114555728656525668}
- component: {fileID: 64170105535098754}
m_Layer: 0
m_Name: unit
m_TagString: Untagged
......@@ -85,6 +86,20 @@ MeshFilter:
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1994173042382988}
m_Mesh: {fileID: 4300000, guid: b30586820caa1de47b0e0ed1aa73c608, type: 3}
--- !u!64 &64170105535098754
MeshCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1994173042382988}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 3
m_Convex: 0
m_CookingOptions: 14
m_SkinWidth: 0.01
m_Mesh: {fileID: 4300000, guid: b30586820caa1de47b0e0ed1aa73c608, type: 3}
--- !u!95 &95116768080365986
Animator:
serializedVersion: 3
......@@ -114,3 +129,4 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 67add831fd3c2384b9a1363aa1aa1331, type: 3}
m_Name:
m_EditorClassIdentifier:
unityPoint: {x: 0, y: 0, z: 0}
......@@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.44657844, g: 0.49641222, b: 0.57481694, a: 1}
m_IndirectSpecularColor: {r: 0.44657826, g: 0.49641263, b: 0.57481676, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
......@@ -774,9 +774,9 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -17, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 1}
--- !u!114 &87072013
MonoBehaviour:
......@@ -951,7 +951,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 3
m_RootOrder: 8
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &102389002
GameObject:
......@@ -1103,7 +1103,7 @@ MonoBehaviour:
m_HandleRect: {fileID: 1841507267}
m_Direction: 2
m_Value: 0
m_Size: 0.99999994
m_Size: 1
m_NumberOfSteps: 0
m_OnValueChanged:
m_PersistentCalls:
......@@ -1395,7 +1395,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 10, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
......@@ -1497,7 +1497,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 10, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
......@@ -1675,8 +1675,8 @@ RectTransform:
m_Father: {fileID: 240757536}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.000000059604645}
m_AnchorMax: {x: 1, y: 0.99999994}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
......@@ -2292,7 +2292,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 0.9999999}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
......@@ -2479,7 +2479,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 1}
m_AnchorMax: {x: 0.5, y: 1}
m_AnchoredPosition: {x: -0.000030517578, y: 0.00008392334}
m_AnchoredPosition: {x: 0.000030517578, y: 0.00005340576}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 1}
--- !u!114 &191355288
......@@ -2567,7 +2567,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!114 &194350969
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -2640,7 +2640,7 @@ RectTransform:
- {fileID: 1723425658}
- {fileID: 1212682353}
m_Father: {fileID: 0}
m_RootOrder: 6
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
......@@ -2828,7 +2828,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
......@@ -3406,7 +3406,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
......@@ -3764,16 +3764,16 @@ RectTransform:
m_GameObject: {fileID: 322474195}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.53332996, y: 0.53332996, z: 0.53332996}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1764791665}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 34.4, y: -71.1}
m_SizeDelta: {x: -683.13, y: -196.75}
m_Pivot: {x: 0, y: 0.5}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 20, y: -340}
m_SizeDelta: {x: 500, y: 80}
m_Pivot: {x: 0, y: 1}
--- !u!114 &322474197
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -4133,16 +4133,16 @@ RectTransform:
m_GameObject: {fileID: 337732207}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.53332996, y: 0.53332996, z: 0.53332996}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1764791665}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 353.8, y: -2.079956}
m_SizeDelta: {x: -490.27, y: 82.74}
m_Pivot: {x: 0, y: 0.5}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 660, y: -20}
m_SizeDelta: {x: 500, y: 80}
m_Pivot: {x: 0, y: 1}
--- !u!114 &337732209
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -4370,7 +4370,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 8
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &400987198
GameObject:
......@@ -4459,7 +4459,7 @@ RectTransform:
m_Children:
- {fileID: 336518492}
m_Father: {fileID: 0}
m_RootOrder: 4
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
......@@ -4557,7 +4557,7 @@ RectTransform:
- {fileID: 1633964636}
- {fileID: 827246729}
m_Father: {fileID: 0}
m_RootOrder: 5
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
......@@ -4668,7 +4668,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0.00006550273, y: -0.0000032843693}
m_AnchoredPosition: {x: -0.000066210785, y: 0.00007229443}
m_SizeDelta: {x: 0, y: 300}
m_Pivot: {x: 0, y: 1}
--- !u!1 &454209707
......@@ -4920,17 +4920,17 @@ RectTransform:
m_GameObject: {fileID: 481079405}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.33, y: 1, z: 1}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1801651121}
m_Father: {fileID: 698219120}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 341, y: 331.5}
m_SizeDelta: {x: 0, y: -740.7}
m_Pivot: {x: 0.5, y: 0.5}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 1280, y: -72}
m_SizeDelta: {x: 640, y: 70}
m_Pivot: {x: 0, y: 1}
--- !u!114 &481079407
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -5080,7 +5080,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 10, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
......@@ -5286,11 +5286,11 @@ RectTransform:
m_Father: {fileID: 698219120}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -339.95, y: 87.2}
m_SizeDelta: {x: 337.9, y: 456.4}
m_Pivot: {x: 0.5, y: 0.5}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: -142}
m_SizeDelta: {x: 640, y: 835}
m_Pivot: {x: 0, y: 1}
--- !u!114 &524684903
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -5422,9 +5422,9 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -17, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 1}
--- !u!114 &580565304
MonoBehaviour:
......@@ -5635,18 +5635,18 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Color: {r: 0.5471698, g: 0.5471698, b: 0.5471698, a: 1}
m_RaycastTarget: 0
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_Sprite: {fileID: 0}
m_Type: 3
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillMethod: 1
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
......@@ -5681,16 +5681,16 @@ RectTransform:
m_GameObject: {fileID: 618926949}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.53332996, y: 0.53332996, z: 0.53332996}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1764791665}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 34.4, y: -6.5}
m_SizeDelta: {x: -683.13, y: -196.75}
m_Pivot: {x: 0, y: 0.5}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 20, y: -180}
m_SizeDelta: {x: 500, y: 80}
m_Pivot: {x: 0, y: 1}
--- !u!114 &618926951
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -5827,16 +5827,16 @@ RectTransform:
m_GameObject: {fileID: 636901440}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1.6161513, y: 0.53332996, z: 0.53332996}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2043611109}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 14, y: 0}
m_SizeDelta: {x: -406.56995, y: 26.090004}
m_Pivot: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 0.000061035156, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &636901442
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -6542,9 +6542,9 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -17, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 1}
--- !u!114 &693875614
MonoBehaviour:
......@@ -6608,7 +6608,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!114 &698219117
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -6684,7 +6684,7 @@ RectTransform:
- {fileID: 1467144815}
- {fileID: 1764791665}
m_Father: {fileID: 0}
m_RootOrder: 7
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
......@@ -6716,16 +6716,16 @@ RectTransform:
m_GameObject: {fileID: 709534534}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.53332996, y: 0.53332996, z: 0.53332996}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1764791665}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 710.3, y: 0}
m_SizeDelta: {x: -490.27002, y: 82.73999}
m_Pivot: {x: 0, y: 0.5}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 1300, y: -20}
m_SizeDelta: {x: 500, y: 80}
m_Pivot: {x: 0, y: 1}
--- !u!114 &709534536
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -7195,7 +7195,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 0.9999999}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
......@@ -7439,7 +7439,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
......@@ -7492,7 +7492,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &786679887
RectTransform:
m_ObjectHideFlags: 0
......@@ -7679,7 +7679,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &827246729
RectTransform:
m_ObjectHideFlags: 0
......@@ -8282,8 +8282,8 @@ MonoBehaviour:
m_TargetGraphic: {fileID: 1457256216}
m_HandleRect: {fileID: 1457256215}
m_Direction: 2
m_Value: 0
m_Size: 1
m_Value: 1
m_Size: 0.99999994
m_NumberOfSteps: 0
m_OnValueChanged:
m_PersistentCalls:
......@@ -8532,16 +8532,16 @@ RectTransform:
m_GameObject: {fileID: 924387378}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1.6161513, y: 0.53332996, z: 0.53332996}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1905383976}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 14, y: 0}
m_SizeDelta: {x: -406.57, y: 26.09}
m_Pivot: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &924387380
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -8826,16 +8826,16 @@ RectTransform:
m_GameObject: {fileID: 994656140}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.53332996, y: 0.53332996, z: 0.53332996}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1764791665}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 34.400024, y: 26.199951}
m_SizeDelta: {x: -683.13, y: -196.75}
m_Pivot: {x: 0, y: 0.5}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 20, y: -100}
m_SizeDelta: {x: 500, y: 80}
m_Pivot: {x: 0, y: 1}
--- !u!114 &994656142
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -8979,7 +8979,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -0.000057428482, y: -0.00003026797}
m_AnchoredPosition: {x: -0.000037524784, y: 0.00007229443}
m_SizeDelta: {x: 0, y: 300}
m_Pivot: {x: 0, y: 1}
--- !u!1 &1001046761
......@@ -9084,7 +9084,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0.000015258789}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 1}
--- !u!114 &1004629748
......@@ -9896,7 +9896,7 @@ Transform:
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1029091335}
m_LocalRotation: {x: 0.5, y: 0, z: 0, w: 0.8660254}
m_LocalPosition: {x: 110, y: 45, z: -120}
m_LocalPosition: {x: 110, y: 45.275, z: -120.152}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
......@@ -10426,7 +10426,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 20, y: 0}
m_AnchoredPosition: {x: 20, y: 10}
m_SizeDelta: {x: 160, y: 200}
m_Pivot: {x: 0, y: 0.5}
--- !u!114 &1078977411
......@@ -10938,7 +10938,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
......@@ -11039,7 +11039,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0.00006514437, y: 0.00008142511}
m_AnchoredPosition: {x: 0.00006514437, y: 0.000020389954}
m_SizeDelta: {x: 0, y: 300}
m_Pivot: {x: 0, y: 1}
--- !u!1 &1173066205
......@@ -11073,7 +11073,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
......@@ -11328,11 +11328,11 @@ RectTransform:
m_Father: {fileID: 698219120}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 87.20001}
m_SizeDelta: {x: 342, y: 456.4}
m_Pivot: {x: 0.5, y: 0.5}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 640, y: -142}
m_SizeDelta: {x: 640, y: 835}
m_Pivot: {x: 0, y: 1}
--- !u!114 &1190318051
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -13058,7 +13058,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
......@@ -13305,7 +13305,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
......@@ -13372,7 +13372,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -0.000030488993, y: 0.00002890532}
m_AnchoredPosition: {x: 0.000021099471, y: 0.00007229443}
m_SizeDelta: {x: 0, y: 300}
m_Pivot: {x: 0, y: 1}
--- !u!1 &1465630758
......@@ -13482,11 +13482,11 @@ RectTransform:
m_Father: {fileID: 698219120}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 341.5, y: 88.42499}
m_SizeDelta: {x: 341, y: 458.85}
m_Pivot: {x: 0.5, y: 0.5}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 1280, y: -142}
m_SizeDelta: {x: 640, y: 835}
m_Pivot: {x: 0, y: 1}
--- !u!114 &1467144816
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -13783,16 +13783,16 @@ RectTransform:
m_GameObject: {fileID: 1531694041}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.53332996, y: 0.53332996, z: 0.53332996}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1764791665}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 34.399963, y: -38.30005}
m_SizeDelta: {x: -683.13, y: -196.75}
m_Pivot: {x: 0, y: 0.5}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 20, y: -260}
m_SizeDelta: {x: 500, y: 80}
m_Pivot: {x: 0, y: 1}
--- !u!114 &1531694043
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -16315,10 +16315,10 @@ RectTransform:
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 1.5499878, y: -262.5}
m_SizeDelta: {x: -3.1, y: -525}
m_Pivot: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 458}
m_Pivot: {x: 0.5, y: 0}
--- !u!114 &1764791666
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -16718,7 +16718,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 10, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
......@@ -16854,84 +16854,16 @@ RectTransform:
m_GameObject: {fileID: 1801651120}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1.6161513, y: 0.53332996, z: 0.53332996}
m_Children: []
m_Father: {fileID: 481079406}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 14, y: 0}
m_SizeDelta: {x: -406.56995, y: 26.090004}
m_Pivot: {x: 0, y: 0.5}
--- !u!114 &1801651122
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1801651120}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.5764706, g: 0.5568628, b: 0.54509807, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
--- !u!222 &1797784856
CanvasRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1797784853}
--- !u!1 &1801651120
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_Component:
- component: {fileID: 1801651121}
- component: {fileID: 1801651123}
- component: {fileID: 1801651122}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1801651121
RectTransform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1801651120}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1.6161513, y: 0.53332996, z: 0.53332996}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 481079406}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 14, y: 0}
m_SizeDelta: {x: -406.56995, y: 26.090004}
m_Pivot: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1801651122
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -17115,8 +17047,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 21eefa2ef0518bc4891057f3f8916cb5, type: 3}
m_Name:
m_EditorClassIdentifier:
outerRadius: 1
innerRadius: 0.8660254
HextilePrefab: {fileID: 1864742050183090, guid: ef12b8f6d512e104b979d4a75f3e60c0,
type: 2}
UnitPrefab: {fileID: 1994173042382988, guid: d799813cc5de24e418535494923a7dfa, type: 2}
......@@ -17139,7 +17069,6 @@ MonoBehaviour:
- {fileID: 2100000, guid: eb14f06a5eddeed48a11418664db9594, type: 2}
- {fileID: 2100000, guid: 31a4feda50a4d7c4f94a5f71806c7df7, type: 2}
- {fileID: 2100000, guid: 9f18b1711a90f794aad93d565cfc12e2, type: 2}
rend: {fileID: 0}
--- !u!4 &1802626829
Transform:
m_ObjectHideFlags: 0
......@@ -17151,7 +17080,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 2
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1807191942
GameObject:
......@@ -17334,16 +17263,16 @@ RectTransform:
m_GameObject: {fileID: 1822465598}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.53332996, y: 0.53332996, z: 0.53332996}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1764791665}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 34.399994, y: 72.45}
m_SizeDelta: {x: -683.13, y: -196.75}
m_Pivot: {x: 0, y: 0.5}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 20, y: -20}
m_SizeDelta: {x: 500, y: 80}
m_Pivot: {x: 0, y: 1}
--- !u!114 &1822465600
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -17604,7 +17533,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
......@@ -17672,7 +17601,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 0.99999994}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
......@@ -17876,86 +17805,17 @@ RectTransform:
m_GameObject: {fileID: 1905383975}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.33, y: 1, z: 1}
m_Children:
- {fileID: 924387379}
m_Father: {fileID: 698219120}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -341, y: 331.5}
m_SizeDelta: {x: 0, y: -740.7}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1903287045
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1903287043}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
--- !u!222 &1903287046
CanvasRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1903287043}
--- !u!1 &1905383975
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_Component:
- component: {fileID: 1905383976}
- component: {fileID: 1905383978}
- component: {fileID: 1905383977}
m_Layer: 5
m_Name: OfferedQuestPanel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1905383976
RectTransform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1905383975}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.33, y: 1, z: 1}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 924387379}
m_Father: {fileID: 698219120}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -341, y: 331.5}
m_SizeDelta: {x: 0, y: -740.7}
m_Pivot: {x: 0.5, y: 0.5}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: -72}
m_SizeDelta: {x: 640, y: 70}
m_Pivot: {x: 0, y: 1}
--- !u!114 &1905383977
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -19558,7 +19418,7 @@ MonoBehaviour:
m_HandleRect: {fileID: 177526369}
m_Direction: 2
m_Value: 0
m_Size: 0.9999998
m_Size: 1
m_NumberOfSteps: 0
m_OnValueChanged:
m_PersistentCalls:
......@@ -20699,17 +20559,17 @@ RectTransform:
m_GameObject: {fileID: 2043611108}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.33, y: 1, z: 1}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 636901441}
m_Father: {fileID: 698219120}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 331.5}
m_SizeDelta: {x: 0, y: -740.7}
m_Pivot: {x: 0.5, y: 0.5}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 640, y: -72}
m_SizeDelta: {x: 640, y: 70}
m_Pivot: {x: 0, y: 1}
--- !u!114 &2043611110
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -20886,8 +20746,8 @@ MonoBehaviour:
m_TargetGraphic: {fileID: 145151054}
m_HandleRect: {fileID: 145151053}
m_Direction: 2
m_Value: 1
m_Size: 0.99999994
m_Value: 0
m_Size: 1
m_NumberOfSteps: 0
m_OnValueChanged:
m_PersistentCalls:
......
......@@ -5,13 +5,13 @@ using UnityEngine;
public class CameraControl : MonoBehaviour {
public int boundary = 5;
public int speed = 50;
public int speed = 10;
private int screen_height = Screen.height;
private int screen_width = Screen.width;
int MaxHeight = 30; //최대 높이
int MinHeight = 10; //최소 높이
int MinHeight = 15; //최소 높이
// Use this for initialization
void Start () {
......@@ -35,8 +35,6 @@ public class CameraControl : MonoBehaviour {
Camera.main.transform.position = new Vector3(Camera.main.transform.position.x, MinHeight, Camera.main.transform.position.z);
}
if (Input.mousePosition.x > screen_width - boundary) {
if (Camera.main.transform.position.x <= 220)
Camera.main.transform.Translate(2 * speed * Time.deltaTime * Mathf.Abs(Input.mousePosition.x - (screen_width - boundary)) * (float)0.015 , 0, 0);
......
......@@ -10,20 +10,22 @@ public class GameManager : MonoBehaviour {
public CivModel.Game Game { get { return _game; } }
private static GameManager _manager = null;
public static GameManager I { get { return _manager; } }
public static GameManager Instance { get { return _manager; } }
public float outerRadius = 1f; // Outer&inner radius of hex tile.
public float innerRadius = Mathf.Sqrt(3) / 2; // These variables can be deleted if there are no use.
//public float outerRadius = 1f;
//public float innerRadius = Mathf.Sqrt(3) / 2;
public GameObject HextilePrefab;
private GameObject[,] _tiles;
public GameObject[,] Tiles { get { return _tiles; } }
public GameObject UnitPrefab;
private List<GameObject> _units = new List<GameObject>();
public List<GameObject> Units { get { return _units; } }
public Material[] materials;
public Renderer rend;
public CivModel.Unit selectedUnit;
void Awake() {
// Singleton
......@@ -56,6 +58,23 @@ public class GameManager : MonoBehaviour {
// Update is called once per frame
void Update() {
}
private void UpdateMapUnit() {
for (int i = 0; i < _game.Terrain.Width; i++) {
for (int j = 0; j < _game.Terrain.Height; j++) {
CivModel.Terrain.Point point = _game.Terrain.GetPoint(i, j);
HexTile tile = _tiles[i, j].GetComponent<HexTile>();
tile.SetTerrain();
tile.SetBuilding();
}
}
foreach (var unt in _units){
}
}
private void InitiateMap() {
......@@ -63,16 +82,15 @@ public class GameManager : MonoBehaviour {
for (int i = 0; i < _game.Terrain.Width; i++) {
for (int j = 0; j < _game.Terrain.Height; j++) {
Vector3 pos = new Vector3(2 * i * innerRadius, -0.05f, -j * outerRadius * 1.5f);
if (j % 2 != 0) {
pos.x -= innerRadius;
}
Vector3 pos = ModelPntToUnityPnt(i, j, -0.05f);
_tiles[i, j] = Instantiate(HextilePrefab, pos, Quaternion.identity);
_tiles[i, j].name = String.Format("Tile({0},{1})", i, j);
CivModel.Terrain.Point pnt = _game.Terrain.GetPoint(i, j);
_tiles[i, j].GetComponent<HexTile>().point = pnt;
_tiles[i, j].GetComponent<HexTile>().SetPoints(pnt, pos);
if (pnt.Unit != null)
InitiateUnit(_game.Terrain.GetPoint(i, j).Unit);
InitiateUnit(pnt.Unit);
}
}
}
......@@ -80,19 +98,32 @@ public class GameManager : MonoBehaviour {
private void InitiateUnit(CivModel.Unit unit) {
if (unit?.PlacedPoint != null) {
var pt = unit.PlacedPoint.Value;
Vector3 pos = new Vector3(2 * pt.Position.X * innerRadius, 1.25f, -pt.Position.Y * outerRadius * 1.5f);
if ((pt.Position.Y % 2) != 0) {
pos.x -= innerRadius;
}
Vector3 pos = ModelPntToUnityPnt(pt, 1.25f);
GameObject unt = Instantiate(UnitPrefab, pos, Quaternion.identity);
unt.name = String.Format("Unit[{0},{1}]", pt.Position.X, pt.Position.Y);
unt.GetComponent<Unit>().point = pt;
foreach (Material m in GameManager.I.materials) {
if (m == GameManager.I.materials[(int)UnitEnum.UnitToEnum(unit)]) {
unt.GetComponent<Renderer>().material = m;
unt.GetComponent<Unit>().SetPoints(pt, pos);
_units.Add(unt);
}
}
public static Vector3 ModelPntToUnityPnt(CivModel.Terrain.Point pt, float yPos) {
Vector3 unityPoint = new Vector3(2 * pt.Position.X * (Mathf.Sqrt(3) / 2), yPos, -pt.Position.Y * 1.5f);
if ((pt.Position.Y % 2) != 0)
unityPoint.x -= (Mathf.Sqrt(3) / 2);
return unityPoint;
}
public static Vector3 ModelPntToUnityPnt(int i, int j, float yPos)
{
Vector3 unityPoint = new Vector3(2 * i * (Mathf.Sqrt(3) / 2), yPos, -j * 1.5f);
if ((j % 2) != 0)
unityPoint.x -= (Mathf.Sqrt(3) / 2);
return unityPoint;
}
}
......@@ -9,33 +9,52 @@ public class HexTile : MonoBehaviour
// 현재 tile의 위치의 point class
public CivModel.Terrain.Point point;
// Unity에서 그려지는 벡터 포지션
public Vector3 unityPoint;
// prefab의 자식 gameobject들
Transform terrains;
Transform buildings;
CivModel.TileBuilding building;
public bool isFlickering;
private IEnumerator _coroutine;
// Use this for initialization
void Start() {
terrains = transform.GetChild(0).transform;
SetTerrain();
buildings = transform.GetChild(1).transform;
building = point.TileBuilding;
SetBuilding();
}
public void SetPoints(CivModel.Terrain.Point p1) {
this.point = p1;
this.unityPoint = GameManager.ModelPntToUnityPnt(p1, -0.05f);
}
public void SetPoints(CivModel.Terrain.Point p1, Vector3 p2) {
this.point = p1;
this.unityPoint = new Vector3(p2.x, p2.y, p2.z);
}
// Render tile terrain
public void SetTerrain() {
terrains = transform.GetChild(0).transform;
if (terrains != null) {
foreach (Transform child in terrains) {
child.gameObject.SetActive(false);
}
terrains.GetChild((int)point.Type).gameObject.SetActive(true);
}
}
public void SetBuilding() {
Transform side;
buildings = transform.GetChild(1).transform;
building = point.TileBuilding;
Transform side;
if (building is CivModel.CityBase) {
buildings.GetChild(2).gameObject.SetActive(true);
side = buildings.GetChild((building.Owner.Team + 1) % 2);
......@@ -75,6 +94,72 @@ public class HexTile : MonoBehaviour
}
}
// Flicker with blue color. This is used for parametered move and skill.
public void FlickerBlue()
{
isFlickering = true;
//Debug.Log(gameObject.name + " is flickering with blue");
if (terrains.GetChild((int)point.Type).GetComponent<Renderer>() == null)
return;
_coroutine = Flicker(Color.blue);
StartCoroutine(_coroutine);
}
// Blink with red color. This is used for attack.
public void FlickerRed()
{
isFlickering = true;
//Debug.Log(gameObject.name + " is flickering with red");
if (terrains.GetChild((int)point.Type).GetComponent<Renderer>() == null)
return;
_coroutine = Flicker(Color.red);
StartCoroutine(_coroutine);
}
public void StopFlickering()
{
isFlickering = false;
//Debug.Log(gameObject.name + " stopped flickering");
if (terrains.GetChild((int)point.Type).GetComponent<Renderer>() == null)
return;
if (_coroutine == null)
return;
StopCoroutine(_coroutine);
Material mat = terrains.GetChild((int)point.Type).GetComponent<Renderer>().material;
mat.SetColor("_Color", Color.white);
}
// Make tile flicker with color c. Don't need to read this method.
IEnumerator Flicker(Color c)
{
Material mat = terrains.GetChild((int)point.Type).GetComponent<Renderer>().material;
Color delta = Color.white - c;
while (true)
{
// From white to c
for (float i = 0; i <= 1f; i += 1.5f * Time.deltaTime)
{
mat.SetColor("_Color", Color.white - delta * (1 - Mathf.Cos(Mathf.PI * i)) / 2);
yield return null;
}
mat.SetColor("_Color", c);
// From c to white
for (float i = 0; i <= 1f; i += 1.5f * Time.deltaTime)
{
mat.SetColor("_Color", c + delta * (1 - Mathf.Cos(Mathf.PI * i)) / 2);
yield return null;
}
mat.SetColor("_Color", Color.white);
if (!isFlickering)
{
break;
}
yield return new WaitForSeconds(0.2f);
}
}
}
......@@ -8,6 +8,10 @@ public class UIManager : MonoBehaviour
GameObject mapUI;
GameObject managementUI;
GameObject questUI;
GameObject selectedUnit;
public Ray ray;
public RaycastHit hit;
// Use this for initialization
void Start()
......@@ -15,11 +19,25 @@ public class UIManager : MonoBehaviour
mapUI = GameObject.Find("MapUI");
managementUI = GameObject.Find("ManagementUI");
questUI = GameObject.Find("QuestUI");
// mapUI.SetActive(false);
managementUI.SetActive(false);
questUI.SetActive(false);
}
// Update is called once per frame
void Update()
{
ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Input.GetMouseButtonDown(0)) {
if(Physics.Raycast(ray, out hit)){
selectedUnit = hit.transform.gameObject;
Debug.Log(selectedUnit.name);
Unit unt = selectedUnit.GetComponent<Unit>();
if(unt != null)
GameManager.Instance.selectedUnit = unt.point.Unit;
}
}
}
......@@ -38,4 +56,11 @@ public class UIManager : MonoBehaviour
if (go != mapUI) mapUI.SetActive(true);
}
}
public void onClickMove() {
}
}
\ No newline at end of file
......@@ -9,7 +9,250 @@ public class Unit : MonoBehaviour {
// 현재 Unit의 위치의 point class
public CivModel.Terrain.Point point;
// Unity에서 그려지는 벡터 포지션
public Vector3 unityPoint;
private bool _inMoveState = false;
public bool MoveState { get { return _inMoveState; } }
private bool _inAttackState = false;
public bool AttackState { get { return _inAttackState; } }
private bool _inSkillState = false;
public bool SkillState { get { return _inSkillState; } }
//private bool _inDepState = false;
//public bool DepState { get { return _inDepState; } }
private int _currentSkill = -1;
private CivModel.Terrain.Point?[] _parameterPoints;
// Use this for initialization
void Start() {
}
public void SetPoints(CivModel.Terrain.Point p1) {
this.point = p1;
this.unityPoint = GameManager.ModelPntToUnityPnt(p1, 1.25f);
this.transform.position = this.unityPoint;
SetMaterial();
}
public void SetPoints(CivModel.Terrain.Point p1, Vector3 p2)
{
this.point = p1;
this.unityPoint = new Vector3(p2.x, p2.y, p2.z);
this.transform.position = this.unityPoint;
SetMaterial();
}
private void SetMaterial() {
foreach (Material m in GameManager.Instance.materials)
{
if (m == GameManager.Instance.materials[(int)UnitEnum.UnitToEnum(point.Unit)])
{
GetComponent<Renderer>().material = m;
}
}
}
// There are enter, exit methods for move and attack states. Enter methods are public, exit methods are default.
// NormalStateEnter() simply resets all state condition.
public void NormalStateEnter()
{
if (_inMoveState) MoveStateExit();
if (_inAttackState) AttackStateExit();
if (_inSkillState) SkillStateExit();
//if (_inDepState) DepStateExit();
}
// When move state, coloring movable adjacent tiles
// Current MoveStateEnter() shows only adjacent tiles. If moving mechanism of model changes, this should be changed.
public void MoveStateEnter()
{
// State change
if (_inMoveState) return;
if (_inAttackState) AttackStateExit();
if (_inSkillState) SkillStateExit();
//if (_inDepState) DepStateExit();
_inMoveState = true;
if (GameManager.Instance.selectedUnit == null)
{
return;
}
// Select movable adjacent tiles
_parameterPoints = GameManager.Instance.selectedUnit.PlacedPoint.Value.Adjacents();
for (int i = 0; i < _parameterPoints.Length; i++)
{
if (GameManager.Instance.selectedUnit.MovingAttackAct.IsActable(_parameterPoints[i]))
{
CivModel.Position pos = _parameterPoints[i].Value.Position;
GameManager.Instance.Tiles[pos.X, pos.Y].GetComponent<HexTile>().FlickerRed();
}
else if (GameManager.Instance.selectedUnit.MoveAct.IsActable(_parameterPoints[i]))
{
CivModel.Position pos = _parameterPoints[i].Value.Position;
GameManager.Instance.Tiles[pos.X, pos.Y].GetComponent<HexTile>().FlickerBlue();
}
}
}
void MoveStateExit()
{
_inMoveState = false;
if (_parameterPoints == null)
return;
for (int i = 0; i < _parameterPoints.Length; i++)
{
if (_parameterPoints[i] != null)
{
CivModel.Position pos = _parameterPoints[i].Value.Position;
GameManager.Instance.Tiles[pos.X, pos.Y].GetComponent<HexTile>().StopFlickering();
}
}
_parameterPoints = null;
}
public void AttackStateEnter()
{
// State change
if (_inAttackState) return;
if (_inMoveState) MoveStateExit();
if (_inSkillState) SkillStateExit();
///if (_inDepState) DepStateExit();
_inAttackState = true;
if (GameManager.Instance.selectedUnit == null)
return;
// If GameManager.I.SelectedActor cannot attack
if (GameManager.Instance.selectedUnit.MovingAttackAct == null)
return;
// Select attackable adjacent tiles
_parameterPoints = GameManager.Instance.selectedUnit.PlacedPoint.Value.Adjacents();
for (int i = 0; i < _parameterPoints.Length; i++)
{
if (GameManager.Instance.selectedUnit.MovingAttackAct.IsActable(_parameterPoints[i]))
{
CivModel.Position pos = _parameterPoints[i].Value.Position;
GameManager.Instance.Tiles[pos.X, pos.Y].GetComponent<HexTile>().FlickerRed();
}
}
}
void AttackStateExit()
{
_inAttackState = false;
if (_parameterPoints == null)
return;
for (int i = 0; i < _parameterPoints.Length; i++)
{
if (_parameterPoints[i] != null)
{
CivModel.Position pos = _parameterPoints[i].Value.Position;
GameManager.Instance.Tiles[pos.X, pos.Y].GetComponent<HexTile>().StopFlickering();
}
}
_parameterPoints = null;
}
public void SkillStateEnter(int index)
{
// State change
if (_inSkillState && _currentSkill == index) return;
if (_inMoveState) MoveStateExit();
if (_inAttackState) AttackStateExit();
//if (_inDepState) DepStateExit();
_inSkillState = true;
_currentSkill = index;
// If SpecialActs[_currentSkill] is not parametered skill, this skill is immediately activated.
if (!GameManager.Instance.selectedUnit.SpecialActs[_currentSkill].IsParametered)
{
GameManager.Instance.selectedUnit.SpecialActs[_currentSkill].Act(null);
SkillStateExit();
return;
}
else
{
for (int i = 0; i < GameManager.Instance.Game.Terrain.Width; i++)
{
for (int j = 0; j < GameManager.Instance.Game.Terrain.Height; j++)
{
CivModel.Terrain.Point? pnt = GameManager.Instance.Game.Terrain.GetPoint(i, j);
if (GameManager.Instance.selectedUnit.SpecialActs[_currentSkill].IsActable(pnt))
{
CivModel.Position pos = pnt.Value.Position;
GameManager.Instance.Tiles[pos.X, pos.Y].GetComponent<HexTile>().FlickerBlue();
}
}
}
}
}
void SkillStateExit()
{
int index = _currentSkill;
_inSkillState = false;
_currentSkill = -1;
if (GameManager.Instance.selectedUnit == null || !GameManager.Instance.selectedUnit.SpecialActs[index].IsParametered)
{
return;
}
else
{
for (int i = 0; i < GameManager.Instance.Game.Terrain.Width; i++)
{
for (int j = 0; j < GameManager.Instance.Game.Terrain.Height; j++)
{
CivModel.Terrain.Point? pnt = GameManager.Instance.Game.Terrain.GetPoint(i, j);
if (GameManager.Instance.selectedUnit.SpecialActs[index].IsActable(pnt))
{
CivModel.Position pos = pnt.Value.Position;
GameManager.Instance.Tiles[pos.X, pos.Y].GetComponent<HexTile>().StopFlickering();
}
}
}
}
}
//public void DepStateEnter(Production dep)
//{
// // State change
// if (dep == null || _inDepState) return;
// if (_inMoveState) MoveStateExit();
// if (_inAttackState) AttackStateExit();
// if (_inSkillState) SkillStateExit();
// _inDepState = true;
// _deployment = dep;
// // Select deploy tile
// CivModel.Terrain terrain = GameManager.I.Game.Terrain;
// for (int i = 0; i < terrain.Width; i++)
// {
// for (int j = 0; j < terrain.Height; j++)
// {
// CivModel.Terrain.Point point = terrain.GetPoint(i, j);
// if (dep.IsPlacable(point))
// {
// GameManager.I.Cells[point.Position.X, point.Position.Y].GetComponent<HexTile>().FlickerBlue();
// }
// }
// }
//}
//void DepStateExit()
//{
// _inDepState = false;
// _deployment = null;
// CivModel.Terrain terrain = GameManager.I.Game.Terrain;
// for (int i = 0; i < terrain.Width; i++)
// {
// for (int j = 0; j < terrain.Height; j++)
// {
// CivModel.Terrain.Point point = terrain.GetPoint(i, j);
// GameManager.I.Cells[point.Position.X, point.Position.Y].GetComponent<HexTile>().StopFlickering();
// }
// }
//}
}
......@@ -583,7 +583,8 @@ PlayerSettings:
allowUnsafeCode: 0
additionalIl2CppArgs:
scriptingRuntimeVersion: 1
apiCompatibilityLevelPerPlatform: {}
apiCompatibilityLevelPerPlatform:
Standalone: 1
m_RenderingPath: 1
m_MobileRenderingPath: 1
metroPackageName: Template_3D
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment