/* private void UpdateCardPlace(GameControl.UpdateInfo item) * { * // check if the item to update exist, otherwise create info for it from settings * if (cards.ContainsKey(item.CardId)) * { * // edit * } * else * { * // get config of this card area * ConfigFormats.Card cardConf = RelativeToAbsolute(gamC.gameConfig.TblSettings.GetCardConfigByID(item.CardId)); * if (cardConf == null) * { * Debug.Log("Unknown card area ID! Not creating."); * return; * } * // create * CardArea cr = new CardArea(); * cr.SetColor(PlayersColors.GetColorByID(item.PlayerID)); * cr.SetBorderWidth(10); * if (item.CardType == ARBangStateMachine.BangCard.NONE) * cr.SetFilled(true); * else * cr.SetFilled(false); * cr.SetArea(new Rect(_tableX, _tableY, _tableWidth, _tableHeight)); * CreateRectangle(cr, "Card"); * cr.SetReadyToDraw(true); * * // finally add to dictionary * cards[item.CardId] = cr; * } * }*/ private void RemoveSpritesFromParent(BaseArea info) { foreach (GameObject item in info.sprites) { item.transform.parent = null; Destroy(item); } }
private void CreateRectangle(BaseArea info, string sortingLayer, bool forCard = false) { for (int i = 0; i < 4; ++i) { string name = sortingLayer + "_" + info.GetName() + "_part" + Convert.ToString(i); info.sprites.Add(CreateRectanglePart(name, info.GetArea(), info.GetColor(), info.GetBorderWidth(), (RectangelParts)i, sortingLayer, forCard)); } // if filled create one more sprite with alpha 125 if (info.IsFilled()) { string name = info.GetName() + Convert.ToString(5); info.sprites.Add(CreateDimmedArea(name, info.GetArea(), info.GetColor(), sortingLayer)); } }
private void ChangeBorderColor(BaseArea area, Color32 col) { foreach (GameObject item in area.sprites) { if (item.name.Contains("dimmed")) { item.GetComponent <SpriteRenderer>().color = new Color32(col.r, col.g, col.b, 30); } else { item.GetComponent <SpriteRenderer>().color = col; } } }
public void AddFloorOrCeilingToMesh(BaseArea r, bool ceiling) { this.Init(); float y = ceiling ? 2f : 0f; Vector3 vert1 = new Vector3(r.X1, y, r.Y1); // bottom left Vector3 vert2 = new Vector3(r.X1, y, r.Y2 + 1); // top left Vector3 vert3 = new Vector3(r.X2 + 1, y, r.Y1); // bottom right Vector3 vert4 = new Vector3(r.X2 + 1, y, r.Y2 + 1); // top right Vector3 norm1 = ceiling ? Vector3.down : Vector3.up; Vector3 norm2 = ceiling ? Vector3.down : Vector3.up; Vector3 norm3 = ceiling ? Vector3.down : Vector3.up; Vector3 norm4 = ceiling ? Vector3.down : Vector3.up; Vector2 uv1 = new Vector2(0f, 0f); Vector2 uv2 = new Vector2(0f, r.Height); Vector2 uv3 = new Vector2(r.Width, 0f); Vector2 uv4 = new Vector2(r.Width, r.Height); int v = this.vertices.Count; int[] tri1 = ceiling ? new[] { v, v + 3, v + 1 } : new[] { v, v + 1, v + 3 }; int[] tri2 = ceiling ? new[] { v, v + 2, v + 3 } : new[] { v, v + 3, v + 2 }; this.tris.AddRange(tri1); this.tris.AddRange(tri2); this.vertices.Add(vert1); this.vertices.Add(vert2); this.vertices.Add(vert3); this.vertices.Add(vert4); this.normals.Add(norm1); this.normals.Add(norm2); this.normals.Add(norm3); this.normals.Add(norm4); this.uvs.Add(uv1); this.uvs.Add(uv2); this.uvs.Add(uv3); this.uvs.Add(uv4); }
private void SwitchBorderColor(BaseArea area) { Color32 col = PlayersColors.Universal; foreach (GameObject item in area.sprites) { if (item.GetComponent <SpriteRenderer>().color == PlayersColors.Universal) { col = PlayersColors.MarkedNonConfirmed; } if (item.name.Contains("dimmed")) { item.GetComponent <SpriteRenderer>().color = new Color32(col.r, col.g, col.b, 30); } else { item.GetComponent <SpriteRenderer>().color = col; } } }
public JsonResult Edit(BaseArea model) { try { model.Grade = model.FId == 1 ? 1 : 2; model.FId = model.FId == 1 ? 1 : model.FId; if (model.BaseAreaId > 0) { var entity = _baseAreaService.GetById(model.BaseAreaId); //修改 entity.Name = model.Name; entity.FId = model.FId; entity.Grade = model.Grade; entity.EditTime = DateTime.Now; _baseAreaService.Update(model); } else { //if (_baseAreaService.CheckName(model.Name) > 0) // return Json(new { Status = Successed.Repeat }, JsonRequestBehavior.AllowGet); //添加 model.Status = (int)Domain.EnumHelp.EnabledEnum.效; model.IsDelete = (int)Domain.EnumHelp.IsDeleteEnum.效; model.CreateTime = DateTime.Now; model.EditTime = DateTime.Now; _baseAreaService.Insert(model); } } catch (Exception ex) { return(Json(new { Status = Successed.Error }, JsonRequestBehavior.AllowGet)); } return(Json(new { Status = Successed.Ok }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 删除实体 /// </summary> /// <param name="model"></param> /// <returns></returns> public void Delete(BaseArea model) { this._repoBaseArea.Delete(model); }
/// <summary> /// 修改实体 /// </summary> /// <param name="model"></param> /// <returns></returns> public void Update(BaseArea model) { this._repoBaseArea.Update(model); }
public BaseArea Insert(BaseArea model) { return(this._repoBaseArea.Insert(model)); }
/// <summary> /// 删除实体 /// </summary> /// <param name="model"></param> /// <returns></returns> public void Delete(BaseArea model) { this._BaseAreaBiz.Delete(model); }
/// <summary> /// 修改实体 /// </summary> /// <param name="model"></param> /// <returns></returns> public void Update(BaseArea model) { this._BaseAreaBiz.Update(model); }
/// <summary> /// 添加实体 /// </summary> /// <param name="model"></param> /// <returns></returns> public BaseArea Insert(BaseArea model) { return(this._BaseAreaBiz.Insert(model)); }
/// <summary> /// Function check if some components need update redraw. If yes, the redraw is performed. /// </summary> public void Update() { // go through all areas and check if marked should no be unmarked foreach (KeyValuePair <int, PlayerArea> item in players) { if (item.Value.AreaBlinking && (Time.time - item.Value.LastChanged > EffectsDuration.BORDER_MARKED_NON_CONFIRMED)) { SwitchBorderColor(item.Value); } if (!item.Value.AreaBlinking && item.Value.AreaMarked && (Time.time - item.Value.LastChanged > EffectsDuration.BORDER_MARKED)) { ChangeBorderColor(item.Value, PlayersColors.Universal); } } foreach (KeyValuePair <int, CardArea> item in cards) { if (item.Value.AreaBlinking && (Time.time - item.Value.LastChanged > EffectsDuration.BORDER_MARKED_NON_CONFIRMED)) { SwitchBorderColor(item.Value); } if (!item.Value.AreaBlinking && item.Value.AreaMarked && (Time.time - item.Value.LastChanged > EffectsDuration.BORDER_MARKED)) { ChangeBorderColor(item.Value, PlayersColors.Universal); } } foreach (KeyValuePair <int, EffectArea> item in effectAreas) { if (item.Value.AreaBlinking && (Time.time - item.Value.LastChanged > EffectsDuration.BORDER_MARKED_NON_CONFIRMED)) { SwitchBorderColor(item.Value); } if (!item.Value.AreaBlinking && item.Value.AreaMarked && (Time.time - item.Value.LastChanged > EffectsDuration.BORDER_MARKED)) { ChangeBorderColor(item.Value, PlayersColors.Universal); } // check if existing effect should reset if (item.Value._effectType != item.Value._defaultEffectType) { CheckIfResetEffect(item); } } // -------------------------------------------------------------------------------------------------------- // ------------------------ PERFORM UPDATE FROM CONTROL MODULE -------------------------------------------- // draw table borders if (gamC.DrawTableBorder()) { if (tableBorder.IsReadyToDraw()) { // draw foreach (GameObject temp in tableBorder.sprites) { temp.SetActive(true); } } else // create the sprite for table border { //Debug.Log("Table dimensions: " + _tableX + ", " + _tableY + ", " + _tableWidth + ", " + _tableHeight); tableBorder = new BaseArea(); tableBorder.SetColor(PlayersColors.Universal); tableBorder.SetBorderWidth(10); tableBorder.SetFilled(false); tableBorder.SetArea(new Rect(_tableX, _tableY, _tableWidth, _tableHeight)); tableBorder.SetName("table"); CreateRectangle(tableBorder, "Default"); tableBorder.SetReadyToDraw(true); } } // get all things that need update, if any and perform update if (gamC.IsUpdateRedrawReady()) { Debug.Log("Update drawing!"); foreach (GameControl.UpdateInfo item in gamC.GetUpdateInfoList()) { //Debug.Log("Updating: " + item.PlayerID + ", card: " + item.CardId); if (item.effect == EffectsTypes.NONE) { // set effect according to a state item.effect = GetEffectByState(item.State); } Debug.Log("State: " + item.State); switch (item.effect) { case EffectsTypes.BORDER: BoderRectangleControl(item, PlayersColors.Universal); break; case EffectsTypes.BORDER_MARKED: BoderRectangleControl(item, PlayersColors.Marked, true); break; case EffectsTypes.BORDER_MARKED_NON_CONFIRMED: BoderRectangleControl(item, PlayersColors.MarkedNonConfirmed, false, true); break; case EffectsTypes.BORDED_MARKED_NOT_RECOGNIZED: BoderRectangleControl(item, PlayersColors.MarkedNotRecognized, false, false); break; case EffectsTypes.HORSE: DrawInEffectAreaOne(item, horseSprite); break; case EffectsTypes.GUN: DrawInEffectAreaOne(item, gunSprite); break; case EffectsTypes.BANG: DrawInEffectAreaOne(item, gunSprite); break; case EffectsTypes.DODGE: DrawInEffectAreaOne(item, smiley); DrawInEffectAreaOne(item, badSmiley, false); break; case EffectsTypes.NONE: default: Debug.Log("Unknnown effect."); break; } } // finally clear the list to update, everything was updated gamC.ClearUpdateInfoList(); gamC.ResetUpdateReadrawReady(); } // continue drawing effects from previous redraw update -> What if detection is too slow and update need to be called regulary for animations? // probably just control of another monobehaviour?? }