private static BitmapSource CreateCamouflagePreview(LocalGameClient client, Camouflage camouflage, WpfColor baseColor) { if (!PackageStream.IsFileExisted(client.PackageIndexer, camouflage.Texture)) { return(null); } var image = new Image(); image.Width = 64; image.Height = 64; using (var stream = new PackageStream(client.PackageIndexer, camouflage.Texture)) { image.Source = (new DDSImage(stream)).BitmapSource(0); } var colors = camouflage.GetColors(); image.Effect = new CamouflageEffect() { BaseColor = baseColor, Color1 = colors[0], Color2 = colors[1], Color3 = colors[2], Color4 = colors[3], }; image.MeasureAndArrange(); var imageSource = image.RenderToBitmap(); imageSource.Freeze(); return(imageSource); }
//====================================================== #region Event Methods private void SpecialForm_Load(object sender, EventArgs e) { //Until I find a better way, this list is typed manually. //Rules attached to this ability should be added first, for editing. //TODO Need to determine between Common Abilities and Non-Common, as common abilities can be Active or Passive Abilities). if (character.SpecialAbilities != null) { foreach (Ability a in character.SpecialAbilities) { if (a.IsCommon) { clbAbilities.Items.Add(a, true); } } } //Add the rest of the abilities, but don't add ones already added from the character. Ability ability = new ActiveCamouflage(); if (!character.SpecialAbilities.Contains(ability)) { clbAbilities.Items.Add(ability); } ability = new Camouflage(); if (!character.SpecialAbilities.Contains(ability)) { clbAbilities.Items.Add(ability); } ability = new Cloaking(); if (!character.SpecialAbilities.Contains(ability)) { clbAbilities.Items.Add(ability); } ability = new Fearless(); if (!character.SpecialAbilities.Contains(ability)) { clbAbilities.Items.Add(ability); } ability = new Fleet(); if (!character.SpecialAbilities.Contains(ability)) { clbAbilities.Items.Add(ability); } ability = new Fly(); if (!character.SpecialAbilities.Contains(ability)) { clbAbilities.Items.Add(ability); } ability = new GreaterDodge(); if (!character.SpecialAbilities.Contains(ability)) { clbAbilities.Items.Add(ability); } }
private bool SetCamouflage(Camouflage value) { if (_camouflage.KeyEquals(value)) { return(false); } this.ScriptHost.SetScript("camouflage", CamouflageScript.Create(value)); return(true); }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.tag == Names.Tags.Player.ToString()) { if (player == null) { player = collision.GetComponent <Camouflage>(); } player.SetCamouflageFlag(true); } }
/// <summary> /// Checks if the player was spotted before camouflaging /// </summary> /// <param name="hit">Result of the raycast</param> /// <returns>true if spotted, false otherwise</returns> public bool SpottedCheck(Collider2D hit) { if (playerState == null) { playerState = hit.GetComponent <Camouflage>(); } else { return(spottedBeforeCamouflage); } spottedBeforeCamouflage = !playerState.IsCamouflaged(); return(spottedBeforeCamouflage); }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.tag == Names.Tags.Player.ToString()) { if (playerState == null) { playerState = collision.GetComponent <Camouflage>(); } if (spottedCheck.WasSpottedBeforeCamouflage() || !playerState.IsCamouflaged()) { EventManager.TriggerEvent(Names.Events.PlayerHit); spottedCheck.SetToDefault(); } } }
public static ImageSource GetCamouflagePreview(Camouflage camouflage, WpfColor baseColor, IRepository repository) { var client = repository as LocalGameClient; if (client == null) { return(null); } var cacheFilename = string.Format("camouflage_{0}_{1}.png", camouflage.Id, camouflage.Key); return(client.CacheManager.Load(cacheFilename, () => CamouflagePreview.CreateCamouflagePreview(client, camouflage, baseColor), CamouflagePreview.LoadCamouflagePreview, CamouflagePreview.SaveCamouflagePreview)); }
void Awake() { player = null; }
public void SetToDefault() { playerState = null; spottedBeforeCamouflage = false; }
private void Awake() { playerState = null; spottedBeforeCamouflage = false; }
private void Awake() { spottedCheck = GetComponent <PlayerInLineOfSight>(); playerState = null; }
public CamouflageVM(Camouflage camouflage, WpfColor baseColor, IRepository repository) { _model = camouflage; this.PreviewImage = CamouflagePreview.GetCamouflagePreview(camouflage, baseColor, repository); }