private void reloadIcons() { if (activeAbil != Abilities.AbilityType.none) { abilityInReuse = true; } else if (activeAbil == Abilities.AbilityType.none && abilityInReuse) { abilityInReuse = false; } abilitiesGameObjects[0].GetComponent <SpriteRenderer>().sprite = Templates.AbilitiesIcons.getIcon(Abilities.AbilityType.none, true); for (i = 0; i < planeTemplate.abilities.Count; i++) { if (abilityInReuse) { abilitiesGameObjects[i + 1].tag = "abil_reused"; abilitiesGameObjects[i + 1].GetComponent <SpriteRenderer>().sprite = Templates.AbilitiesIcons.getIconGrey((Abilities.AbilityType)planeTemplate.abilities[i], false); } else { abilitiesGameObjects[i + 1].tag = "abil_" + (i + 1); abilitiesGameObjects[i + 1].GetComponent <SpriteRenderer>().sprite = Templates.AbilitiesIcons.getIcon((Abilities.AbilityType)planeTemplate.abilities[i], false); } } selectedAbilPosition = 0; activeAbil = Abilities.AbilityType.none; CalculatePath(); }
private void reloadIcons() { if(activeAbil!=Abilities.AbilityType.none) abilityInReuse=true; else if(activeAbil==Abilities.AbilityType.none && abilityInReuse) abilityInReuse=false; abilitiesGameObjects[0].GetComponent<SpriteRenderer>().sprite=Templates.AbilitiesIcons.getIcon(Abilities.AbilityType.none,true); for(i=0;i<planeTemplate.abilities.Count;i++) { if(abilityInReuse) { abilitiesGameObjects[i+1].tag="abil_reused"; abilitiesGameObjects[i+1].GetComponent<SpriteRenderer>().sprite=Templates.AbilitiesIcons.getIconGrey((Abilities.AbilityType)planeTemplate.abilities[i],false); } else { abilitiesGameObjects[i+1].tag="abil_"+(i+1); abilitiesGameObjects[i+1].GetComponent<SpriteRenderer>().sprite=Templates.AbilitiesIcons.getIcon((Abilities.AbilityType)planeTemplate.abilities[i],false); } } selectedAbilPosition=0; activeAbil=Abilities.AbilityType.none; CalculatePath(); }
public void onAbilitySwitched(int abilNumber) { if(abilNumber!=-1) { if(activeAbil==Abilities.AbilityType.none) { abilitiesGameObjects[0].GetComponent<SpriteRenderer>().sprite=Templates.AbilitiesIcons.getIcon((Abilities.AbilityType)planeTemplate.abilities[abilNumber-1],true); abilitiesGameObjects[abilNumber].GetComponent<SpriteRenderer>().sprite=Templates.AbilitiesIcons.getIcon(Abilities.AbilityType.none,false); selectedAbilPosition=abilNumber; prevAbil=Abilities.AbilityType.none; activeAbil=(Abilities.AbilityType) planeTemplate.abilities[abilNumber-1]; abilitiesGameObjects[0].transform.eulerAngles=forActiveAbil; } else { if(activeAbil==(Abilities.AbilityType)planeTemplate.abilities[abilNumber-1]) { prevAbil=activeAbil; abilitiesGameObjects[0].GetComponent<SpriteRenderer>().sprite=Templates.AbilitiesIcons.getIcon(Abilities.AbilityType.none,true); abilitiesGameObjects[abilNumber].GetComponent<SpriteRenderer>().sprite=Templates.AbilitiesIcons.getIcon(activeAbil,false); selectedAbilPosition=0; activeAbil=Abilities.AbilityType.none; CalculatePath(); } else { prevAbil=activeAbil; abilitiesGameObjects[0].GetComponent<SpriteRenderer>().sprite=Templates.AbilitiesIcons.getIcon((Abilities.AbilityType)planeTemplate.abilities[abilNumber-1],true); abilitiesGameObjects[selectedAbilPosition].GetComponent<SpriteRenderer>().sprite=Templates.AbilitiesIcons.getIcon(activeAbil,false); abilitiesGameObjects[abilNumber].GetComponent<SpriteRenderer>().sprite=Templates.AbilitiesIcons.getIcon(Abilities.AbilityType.none,false); activeAbil=(Abilities.AbilityType) planeTemplate.abilities[abilNumber-1]; selectedAbilPosition=abilNumber; } } } if(activeAbil==Abilities.AbilityType.none || activeAbil==Abilities.AbilityType.gas || activeAbil==Abilities.AbilityType.homingMissle || activeAbil==Abilities.AbilityType.homingThorpede || activeAbil==Abilities.AbilityType.mines || activeAbil==Abilities.AbilityType.shield) { maxLen=planeTemplate.maxRange; minLen=planeTemplate.minRange; maxAngle=planeTemplate.maxTurnAngle; attackIcon.transform.localPosition=Quaternion.Euler(0,0,-attackIconAngleLast)*new Vector3(0,-maxLen,0); } if(activeAbil==Abilities.AbilityType.halfRoundTurn) { maxLen=planeTemplate.minRange; minLen=planeTemplate.minRange; maxAngle=0.0f; abilRandonRotateDirection=Random.Range(0,2); if(abilRandonRotateDirection==0) abilRandonRotateDirection=-1; //Debug.Log("RA: "+abilRandonRotateDirection); attackIcon.transform.localPosition=new Vector3(0,-maxLen,0); } if(activeAbil==Abilities.AbilityType.turnAround) { maxLen=0.7f*planeTemplate.maxRange; minLen=0.7f*planeTemplate.maxRange; maxAngle=planeTemplate.maxTurnAngle; abilRandonRotateDirection=Random.Range(0,2); if(abilRandonRotateDirection==0) abilRandonRotateDirection=-1; attackIcon.transform.localPosition=Quaternion.Euler(0,0,-attackIconAngleLast)*new Vector3(0,-maxLen,0); } if(activeAbil==Abilities.AbilityType.doubleThrottle) { maxLen=2*planeTemplate.maxRange; minLen=2*planeTemplate.minRange; maxAngle=planeTemplate.maxTurnAngle; attackIcon.transform.localPosition=Quaternion.Euler(0,0,-attackIconAngleLast)*new Vector3(0,-maxLen,0); } CalculatePath(); if(activeAbil!=Abilities.AbilityType.none) abilitiesGameObjects[0].transform.eulerAngles=forActiveAbil; abilitiesGameObjects[1].transform.eulerAngles=forAbilities; abilitiesGameObjects[2].transform.eulerAngles=forAbilities; abilitiesGameObjects[3].transform.eulerAngles=forAbilities; abilitiesGameObjects[4].transform.eulerAngles=forAbilities; }
public void Die() { if(activeAbil!=Abilities.AbilityType.none && !abilityInReuse) { prevAbil=activeAbil; abilityInReuse=true; activeAbil=Abilities.AbilityType.none; AbilitySwitched(); } GameStorage.getInstance().removeEnemyShuttle(this.gameObject); }
void TryChoiceAbil() { if(temp.abilities.Count>0) { if(UnityEngine.Random.Range(0,100)<=Abilities.aiUseAbilityChance) { prevAbil=activeAbil; activeAbil=(Abilities.AbilityType) temp.abilities[UnityEngine.Random.Range(0,temp.abilities.Count)]; if(activeAbil==Abilities.AbilityType.halfRoundTurn || activeAbil==Abilities.AbilityType.turnAround) { GameObject ff = GameStorage.getInstance().getNearbyFriendly(gameObject); if(ff!=null) { if(Vector2.Distance(new Vector2(ff.transform.position.x,ff.transform.position.z),new Vector2(transform.position.x,transform.position.z))>Abilities.aiUse180360abilitiesRange) { activeAbil=prevAbil; return; } } } AbilitySwitched(); Debug.Log(activeAbil); } } }
public void StepEnd() { if(activeAbil==Abilities.AbilityType.none && abilityInReuse) { abilityInReuse=false; } if(activeAbil!=Abilities.AbilityType.none && !abilityInReuse) { prevAbil=activeAbil; abilityInReuse=true; activeAbil=Abilities.AbilityType.none; AbilitySwitched(); } if(defectInUse) { defectInUse=false; earnedDefect=false; curDefect=null; } t=0; if(!abilityInReuse && !earnedDefect) TryChoiceAbil(); }
public void onAbilitySwitched(int abilNumber) { if (abilNumber != -1) { if (activeAbil == Abilities.AbilityType.none) { abilitiesGameObjects[0].GetComponent <SpriteRenderer>().sprite = Templates.AbilitiesIcons.getIcon((Abilities.AbilityType)planeTemplate.abilities[abilNumber - 1], true); abilitiesGameObjects[abilNumber].GetComponent <SpriteRenderer>().sprite = Templates.AbilitiesIcons.getIcon(Abilities.AbilityType.none, false); selectedAbilPosition = abilNumber; prevAbil = Abilities.AbilityType.none; activeAbil = (Abilities.AbilityType)planeTemplate.abilities[abilNumber - 1]; abilitiesGameObjects[0].transform.eulerAngles = forActiveAbil; } else { if (activeAbil == (Abilities.AbilityType)planeTemplate.abilities[abilNumber - 1]) { prevAbil = activeAbil; abilitiesGameObjects[0].GetComponent <SpriteRenderer>().sprite = Templates.AbilitiesIcons.getIcon(Abilities.AbilityType.none, true); abilitiesGameObjects[abilNumber].GetComponent <SpriteRenderer>().sprite = Templates.AbilitiesIcons.getIcon(activeAbil, false); selectedAbilPosition = 0; activeAbil = Abilities.AbilityType.none; CalculatePath(); } else { prevAbil = activeAbil; abilitiesGameObjects[0].GetComponent <SpriteRenderer>().sprite = Templates.AbilitiesIcons.getIcon((Abilities.AbilityType)planeTemplate.abilities[abilNumber - 1], true); abilitiesGameObjects[selectedAbilPosition].GetComponent <SpriteRenderer>().sprite = Templates.AbilitiesIcons.getIcon(activeAbil, false); abilitiesGameObjects[abilNumber].GetComponent <SpriteRenderer>().sprite = Templates.AbilitiesIcons.getIcon(Abilities.AbilityType.none, false); activeAbil = (Abilities.AbilityType)planeTemplate.abilities[abilNumber - 1]; selectedAbilPosition = abilNumber; } } } if (activeAbil == Abilities.AbilityType.none || activeAbil == Abilities.AbilityType.gas || activeAbil == Abilities.AbilityType.homingMissle || activeAbil == Abilities.AbilityType.homingThorpede || activeAbil == Abilities.AbilityType.mines || activeAbil == Abilities.AbilityType.shield) { maxLen = planeTemplate.maxRange; minLen = planeTemplate.minRange; maxAngle = planeTemplate.maxTurnAngle; attackIcon.transform.localPosition = Quaternion.Euler(0, 0, -attackIconAngleLast) * new Vector3(0, -maxLen, 0); } if (activeAbil == Abilities.AbilityType.halfRoundTurn) { maxLen = planeTemplate.minRange; minLen = planeTemplate.minRange; maxAngle = 0.0f; abilRandonRotateDirection = Random.Range(0, 2); if (abilRandonRotateDirection == 0) { abilRandonRotateDirection = -1; } //Debug.Log("RA: "+abilRandonRotateDirection); attackIcon.transform.localPosition = new Vector3(0, -maxLen, 0); } if (activeAbil == Abilities.AbilityType.turnAround) { maxLen = 0.7f * planeTemplate.maxRange; minLen = 0.7f * planeTemplate.maxRange; maxAngle = planeTemplate.maxTurnAngle; abilRandonRotateDirection = Random.Range(0, 2); if (abilRandonRotateDirection == 0) { abilRandonRotateDirection = -1; } attackIcon.transform.localPosition = Quaternion.Euler(0, 0, -attackIconAngleLast) * new Vector3(0, -maxLen, 0); } if (activeAbil == Abilities.AbilityType.doubleThrottle) { maxLen = 2 * planeTemplate.maxRange; minLen = 2 * planeTemplate.minRange; maxAngle = planeTemplate.maxTurnAngle; attackIcon.transform.localPosition = Quaternion.Euler(0, 0, -attackIconAngleLast) * new Vector3(0, -maxLen, 0); } CalculatePath(); if (activeAbil != Abilities.AbilityType.none) { abilitiesGameObjects[0].transform.eulerAngles = forActiveAbil; } abilitiesGameObjects[1].transform.eulerAngles = forAbilities; abilitiesGameObjects[2].transform.eulerAngles = forAbilities; abilitiesGameObjects[3].transform.eulerAngles = forAbilities; abilitiesGameObjects[4].transform.eulerAngles = forAbilities; }
void OnGUI() { if(Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer) showPopup=selected; GUI.enabled=!GameStorage.getInstance().overlap; if(GameStorage.getInstance().overlap) GUI.color=disColor; else GUI.color=goodColor; //TEST //GUI.Label(new Rect(100,100,40,40),"",Templates.getInstance().arrowRedSkin.label); //TEST_END if(damageShowTime>0) { float posX,posY; Vector3 pzp = Camera.main.WorldToScreenPoint(transform.position); posX=pzp.x-50; posY=Screen.height-pzp.y-50; string text=""; if(block) text="<color=green>Blocked</color>"; else { if(receivedDefect) text="<color=red>-"+receivedDamage+"</color>"; else text="-"+receivedDamage; } GUI.Box(new Rect(posX,posY,100,20),text); damageShowTime-=Time.deltaTime; if(damageShowTime<0) { damageShowTime=0; receivedDamage=0; receivedDefect=false; } } if(showPopup && !GameStorage.getInstance().isRunning) { GUI.FocusControl(null); Paintvec = Camera.main.WorldToScreenPoint(transform.position); GUISkin progressSkin = Templates.getInstance().progressHpSkin; GUILayout.BeginArea(new Rect(Templates.ResolutionProblems.getPopupBannerOffset(Screen.width),Templates.ResolutionProblems.getPopupBannerOffset(Screen.width),Templates.ResolutionProblems.getPopupBannerWidth(Screen.width),Screen.height-Templates.ResolutionProblems.getPopupBannerOffset(Screen.width)*2)); GUILayout.BeginVertical(GUI.skin.box); GUILayout.Label("Name: "+temp.classname); GUILayout.BeginVertical(GUI.skin.box); GUILayout.Box(hp+"/"+temp.hp,progressSkin.box,GUILayout.Width(Templates.ResolutionProblems.getPopupBannerHpWidth(Screen.width)*(((float)hp)/((float)temp.hp)))); GUILayout.EndVertical(); if(curDefect!=null) GUILayout.Label("Defect: <color=brown>"+curDefect.getName()+"</color>"); if(privateAbils.Count>0) { GUILayout.Label("Abils:"); GUILayout.BeginHorizontal(); GUISkin s; foreach(int ab in privateAbils) { s=Templates.getInstance().getAbilityIcon(ab); GUILayout.Label("",s.label,GUILayout.Width(Templates.ResolutionProblems.getPopupBannerAbilSize(Screen.width)),GUILayout.Height(Templates.ResolutionProblems.getPopupBannerAbilSize(Screen.width))); } GUILayout.EndHorizontal(); } //Weapon GUILayout.Label("Weapons:"); GUILayout.BeginHorizontal(); for(int i = 0;i<temp.weapons;i++) GUILayout.Label("",Templates.getInstance().statPointBlue.label,GUILayout.Width(Templates.ResolutionProblems.getPopupBannerPointSize(Screen.width)),GUILayout.Height(Templates.ResolutionProblems.getPopupBannerPointSize(Screen.width))); for(int i = 0;i<5-temp.weapons;i++) GUILayout.Label("",Templates.getInstance().statPointGrey.label,GUILayout.Width(Templates.ResolutionProblems.getPopupBannerPointSize(Screen.width)),GUILayout.Height(Templates.ResolutionProblems.getPopupBannerPointSize(Screen.width))); GUILayout.EndHorizontal(); GUILayout.Label("Armor:"); GUILayout.BeginHorizontal(); for(int i = 0;i<temp.armor;i++) GUILayout.Label("",Templates.getInstance().statPointBlue.label,GUILayout.Width(Templates.ResolutionProblems.getPopupBannerPointSize(Screen.width)),GUILayout.Height(Templates.ResolutionProblems.getPopupBannerPointSize(Screen.width))); for(int i = 0;i<5-temp.armor;i++) GUILayout.Label("",Templates.getInstance().statPointGrey.label,GUILayout.Width(Templates.ResolutionProblems.getPopupBannerPointSize(Screen.width)),GUILayout.Height(Templates.ResolutionProblems.getPopupBannerPointSize(Screen.width))); GUILayout.EndHorizontal(); GUILayout.Label("Speed:"); GUILayout.BeginHorizontal(); for(int i = 0;i<temp.speed;i++) GUILayout.Label("",Templates.getInstance().statPointBlue.label,GUILayout.Width(Templates.ResolutionProblems.getPopupBannerPointSize(Screen.width)),GUILayout.Height(Templates.ResolutionProblems.getPopupBannerPointSize(Screen.width))); for(int i = 0;i<5-temp.speed;i++) GUILayout.Label("",Templates.getInstance().statPointGrey.label,GUILayout.Width(Templates.ResolutionProblems.getPopupBannerPointSize(Screen.width)),GUILayout.Height(Templates.ResolutionProblems.getPopupBannerPointSize(Screen.width))); GUILayout.EndHorizontal(); GUILayout.Label("Maneuverability:"); GUILayout.BeginHorizontal(); for(int i = 0;i<temp.maneuverability;i++) GUILayout.Label("",Templates.getInstance().statPointBlue.label,GUILayout.Width(Templates.ResolutionProblems.getPopupBannerPointSize(Screen.width)),GUILayout.Height(Templates.ResolutionProblems.getPopupBannerPointSize(Screen.width))); for(int i = 0;i<5-temp.maneuverability;i++) GUILayout.Label("",Templates.getInstance().statPointGrey.label,GUILayout.Width(Templates.ResolutionProblems.getPopupBannerPointSize(Screen.width)),GUILayout.Height(Templates.ResolutionProblems.getPopupBannerPointSize(Screen.width))); GUILayout.EndHorizontal(); GUILayout.Label(temp.description); GUILayout.EndVertical(); GUILayout.EndArea(); } if(!GameStorage.getInstance().isRunning) { Vector3 v11 = attackIcon.transform.position; Vector2 aPos = new Vector2(Camera.main.WorldToScreenPoint(v11).x,Camera.main.WorldToScreenPoint(v11).y); GUI.skin = Templates.getInstance().getAbilityIcon(activeAbil); if(GUI.RepeatButton(new Rect(aPos.x-Templates.ResolutionProblems.getActionAbilitySize(Screen.width)/2,Screen.height-aPos.y-Templates.ResolutionProblems.getActionAbilitySize(Screen.width)/2,Templates.ResolutionProblems.getActionAbilitySize(Screen.width),Templates.ResolutionProblems.getActionAbilitySize(Screen.width)),"")) { attackIconCaptured=true; GameStorage.getInstance().cam.GetComponent<CameraBehaviour>().canReleaseMouse=false; GameStorage.getInstance().cam.GetComponent<CameraBehaviour>().currentSelected=gameObject; iconsShowed=true; } GUI.skin=null; } if(temp.abilities.Count>0 && (selected || iconsShowed) && !attackIconCaptured) { Vector2 startVec = new Vector2(Camera.main.WorldToScreenPoint(attackIcon.transform.position).x,Camera.main.WorldToScreenPoint(attackIcon.transform.position).y); firstAbilPos=startVec+new Vector2(Templates.ResolutionProblems.getActionAbilityOffset(Screen.width),0); secondAbilPos=startVec+new Vector2(-Templates.ResolutionProblems.getActionAbilityOffset(Screen.width),0); thirdAbilPos=startVec+new Vector2(0,Templates.ResolutionProblems.getActionAbilityOffset(Screen.width)); fourthAbilPos=startVec+new Vector2(0,-Templates.ResolutionProblems.getActionAbilityOffset(Screen.width)); if(temp.abilities.Count>=1) { if(abilityInReuse || earnedDefect) { GUI.skin=Templates.getInstance().getAbilityIconGrey((int)temp.abilities[0]); GUI.Button(new Rect(firstAbilPos.x-Templates.ResolutionProblems.getActionAbilitySize(Screen.width)/2,Screen.height-firstAbilPos.y-Templates.ResolutionProblems.getActionAbilitySize(Screen.width)/2,Templates.ResolutionProblems.getActionAbilitySize(Screen.width),Templates.ResolutionProblems.getActionAbilitySize(Screen.width)),""); GUI.skin=null; } else { GUI.skin=Templates.getInstance().getAbilityIcon((int)temp.abilities[0]); if(GUI.Button(new Rect(firstAbilPos.x-Templates.ResolutionProblems.getActionAbilitySize(Screen.width)/2,Screen.height-firstAbilPos.y-Templates.ResolutionProblems.getActionAbilitySize(Screen.width)/2,Templates.ResolutionProblems.getActionAbilitySize(Screen.width),Templates.ResolutionProblems.getActionAbilitySize(Screen.width)),"")) { Abilities.AbilityType selectedAbil = (Abilities.AbilityType)temp.abilities[0]; prevAbil=activeAbil; temp.abilities[0]=(int)activeAbil; activeAbil=selectedAbil; AbilitySwitched(); } GUI.skin=null; } } if(temp.abilities.Count>=2) { if(abilityInReuse || earnedDefect) { GUI.skin=Templates.getInstance().getAbilityIconGrey((int)temp.abilities[1]); GUI.Button(new Rect(secondAbilPos.x-Templates.ResolutionProblems.getActionAbilitySize(Screen.width)/2,Screen.height-secondAbilPos.y-Templates.ResolutionProblems.getActionAbilitySize(Screen.width)/2,Templates.ResolutionProblems.getActionAbilitySize(Screen.width),Templates.ResolutionProblems.getActionAbilitySize(Screen.width)),""); GUI.skin=null; } else { GUI.skin=Templates.getInstance().getAbilityIcon((int)temp.abilities[1]); if(GUI.Button(new Rect(secondAbilPos.x-Templates.ResolutionProblems.getActionAbilitySize(Screen.width)/2,Screen.height-secondAbilPos.y-Templates.ResolutionProblems.getActionAbilitySize(Screen.width)/2,Templates.ResolutionProblems.getActionAbilitySize(Screen.width),Templates.ResolutionProblems.getActionAbilitySize(Screen.width)),"")) { Abilities.AbilityType selectedAbil = (Abilities.AbilityType)temp.abilities[1]; prevAbil=activeAbil; temp.abilities[1]=(int)activeAbil; activeAbil=selectedAbil; AbilitySwitched(); } GUI.skin=null; } } if(temp.abilities.Count>=3) { if(abilityInReuse || earnedDefect) { GUI.skin=Templates.getInstance().getAbilityIconGrey((int)temp.abilities[2]); GUI.Button(new Rect(thirdAbilPos.x-Templates.ResolutionProblems.getActionAbilitySize(Screen.width)/2,Screen.height-thirdAbilPos.y-Templates.ResolutionProblems.getActionAbilitySize(Screen.width)/2,Templates.ResolutionProblems.getActionAbilitySize(Screen.width),Templates.ResolutionProblems.getActionAbilitySize(Screen.width)),""); GUI.skin=null; } else { GUI.skin=Templates.getInstance().getAbilityIcon((int)temp.abilities[2]); if(GUI.Button(new Rect(thirdAbilPos.x-Templates.ResolutionProblems.getActionAbilitySize(Screen.width)/2,Screen.height-thirdAbilPos.y-Templates.ResolutionProblems.getActionAbilitySize(Screen.width)/2,Templates.ResolutionProblems.getActionAbilitySize(Screen.width),Templates.ResolutionProblems.getActionAbilitySize(Screen.width)),"")) { Abilities.AbilityType selectedAbil = (Abilities.AbilityType)temp.abilities[2]; prevAbil=activeAbil; temp.abilities[2]=(int)activeAbil; activeAbil=selectedAbil; AbilitySwitched(); } GUI.skin=null; } } if(temp.abilities.Count>=4) { if(abilityInReuse || earnedDefect) { GUI.skin=Templates.getInstance().getAbilityIconGrey((int)temp.abilities[3]); GUI.Button(new Rect(fourthAbilPos.x-Templates.ResolutionProblems.getActionAbilitySize(Screen.width)/2,Screen.height-fourthAbilPos.y-Templates.ResolutionProblems.getActionAbilitySize(Screen.width)/2,Templates.ResolutionProblems.getActionAbilitySize(Screen.width),Templates.ResolutionProblems.getActionAbilitySize(Screen.width)),""); GUI.skin=null; } else { GUI.skin=Templates.getInstance().getAbilityIcon((int)temp.abilities[3]); if(GUI.Button(new Rect(fourthAbilPos.x-Templates.ResolutionProblems.getActionAbilitySize(Screen.width)/2,Screen.height-fourthAbilPos.y-Templates.ResolutionProblems.getActionAbilitySize(Screen.width)/2,Templates.ResolutionProblems.getActionAbilitySize(Screen.width),Templates.ResolutionProblems.getActionAbilitySize(Screen.width)),"")) { Abilities.AbilityType selectedAbil = (Abilities.AbilityType)temp.abilities[3]; prevAbil=activeAbil; temp.abilities[3]=(int)activeAbil; activeAbil=selectedAbil; AbilitySwitched(); } GUI.skin=null; } } } }
public void StepEnd() { if(activeAbil==Abilities.AbilityType.none && abilityInReuse) abilityInReuse=false; loadOriginAbilities(); if(activeAbil!=Abilities.AbilityType.none && !abilityInReuse) { prevAbil=activeAbil; abilityInReuse=true; activeAbil=Abilities.AbilityType.none; AbilitySwitched(); } if(defectInUse) { if(curDefect.GetType() == typeof(Defects.DisableTurn)) maxTurnAngle=temp.maxTurnAngle; defectInUse=false; earnedDefect=false; curDefect=null; } t=0; updateAttackPosition(); }
public void setActiveThorpedeAbil() { if(!abilityInReuse) { if(activeAbil!=Abilities.AbilityType.homingThorpede) { int i=0,ch=-1; foreach(Abilities.AbilityType ab in temp.abilities) { if(ab==Abilities.AbilityType.homingThorpede) { ch=i; break; } i++; } if(ch>=0) { Abilities.AbilityType selectedAbil = Abilities.AbilityType.homingThorpede; prevAbil=activeAbil; temp.abilities[ch]=(int)activeAbil; activeAbil=selectedAbil; AbilitySwitched(); } } } }
void Start() { attackIcon = Instantiate(Resources.Load("prefab/attackIcon") as GameObject); attackIcon.SetActive(false); if(GameStorage.getInstance().getFixedTime()==-1) GameStorage.getInstance().overlap=false; LineRenderer lr = gameObject.AddComponent<LineRenderer>(); lr.SetWidth(0.05f, 0.05f); GameStorage.getInstance().addFriendlyShuttle(this.gameObject); temp = Templates.getInstance().getPlaneTemplate(Template); foreach(int abils in temp.abilities) privateAbils.Add(abils); GameStorage.getInstance().totalHp+=temp.hp; GameObject go; MeshRenderer mr; lineMat = Resources.Load("materials/holograms/Hologram3") as Material; lr.material=lineMat; Mesh m; foreach(Templates.GunOnShuttle goss in temp.guns) { go = GameObject.CreatePrimitive(PrimitiveType.Cube); Templates.GunTemplate gt = Templates.getInstance().getGunTemplate(goss.gunId); Destroy(go.GetComponent<Collider>()); mr = go.GetComponent<MeshRenderer>(); mr.material=Resources.Load("materials/arc") as Material; m = go.GetComponent<MeshFilter>().mesh; m.Clear(); Vector3[] vertices = new Vector3[101]; vertices[0]=new Vector3(0,1,0); float ds=gt.attackRange; Vector2 va; int i=1; for(float ang = -gt.attackAngle; ang<=gt.attackAngle; ang+=(2*gt.attackAngle)/100.0f) { va=Quaternion.Euler(0,0,ang)*new Vector2(0,ds); vertices[i]=new Vector3(va.x,0,va.y); i++; if(i==101) break; } int[] triangles = new int[vertices.Length*3]; int bb=0; for(i=0;i<99;i++) { triangles[bb*3]=0; triangles[bb*3+1]=i+1; triangles[bb*3+2]=i+2; bb++; } Vector2[] uvs = new Vector2[vertices.Length]; for (i = 0; i < uvs.Length; i++) { uvs[i] = new Vector2(vertices[i].x, vertices[i].z); } m.vertices=vertices; m.triangles=triangles; m.uv=uvs; m.RecalculateBounds(); m.RecalculateNormals(); arcObjs.Add(go); go=(GameObject) Instantiate(Resources.Load("prefab/testGunMesh") as GameObject,new Vector3(transform.position.x+goss.pos.x,1,transform.position.z+goss.pos.y),Quaternion.Euler(0,goss.turnAngle,0)); go.SetActive(false); shuttleGunsMeshes.Add(go); shuttleGunsGos.Add(goss); } attackIconDistMin = temp.minRange; attackIconDist = temp.maxRange; maxTurnAngle = temp.maxTurnAngle; hp=temp.hp; if(temp.abilities.Count>=1) origin0=(Abilities.AbilityType) temp.abilities[0]; if(temp.abilities.Count>=2) origin1=(Abilities.AbilityType) temp.abilities[1]; if(temp.abilities.Count>=3) origin2=(Abilities.AbilityType) temp.abilities[2]; if(temp.abilities.Count>=4) origin3=(Abilities.AbilityType) temp.abilities[3]; }