1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- using UnityEngine;
- using System.Collections;
- public class SectorBullet : Bullet
- {
-
- public float delayEffect = 0.5f;
- public float delayRemove = 2f;
-
- private bool effected = false;
- public int[] targetIds;
- public override void Init (Map map, Vector3 position, ITarget target, Power power)
- {
- base.Init (map, position, target, power);
- float theta = NumberUtil.getRadianByATan(target.position.x, target.position.z, position.x, position.z);
- float rotateAngle = -NumberUtil.radianToAngle(theta);
- Vector3 eulerAngles = transform.eulerAngles;
- eulerAngles.y = rotateAngle;
- transform.eulerAngles = eulerAngles;
- }
-
- // Update is called once per frame
- override public void Update ()
- {
- float currentTime = GameTime.time;
- if(!effected && currentTime - startTime > delayEffect)
- {
- effected = true;
- MakeDamage();
- }
-
- if(effected && currentTime - startTime > delayRemove)
- {
- Remove();
- }
- }
- protected override void MakeDamage ()
- {
- for(int i=0; i<targetIds.Length; i++)
- {
- BattleObject obj = map.GetBattleObject(targetIds[i]);
- DoDamage(obj);
- }
- }
-
- }
|