Test 1
Test2

add /Library/ to ignore
小DEMO版本

小DEMO版本
- 三種武器
- Gun
- SlowGun
- LaserGun
- 敵人有路徑 - MyNavigation
整理資料夾、檔案

1. remove Library/  and Temp/
2. 整理scripts:

- GmaeStatic
- GUIMainScript
- Score

= Weapon
- Weapon
- Gun
- LaserGun
- SlowGun
- WeaponDetector
- Bullet
- SlowBullet
= Enemy
- Enemy
- Tank
= Util
- MyNavigation
= Test
- NavTankTest
.gitignore is now working
.gitignore is now working
.gitignore is now working
.gitignore is now working
MyNavigation 行為改變

MyNavigation的speed參數改為由外部設定，
新增public void SetSpeed(float spd)
使用物件(如敵人)初始化或改變速度時都必須呼叫此參數

使用方式：
使用物件的Script中取得MyNavigation物件並隨時call SetSpeed()更新
Small Change

1. Enemy::killed() -> Killed()
2. Tank都變成Prefab，刪除cube Prefabs
補充Enemy's Public Methods; MyNavigation, WeaponDetector小修

1.Enemy：
補完public methods，public getters,setters

2. MyNavigation
增加isStarted, isReached
改變到達終點的行為(刪除物件 -> isReahed = true)

3.WeaponDetector:
最近距離比較標準由距離改為距離的平方(減少運算量)
修正enemy速度更新的bug

Enemy的StartMoving()放棄

他會先執行完呼叫Initiate()的那個Update()才進入Enemy的Start()
所以不用擔心甚麼還沒設好路徑他就開始跑的問題
是我蠢ㄏㄏ
補充Weapon's Public Functions

class Weapon
public float DetectRadius   (R)
public float ShootPeriod    (R)
public int   MaxLevel       (RW)
public int   Level          (RW)
public float AttackDamage   (R)
public Transform MyTransform(RW)

public float[] attackDamageList (RW) = { 0, 10, 20, 30, 40, 50}
//每個等級的攻擊力，0等 = 0，數字亂訂的 可依遊戲性調整
public float[] shootPeriodList  (RW) = { 1<<10, 1, 0.9, 0.8, 0.6, 0.4}
public float[] detectRadiusList (RW) = { 0, 10, 15, 20, 25, 35}

public void Attack();
public void LevelUp()
public void KillEnemy(GameObject enemy)
public void DestroyGameObject() //刪掉物件  玩家選擇刪除之類的

public void MoveTo(Vector2 pos)
public void Translate(float x, float y)
public void Translate(Vector2 trans)
public void Rotate(Quarternion rot)  //直接將transform.rotation設為rot
public void Rotate(float degAntiCW)  //逆時針旋轉角度

class LaserGun
public GameObject PrefabBullet
class Gun
public GameObject PrefabLaserBullet

class SlowGun
public GameObject prefabSlowBullet;
public float SlowRatio (R)
public float SlowTime  (R)
public float[] slowRatioList = //數字亂訂的 可依遊戲性調整
{ 1f,   0.7f, 0.6f, 0.5f, 0.4f, 0.3f  };

public float[] slowTimeList = //數字亂訂的 可依遊戲性調整
{0f, 5f, 6f, 8f, 11f, 15f };
Finish Laser Gun Fuck

Laser Gun is a fucking-time-consuming job for an idiot

Function:
A beam follows the nearest enemy and changes targets when needed.
You can set the following parameters of the gun(and beam):
- float AttackPeriod: an attack per period in seconds, default : 1 sec
- float[] attackDamageList: the damage every attack makes
- float[] damageIncreaseRateList: increasing ammount of attackDamage

others paras are inherited from Weapon
Push EnemyWeaponSetting.txt Doc
Fixed Weapon's "DetectRadius": 改為絕對長度

原本的radius誤設為scale(放大倍率的x, y值)
更正為絕對長度，單位為公尺。
Finish Poison Weapon, adjust some little things

1. 新增PoisonGun, PoisonGas
2. 新增MostForwardEnemyDetector: 繼承自WeaponDetector,
可偵測圓形範圍中離終點最近者。也許每種武器都應使用這種Detector。
為此增加第3點。
3. MyNavigation新增兩個getter，取得下一個目標編號和離他的距離。
4. LaserBeam會自動毀滅(OnTriggerExit2D)。
5. 下載了一種好用的測量工具(zzRuler，把水平和垂直的ruler拉到列表就可以用，單位是公尺~)
Add to Weapon: enebled, selected, cost
Add SplittingCubeWeapon, change Weapon's level

- need to change many Fields of Weapon(and its children) by the lists of
levels (ATTRIBUTELevels)
- change Weapon's maxLevel to 5 from 1
Update some Weapon attributes