public static Texture GetTextureByType(AlertAreaType _type) { if (!textureDic.ContainsKey(_type) || textureDic[_type] == null) { string path = string.Empty; switch (_type) { case AlertAreaType.SECTOR30: path = "AbilityProjector/30"; break; case AlertAreaType.SECTOR45: path = "AbilityProjector/45"; break; case AlertAreaType.SECTOR60: path = "AbilityProjector/60"; break; case AlertAreaType.SECTOR90: path = "AbilityProjector/90"; break; case AlertAreaType.SECTOR135: path = "AbilityProjector/135"; break; case AlertAreaType.SECTOR180: path = "AbilityProjector/180"; break; case AlertAreaType.SECTOR270: path = "AbilityProjector/270"; break; case AlertAreaType.SECTOR360: path = "AbilityProjector/360"; break; case AlertAreaType.RECT: path = "AbilityProjector/Arrow"; break; default: return(null); } textureDic[_type] = exResources.GetResource(ResourceType.TEXTURE, path) as Texture; } return(textureDic[_type]); }
public void OnSpawned(AlertAreaType _type, Color _color, float _rotY, float _wid, float _length, float _duration) { base.OnSpawned(); this.gameObject.transform.eulerAngles = new Vector3(90, _rotY, 0); Projector pro = this.gameObject.GetComponent <Projector>(); pro.aspectRatio = _wid / _length; pro.orthographicSize = Mathf.Max(_length, _wid); mat = pro.material; if (mat != null) { mat.mainTexture = GameStageUtility.GetTextureByType(_type); fromColor = new Color(_color.r, _color.g, _color.b, 0); mat.color = fromColor; aimColor = _color; startTime = Time.time; shakeScale = Mathf.Abs(startShake); } Invoke("StartReturn", _duration); }
/// <summary> /// 从对象池中取出技能预警投射器的对象 by吴江 /// </summary> /// <param name="_pos"></param> /// <param name="_rot"></param> /// <returns></returns> public AbilityShadowEffecter SpawnAbilityShadowEffecter(Transform _parent, float _rotY, float _wid, float _length, AlertAreaType _type, Color _color, float _duration) { AbilityShadowEffecter abilityShadowEffecter = AbilityShadowEffectorPool.Request(Vector3.zero); abilityShadowEffecter.transform.parent = _parent; abilityShadowEffecter.transform.localPosition = new Vector3(0, 10.0f, 0); abilityShadowEffecter.OnSpawned(_type, _color, _rotY, _wid, _length, _duration); return(abilityShadowEffecter); }
/// <summary> /// 从对象池中取出技能预警投射器的对象 by吴江 /// </summary> /// <param name="_pos"></param> /// <param name="_rot"></param> /// <returns></returns> public AbilityShadowEffecter SpawnAbilityShadowEffecter(Vector3 _pos, float _rotY, float _wid, float _length, AlertAreaType _type, Color _color, float _duration) { AbilityShadowEffecter abilityShadowEffecter = AbilityShadowEffectorPool.Request(_pos); abilityShadowEffecter.OnSpawned(_type, _color, _rotY, _wid, _length, _duration); return(abilityShadowEffecter); }