public void CheckMove() { GameMng.I.mouseRaycast(true); if (GameMng.I.hit.collider != null) { GameMng.I.cleanActList(); GameMng.I._range.rangeTileReset(); // 범위 타일 위치 초기화 GameMng.I.distanceOfTiles = Vector2.Distance(GameMng.I.selectedTile._unitObj.transform.position, GameMng.I.targetTile.transform.position); if (GameMng.I.hit.collider.tag.Equals("Tile") && GameMng.I.distanceOfTiles <= 1.5f && Tile.isEmptyTile(GameMng.I.targetTile)) { act = ACTIVITY.ACTING; reversalUnit(GameMng.I.selectedTile._unitObj.transform, GameMng.I.targetTile.transform); GameMng.I.selectedTile._unitObj._anim.SetTrigger("isRunning"); NetworkMng.getInstance.SendMsg(string.Format("MOVE_UNIT:{0}:{1}:{2}:{3}", GameMng.I.selectedTile.PosX, GameMng.I.selectedTile.PosY, GameMng.I.targetTile.PosX, GameMng.I.targetTile.PosY)); StartCoroutine("Moving"); } else // 범위가 아닌 다른 곳을 누름 { Debug.Log("else로 빠짐"); act = ACTIVITY.NONE; //GameMng.I.selectedTile = GameMng.I.targetTile; //GameMng.I.targetTile = null; } } }
/** * @brief 건물 파괴될때 호출됨 로컬 */ public void DestroyBuilt() { if (GameMng.I.selectedTile == null) { act = ACTIVITY.NONE; return; } NetworkMng.getInstance.SendMsg(string.Format("DESTROY_BUILT:{0}:{1}", GameMng.I.selectedTile.PosX, GameMng.I.selectedTile.PosZ)); if (GameMng.I.selectedTile._builtObj._code == (int)BUILT.ATTACK_BUILDING) { GameMng.I._range.AttackrangeTileReset(); GameMng.I.RemoveDelegate(GameMng.I.selectedTile._builtObj.GetComponent <Turret>().Attack); } GameMng.I.selectedTile._builtObj.DestroyMyself(); act = ACTIVITY.NONE; GameMng.I.selectedTile._builtObj = null; GameMng.I._hextile.TilecodeClear(GameMng.I.selectedTile); GameMng.I._range.SelectTileSetting(true); GameMng.I.setMainInterface(); GameMng.I.cleanActList(); GameMng.I.cleanSelected(); NetworkMng.getInstance.SendMsg("TURN"); }
public IEnumerator MovingUnit(int posX, int posY, int toX, int toY) { bool isRun = true; reversalUnit(GameMng.I.mapTile[posY, posX]._unitObj.transform, GameMng.I.mapTile[toY, posX].transform); GameMng.I.mapTile[posY, posX]._unitObj._anim.SetTrigger("isRunning"); while (isRun) { if (Vector2.Distance(GameMng.I.mapTile[posY, posX]._unitObj.transform.localPosition, GameMng.I.mapTile[toY, toX].transform.localPosition) >= 0.01f) { GameMng.I.mapTile[posY, posX]._unitObj.transform.localPosition = Vector2.Lerp(GameMng.I.mapTile[posY, posX]._unitObj.transform.localPosition, GameMng.I.mapTile[toY, toX].transform.localPosition, GameMng.I.unitSpeed * Time.deltaTime); //타일 간 부드러운 이동 yield return(null); } else { act = ACTIVITY.NONE; GameMng.I.mapTile[posY, posX]._unitObj.transform.localPosition = GameMng.I.mapTile[toY, toX].transform.localPosition; GameMng.I.mapTile[toY, toX]._unitObj = GameMng.I.mapTile[posY, posX]._unitObj; GameMng.I.mapTile[posY, posX]._unitObj = null; GameMng.I.mapTile[posY, posX]._code = (int)TILE.CAN_MOVE - 1; isRun = false; } } }
/** * @brief 건물을 생성함 (클라 전용) * @param cost 사용된 코스트 * @param index 건물 코드 * @param unitindex 건물을 짓는 유닛 코드 */ public void Building(int cost, int index, int unitindex) { GameMng.I.mouseRaycast(true); //캐릭터 정보와 타일 정보를 알아와야해서 false에서 true로 변경 if (GameMng.I.targetTile._builtObj == null && GameMng.I.targetTile._code < (int)TILE.CAN_MOVE && GameMng.I.targetTile._unitObj == null && Vector2.Distance(GameMng.I.selectedTile.transform.localPosition, GameMng.I.targetTile.transform.localPosition) <= 1.5f) { if (GameMng.I._gold >= cost) { GameMng.I.selectedTile._unitObj._bActAccess = false; Debug.Log("1" + GameMng.I.selectedTile._unitObj._bActAccess + "unit " + GameMng.I.selectedTile._unitObj); GameObject Child = Instantiate(builtObj[index - 200], GameMng.I.targetTile.transform) as GameObject; GameMng.I.targetTile._builtObj = Child.GetComponent <Built>(); GameMng.I.targetTile._builtObj.SaveX = GameMng.I.selectedTile.PosX; // 생성하는 건물에게 있는 위치 저장 변수에 해당 유닛 위치값을 저장해줌 GameMng.I.targetTile._builtObj.SaveY = GameMng.I.selectedTile.PosZ; GameMng.I.targetTile._builtObj._uniqueNumber = NetworkMng.getInstance.uniqueNumber; GameMng.I.targetTile._code = index; GameMng.I.minGold(cost); GameMng.I._range.rangeTileReset(); GameMng.I._range.SelectTileSetting(true); NetworkMng.getInstance.SendMsg(string.Format("CREATE_BUILT:{0}:{1}:{2}:{3}:{4}:{5}", GameMng.I.targetTile.PosX, GameMng.I.targetTile.PosZ, index, NetworkMng.getInstance.uniqueNumber, GameMng.I.selectedTile.PosX, GameMng.I.selectedTile.PosZ)); GameMng.I.addLogMessage(NetworkMng.getInstance.nickName, "건물을 생성하고 있습니다."); // 일꾼이라면 if (unitindex == (int)UNIT.FOREST_WORKER || unitindex == (int)UNIT.DESERT_WORKER || unitindex == (int)UNIT.SEA_WORKER) { GameMng.I._UnitGM.reversalUnit(GameMng.I.selectedTile._unitObj.transform, GameMng.I.targetTile.transform); GameMng.I.selectedTile._unitObj.GetComponent <Worker>().working(); GameMng.I.selectedTile._unitObj.GetComponent <Worker>().buildingobj = GameMng.I.targetTile._builtObj; } GameMng.I.cleanSelected(); GameMng.I.cleanActList(); act = ACTIVITY.NONE; NetworkMng.getInstance.SendMsg("TURN"); } } else if (Vector2.Distance(GameMng.I.selectedTile.transform.localPosition, GameMng.I.targetTile.transform.localPosition) >= 1.5f) { GameMng.I.cleanActList(); GameMng.I.cleanSelected(); GameMng.I._range.rangeTileReset(); act = ACTIVITY.NONE; } else if (GameMng.I.targetTile._builtObj != null || GameMng.I.targetTile._unitObj != null) { GameMng.I.cleanActList(); GameMng.I.cleanSelected(); GameMng.I._range.rangeTileReset(); act = ACTIVITY.NONE; } }
/** * @brief 유닛을 생성함 (클라 전용) * @param cost 사용된 코스트 * @param index 유닛 코드 */ public void CreateUnit(/*int cost,*/ int index) { GameMng.I.minGold(3); // TODO : 코스트로 변경 GameMng.I.mouseRaycast(true); //캐릭터 정보와 타일 정보를 알아와야해서 false에서 true로 변경 if (GameMng.I.targetTile._builtObj == null && GameMng.I.targetTile._code < (int)TILE.CAN_MOVE && GameMng.I.targetTile._unitObj == null && Vector2.Distance(GameMng.I.selectedTile.transform.localPosition, GameMng.I.targetTile.transform.localPosition) <= 1.5f) { GameObject Child = Instantiate(unitobj[index - 300], GameMng.I.targetTile.transform) as GameObject; // enum 값 - 100 Child.transform.parent = transform.parent; GameMng.I.targetTile._unitObj = Child.GetComponent <Unit>(); GameMng.I.targetTile._code = index; // 문제는 Awake다 GameMng.I.targetTile._unitObj._uniqueNumber = NetworkMng.getInstance.uniqueNumber; GameMng.I._range.rangeTileReset(); act = ACTIVITY.ACTING; NetworkMng.getInstance.SendMsg(string.Format("CREATE_UNIT:{0}:{1}:{2}:{3}", GameMng.I.targetTile.PosX, GameMng.I.targetTile.PosY, index, NetworkMng.getInstance.uniqueNumber)); GameMng.I.cleanActList(); GameMng.I.cleanSelected(); } else // 범위가 아닌 다른 곳을 누름 { act = ACTIVITY.NONE; GameMng.I.selectedTile = GameMng.I.targetTile; GameMng.I.targetTile = null; GameMng.I._range.rangeTileReset(); } }
public void AddActivity(ACTIVITY newActivity) { string gradingPeriod = ""; if (ViewModelLocator.SelectedSubjectViewModel.SelectedGradingPeriod == 0) { gradingPeriod = "Prelim"; } if (ViewModelLocator.SelectedSubjectViewModel.SelectedGradingPeriod == 1) { gradingPeriod = "Midterm"; } if (ViewModelLocator.SelectedSubjectViewModel.SelectedGradingPeriod == 2) { gradingPeriod = "Prefi"; } SqlConnection con = GeneralMethods.ConnectToDatabase(); SqlCommand command = new SqlCommand("INSERT INTO [ACTIVITY] (Activity, Percentage, Subject_ID, Grading_Period, Grade) VALUES (@Activity, @Percentage, @Subject_ID, @Grading_Period, @Grade)", con); command.Parameters.AddWithValue("@Activity", newActivity.Activity); command.Parameters.AddWithValue("@Percentage", newActivity.Percentage); command.Parameters.AddWithValue("@Subject_ID", ViewModelLocator.SubjectsListViewModel.SelectedSubject.SubjectID); command.Parameters.AddWithValue("@Grading_Period", gradingPeriod); command.Parameters.AddWithValue("@Grade", 0); command.ExecuteNonQuery(); con.Close(); GetAndDisplayActivities(); }
/** * @brief 유닛 공격 원거리 공격 하려면 수정 필요 * @param distance 공격 사거리 */ public void UnitAttack(int distance) { GameMng.I.mouseRaycast(true); if (GameMng.I.targetTile._unitObj != null || GameMng.I.targetTile._builtObj != null) { if (GameMng.I.targetTile._unitObj != null && GameMng.I.targetTile._unitObj._uniqueNumber != NetworkMng.getInstance.uniqueNumber && GameMng.I.targetTile.Distance <= distance) { GameMng.I.targetTile._unitObj._hp -= GameMng.I.selectedTile._unitObj._damage; AttackEffectSetting(GameMng.I.selectedTile._unitObj._code);; // 공격하는 유닛에 맞는 이펙트를 적용시킴 if (GameMng.I.targetTile._unitObj._hp <= 0) { GameMng.I.targetTile._unitObj.DestroyMyself(); GameMng.I.targetTile._unitObj = null; GameMng.I._hextile.TilecodeClear(GameMng.I.targetTile); } EnforceAttack(); } else if (GameMng.I.targetTile._builtObj != null && GameMng.I.targetTile._builtObj._uniqueNumber != NetworkMng.getInstance.uniqueNumber && GameMng.I.targetTile.Distance <= distance) { GameMng.I.targetTile._builtObj._hp -= GameMng.I.selectedTile._unitObj._damage; AttackEffectSetting(GameMng.I.selectedTile._unitObj._code);; // 공격하는 유닛에 맞는 이펙트를 적용시킴 if (GameMng.I.targetTile._builtObj._code == (int)BUILT.AIRDROP) { int nKind = Random.Range(1, 3); // 1: 골드, 2: 식량 int nResult = Random.Range(20, 60); Debug.Log(nKind + ", " + nResult); if (nKind == 1) { GameMng.I.addGold(nResult); } else if (nKind == 2) { GameMng.I.addFood(nResult); } GameMng.I.targetTile._builtObj._hp -= 1; } if (GameMng.I.targetTile._builtObj._hp <= 0) { GameMng.I.targetTile._builtObj.DestroyMyself(); GameMng.I.targetTile._builtObj = null; GameMng.I._hextile.TilecodeClear(GameMng.I.targetTile); // TODO : 코드 값 원래 값으로 } EnforceAttack(); } GameMng.I.cleanActList(); GameMng.I.cleanSelected(); act = ACTIVITY.NONE; } }
/** * @brief 유닛 이동 (클라 전용) */ IEnumerator Moving(float movedis) { if (Vector2.Distance(GameMng.I.selectedTile._unitObj.transform.localPosition, GameMng.I.targetTile.transform.localPosition) >= 0.01f && GameMng.I.distanceOfTiles <= movedis) // 캐릭터와 타일간 거리가 1.5 * a 이하일시 움직일수 있음 (거리 한칸당 1.24?정도 되드라) { GameMng.I.selectedTile._unitObj.transform.localPosition = Vector2.Lerp(GameMng.I.selectedTile._unitObj.transform.localPosition, GameMng.I.targetTile.transform.localPosition, GameMng.I.unitSpeed * Time.deltaTime); //타일 간 부드러운 이동 yield return(null); StartCoroutine("Moving", movedis); } else if (GameMng.I.distanceOfTiles >= 0.1f) // 남은 거리가 좁아지면 타일 위치로 자동 이동 { GameMng.I.selectedTile._unitObj.transform.localPosition = GameMng.I.targetTile.transform.localPosition; GameMng.I.targetTile._unitObj = GameMng.I.selectedTile._unitObj; GameMng.I.targetTile._code = GameMng.I.selectedTile._unitObj._code; GameMng.I.selectedTile._unitObj = null; GameMng.I._hextile.TilecodeClear(GameMng.I.selectedTile); GameMng.I.selectedTile = GameMng.I.targetTile; GameMng.I._range.SelectTileSetting(false); GameMng.I._hextile.FindDistancesTo(GameMng.I.selectedTile); GameMng.I.myTurn = false; NetworkMng.getInstance.SendMsg("TURN"); act = ACTIVITY.NONE; } }
public ActionResult DeleteConfirmed(int id) { ACTIVITY aCTIVITY = db.ACTIVITY.Find(id); db.ACTIVITY.Remove(aCTIVITY); db.SaveChanges(); return(RedirectToAction("Index")); }
public void GetAndDisplayActivities() { PrelimComponentsPercentTotal = 0; MidtermComponentsPercentTotal = 0; PrefiComponentsPercentTotal = 0; PrelimGrade = 0; MidtermGrade = 0; PrefiGrade = 0; PrelimListActivity.Clear(); MidtermListActivity.Clear(); PrefiListActivity.Clear(); SubjectName = ViewModelLocator.SubjectsListViewModel.SelectedSubject.Description; SqlConnection con = GeneralMethods.ConnectToDatabase(); SqlDataAdapter sda2 = new SqlDataAdapter("SELECT * From [ACTIVITY] WHERE Subject_ID='" + ViewModelLocator.SubjectsListViewModel.SelectedSubject.SubjectID + "'", con); DataTable dt = new DataTable(); sda2.Fill(dt); con.Close(); for (int x = 0; x < dt.Rows.Count; x++) { ACTIVITY newActivity = new ACTIVITY(); newActivity.ActivityID = Convert.ToInt16(dt.Rows[x]["ActivityID"]); newActivity.Activity = dt.Rows[x]["Activity"].ToString(); newActivity.Grade = Convert.ToDouble(dt.Rows[x]["Grade"]); newActivity.GradingPeriod = dt.Rows[x]["Grading_Period"].ToString(); newActivity.Percentage = Convert.ToDouble(dt.Rows[x]["Percentage"]); newActivity.SubjectID = Convert.ToInt16(dt.Rows[x]["Subject_ID"]); if (newActivity.GradingPeriod == "Prelim") { PrelimListActivity.Add(newActivity); PrelimComponentsPercentTotal += newActivity.Percentage; PrelimGrade += newActivity.Grade; } if (newActivity.GradingPeriod == "Midterm") { MidtermListActivity.Add(newActivity); MidtermComponentsPercentTotal += newActivity.Percentage; MidtermGrade += newActivity.Grade; } if (newActivity.GradingPeriod == "Prefi") { PrefiListActivity.Add(newActivity); PrefiComponentsPercentTotal += newActivity.Percentage; PrefiGrade += newActivity.Grade; } } GetLetterGrade(); ComputeConvertedGrades(); }
public ActionResult Edit([Bind(Include = "act_code,act_description,act_date_delivery")] ACTIVITY aCTIVITY) { if (ModelState.IsValid) { db.Entry(aCTIVITY).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(aCTIVITY)); }
/** * @brief 유닛을 생성함 (클라 전용) * @param cost 사용된 코스트 * @param index 유닛 코드 */ public void CreateUnit(int cost, int index) { GameMng.I.mouseRaycast(true); //캐릭터 정보와 타일 정보를 알아와야해서 false에서 true로 변경 if (GameMng.I.targetTile._builtObj == null && GameMng.I.targetTile._code < (int)TILE.CAN_MOVE && GameMng.I.targetTile._unitObj == null && Vector2.Distance(GameMng.I.selectedTile.transform.localPosition, GameMng.I.targetTile.transform.localPosition) <= 1.5f) { if (GameMng.I._gold >= cost) { GameMng.I.minGold(cost); if (index != (int)UNIT.FOREST_WORKER && index != (int)UNIT.SEA_WORKER && index != (int)UNIT.DESERT_WORKER) // 일꾼 유닛들을 제외하고 유닛 생성중일때 해당 건물 행동 불가 상태 적용 { GameMng.I.selectedTile._builtObj._bActAccess = false; } GameMng.I.selectedTile._builtObj._anim.SetTrigger("isMaking"); GameObject Child = Instantiate(unitobj[index - 300], GameMng.I.targetTile.transform) as GameObject; // enum 값 - 300 Child.transform.parent = transform.parent; GameMng.I.targetTile._unitObj = Child.GetComponent <Unit>(); GameMng.I.targetTile._unitObj.SaveX = GameMng.I.selectedTile.PosX; // 생성하는 유닛에게 있는 위치 저장 변수에 해당 건물 위치값을 저장해줌 GameMng.I.targetTile._unitObj.SaveY = GameMng.I.selectedTile.PosZ; GameMng.I.targetTile._unitObj.PosX = GameMng.I.targetTile.PosX; // 생성하는 유닛에게 있는 본인위치 저장 변수에 유닛이 생성된 타일 위치값을 저장해줌 GameMng.I.targetTile._unitObj.PosZ = GameMng.I.targetTile.PosZ; GameMng.I.targetTile._code = index; GameMng.I.targetTile._unitObj._uniqueNumber = NetworkMng.getInstance.uniqueNumber; if (GameMng.I.selectedTile._code == (int)BUILT.MILLITARY_BASE) // 군사기지에서 유닛 생성 시 { MillitaryBase SaveUnitData = GameMng.I.selectedTile._builtObj.GetComponent <MillitaryBase>(); SaveUnitData.CreatingUnitobj = GameMng.I.targetTile._unitObj.gameObject; SaveUnitData.CreatingUnitX = GameMng.I.targetTile.PosX; SaveUnitData.CreatingUnitY = GameMng.I.targetTile.PosZ; } act = ACTIVITY.NONE; NetworkMng.getInstance.SendMsg(string.Format("CREATE_UNIT:{0}:{1}:{2}:{3}:{4}:{5}", GameMng.I.targetTile.PosX, GameMng.I.targetTile.PosZ, index, NetworkMng.getInstance.uniqueNumber, GameMng.I.selectedTile.PosX, GameMng.I.selectedTile.PosZ)); GameMng.I.addLogMessage(NetworkMng.getInstance.nickName, "유닛을 생성하고 있습니다"); GameMng.I.cleanActList(); GameMng.I._range.rangeTileReset(); GameMng.I.cleanSelected(); NetworkMng.getInstance.SendMsg("TURN"); } } else // 범위가 아닌 다른 곳을 누름 { act = ACTIVITY.NONE; GameMng.I.selectedTile = GameMng.I.targetTile; GameMng.I.targetTile = null; GameMng.I._range.rangeTileReset(); } }
public ActionResult Create([Bind(Include = "act_code,act_description,act_date_delivery")] ACTIVITY aCTIVITY) { if (ModelState.IsValid) { db.ACTIVITY.Add(aCTIVITY); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(aCTIVITY)); }
/** * @brief 건물 파괴될때 호출됨 로컬 */ public void DestroyBuilt() { if (GameMng.I.selectedTile == null) { act = ACTIVITY.NONE; return; } NetworkMng.getInstance.SendMsg(string.Format("DESTROY_BUILT:{0}:{1}", GameMng.I.selectedTile.PosX, GameMng.I.selectedTile.PosZ)); GameMng.I.addLogMessage(NetworkMng.getInstance.nickName, "건물을 파괴했습니다."); if (GameMng.I.selectedTile._builtObj._code == (int)BUILT.ATTACK_BUILDING) { GameMng.I._range.AttackrangeTileReset(); GameMng.I.RemoveDelegate(GameMng.I.selectedTile._builtObj.GetComponent <Turret>().Attack); } switch (GameMng.I.selectedTile._builtObj._code) { case (int)BUILT.MINE: GameMng.I.addGold((GameMng.I.MINE_COST / 4) * 3); break; case (int)BUILT.FARM: GameMng.I.addGold((GameMng.I.FARM_COST / 4) * 3); break; case (int)BUILT.ATTACK_BUILDING: GameMng.I.addGold((GameMng.I.TURRET_COST / 4) * 3); break; case (int)BUILT.MILLITARY_BASE: GameMng.I.addGold((GameMng.I.MILITARYBASE_COST / 4) * 3); break; } GameMng.I.selectedTile._builtObj.DestroyMyself(); act = ACTIVITY.NONE; GameMng.I.selectedTile._builtObj = null; GameMng.I._hextile.TilecodeClear(GameMng.I.selectedTile); GameMng.I._range.SelectTileSetting(true); GameMng.I.setMainInterface(); GameMng.I.cleanActList(); GameMng.I.cleanSelected(); NetworkMng.getInstance.SendMsg("TURN"); }
void Update() { if (Input.GetKeyDown(KeyCode.Space)) { NetworkMng.getInstance.SendMsg("TURN"); } if (Input.GetMouseButtonDown(0) && act != ACTIVITY.ACTING && GameMng.I._BuiltGM.act == ACTIVITY.NONE && !EventSystem.current.IsPointerOverGameObject()) { switch (act) { case ACTIVITY.MOVE: CheckMove(); break; case ACTIVITY.BUILD_MINE: Building(Mine.cost, (int)BUILT.MINE, GameMng.I.selectedTile._code); break; case ACTIVITY.BUILD_FARM: Building(Farm.cost, (int)BUILT.FARM, GameMng.I.selectedTile._code); break; case ACTIVITY.BUILD_ATTACK_BUILDING: Building(Turret.cost, (int)BUILT.ATTACK_BUILDING, GameMng.I.selectedTile._code); break; case ACTIVITY.BUILD_MILLITARY_BASE: Building(MillitaryBase.cost, (int)BUILT.MILLITARY_BASE, GameMng.I.selectedTile._code); break; case ACTIVITY.ATTACK: UnitAttack(GameMng.I.selectedTile._unitObj._attackdistance); break; } GameMng.I._range.SelectTileSetting(true); } else if (Input.GetMouseButtonUp(1) && act != ACTIVITY.ACTING) { act = ACTIVITY.NONE; GameMng.I._BuiltGM.act = ACTIVITY.NONE; GameMng.I._range.rangeTileReset(); GameMng.I._range.AttackrangeTileReset(); //추가 GameMng.I._range.SelectTileSetting(true); GameMng.I.cleanActList(); GameMng.I.cleanSelected(); } }
/** * @brief 건물 파괴될때 호출됨 */ public void DestroyBuilt() { Destroy(GameMng.I.selectedTile._builtObj.gameObject); if (GameMng.I.selectedTile._builtObj._code == (int)BUILT.ATTACK_BUILDING) { GameMng.I._range.AttackrangeTileReset(); } act = ACTIVITY.NONE; GameMng.I.selectedTile._builtObj = null; Debug.Log("여기 수정해야함!!!!!"); GameMng.I.selectedTile._code = (int)TILE.GRASS; // 나중에 원래 타일 알아오는법 가져오기 GameMng.I.cleanActList(); GameMng.I.cleanSelected(); }
public void EditActivity(ACTIVITY changedActivity) { SqlConnection con = GeneralMethods.ConnectToDatabase(); SqlCommand command = new SqlCommand("UPDATE [ACTIVITY] SET Activity=@Activity, Percentage=@Percentage WHERE ActivityID=@ActivityID", con); command.Parameters.AddWithValue("@Activity", changedActivity.Activity); command.Parameters.AddWithValue("@Percentage", changedActivity.Percentage); command.Parameters.AddWithValue("@ActivityID", ViewModelLocator.SelectedSubjectViewModel.SelectedActivity.ActivityID); command.ExecuteNonQuery(); con.Close(); ViewModelLocator.ScoresListViewModel.ComputeConvertedGrade(); GetAndDisplayActivities(); }
// GET: ACTIVITies/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ACTIVITY aCTIVITY = db.ACTIVITY.Find(id); if (aCTIVITY == null) { return(HttpNotFound()); } return(View(aCTIVITY)); }
public static void EditActivity(string id, DateTime final, string status, string result) { //Create new Employee LINQDataContext db = new LINQDataContext(); ACTIVITY Act = db.ACTIVITY.First(e => e.id_activity.Equals(id)); Act.date_fn_cn = final; Act.status = status; Act.result = result; //Edit Activity to database db.SubmitChanges(); return; }
public static void AddActivity(Int32 id, Int32 sn, string ad, string dc, DateTime regDate, DateTime exDate) { LINQDataContext db = new LINQDataContext(); ACTIVITY activity = new ACTIVITY(); activity.id_request = id; activity.sequence_nb = sn; activity.act_dict = ad; activity.description = dc; activity.date_reg = regDate; activity.date_fn_cn = exDate; activity.status = "ACT"; db.ACTIVITY.InsertOnSubmit(activity); db.SubmitChanges(); }
/** * @brief 건물 파괴될때 호출됨 */ public void DestroyBuilt() { NetworkMng.getInstance.SendMsg(string.Format("DESTROY_BUILT:{0}:{1}", GameMng.I.selectedTile.PosX, GameMng.I.selectedTile.PosY)); Destroy(GameMng.I.selectedTile._builtObj.gameObject); if (GameMng.I.selectedTile._builtObj._code == (int)BUILT.ATTACK_BUILDING) { GameMng.I._range.AttackrangeTileReset(); } act = ACTIVITY.NONE; GameMng.I.selectedTile._builtObj = null; Debug.Log("여기 수정해야함!!!!!"); GameMng.I.selectedTile._code = (int)TILE.GRASS; // 나중에 원래 타일 알아오는법 가져오기 GameMng.I._range.SelectTileSetting(true); GameMng.I.cleanActList(); GameMng.I.cleanSelected(); }
public void UnitAttack() { GameMng.I.mouseRaycast(true); if (GameMng.I.targetTile._unitObj != null || GameMng.I.targetTile._builtObj != null) { if (GameMng.I.targetTile._unitObj != null) { GameMng.I.targetTile._unitObj._hp -= GameMng.I.selectedTile._unitObj._damage; if (GameMng.I.targetTile._unitObj._hp <= 0) { Destroy(GameMng.I.targetTile._unitObj.gameObject); GameMng.I.targetTile._unitObj = null; GameMng.I.targetTile._code = 0; } } else if (GameMng.I.targetTile._builtObj != null) { GameMng.I.targetTile._builtObj._hp -= GameMng.I.selectedTile._unitObj._damage; if (GameMng.I.targetTile._builtObj._code == (int)BUILT.AIRDROP) { Debug.Log("asdf"); int nKind = Random.Range(1, 3); // 1: 식량 2: 골드 int nResult = Random.Range(20, 60); Debug.Log(nKind + ", " + nResult); if (nKind == 1) { GameMng.I._gold += nResult; } else if (nKind == 2) { Debug.Log("식량 + " + nKind); } GameMng.I.targetTile._builtObj._hp -= 1; } if (GameMng.I.targetTile._builtObj._hp <= 0) { Destroy(GameMng.I.targetTile._builtObj.gameObject); GameMng.I.targetTile._builtObj = null; GameMng.I.targetTile._code = 0; } } GameMng.I.cleanActList(); GameMng.I.cleanSelected(); act = ACTIVITY.NONE; } }
/** * @brief 유닛 이동 검사 (대상이 올바른지) */ public void CheckMove() { float movedis; GameMng.I.mouseRaycast(true); if (GameMng.I.hit.collider != null) { GameMng.I.cleanActList(); GameMng.I._range.rangeTileReset(); // 범위 타일 위치 초기화 if (GameMng.I.selectedTile._code == (int)UNIT.FOREST_WITCH_1 || GameMng.I.selectedTile._code == (int)UNIT.SEA_WITCH_1) { movedis = 3.0f; GameMng.I.unitSpeed = 6.0f; } else { movedis = 1.5f; GameMng.I.unitSpeed = 3.0f; } GameMng.I.distanceOfTiles = Vector2.Distance(GameMng.I.selectedTile._unitObj.transform.position, GameMng.I.targetTile.transform.position); if (GameMng.I.hit.collider.tag.Equals("Tile") && GameMng.I.distanceOfTiles <= movedis && Tile.isEmptyTile(GameMng.I.targetTile)) { act = ACTIVITY.ACTING; GameMng.I.selectedTile._unitObj.PosX = GameMng.I.targetTile.PosX; GameMng.I.selectedTile._unitObj.PosZ = GameMng.I.targetTile.PosZ; reversalUnit(GameMng.I.selectedTile._unitObj.transform, GameMng.I.targetTile.transform); GameMng.I.selectedTile._unitObj._anim.SetTrigger("isRunning"); NetworkMng.getInstance.SendMsg(string.Format("MOVE_UNIT:{0}:{1}:{2}:{3}", GameMng.I.selectedTile.PosX, GameMng.I.selectedTile.PosZ, GameMng.I.targetTile.PosX, GameMng.I.targetTile.PosZ)); StartCoroutine("Moving", movedis); } else // 범위가 아닌 다른 곳을 누름 { act = ACTIVITY.NONE; //GameMng.I.selectedTile = GameMng.I.targetTile; //GameMng.I.targetTile = null; } } }
void Update() { //Debug.Log(Vector2.Distance(GameMng.I.mapTile[GameMng.I.selectedTile.PosX, GameMng.I.selectedTile.PosY].transform.localPosition, // GameMng.I.mapTile[GameMng.I.targetTile.PosX, GameMng.I.targetTile.PosY].transform.localPosition)); if (Input.GetMouseButtonDown(0) && act != ACTIVITY.ACTING && GameMng.I._BuiltGM.act == ACTIVITY.NONE && !EventSystem.current.IsPointerOverGameObject()) { switch (act) { case ACTIVITY.MOVE: CheckMove(); break; case ACTIVITY.BUILD_MINE: Building(Mine.cost, (int)BUILT.MINE); break; case ACTIVITY.BUILD_FARM: Building(Farm.cost, (int)BUILT.FARM); break; case ACTIVITY.BUILD_ATTACK_BUILDING: Building(Turret.cost, (int)BUILT.ATTACK_BUILDING); break; case ACTIVITY.BUILD_MILLITARY_BASE: Building(MillitaryBase.cost, (int)BUILT.MILLITARY_BASE); break; case ACTIVITY.ATTACK: UnitAttack(); break; } GameMng.I._range.SelectTileSetting(true); } else if (Input.GetMouseButtonUp(1) && act != ACTIVITY.ACTING) { act = ACTIVITY.NONE; GameMng.I._BuiltGM.act = ACTIVITY.NONE; GameMng.I._range.rangeTileReset(); GameMng.I._range.AttackrangeTileReset(); //추가 GameMng.I._range.SelectTileSetting(true); GameMng.I.cleanActList(); GameMng.I.cleanSelected(); } }
/// <summary> /// 根据数据ID获取工作流 /// </summary> /// <param name="orderId"></param> /// <returns></returns> public JsonResult GetWorkFlowByDataId(string dataId) { var retModel = new JsonReturnModel(); try { List <ACTIVITY> list = WorkFlowDA.GetWorkFlowActivityByOrderId(dataId); List <ActivityModel> activityList = new List <ActivityModel>(); foreach (var item in list) { ActivityModel model = new ActivityModel(); model.Id = item.ID; model.Keyed_Name = item.KEYED_NAME; model.X = item.X; model.Y = item.Y; List <WORKFLOW_PROCESS_PATH> processPaths = WorkFlowDA.GetProcessPathBySourceId(item.ID); List <ProcessPathModel> listPaths = new List <ProcessPathModel>(); foreach (var processPath in processPaths) { ProcessPathModel modelPath = new ProcessPathModel(); modelPath.Id = processPath.ID; modelPath.Lable = processPath.LABEL; modelPath.segments = processPath.SEGMENTS; modelPath.X = processPath.X; modelPath.Y = processPath.Y; //获取到达节点的坐标 ACTIVITY relatedModel = list.Where(x => x.ID == processPath.RELATED_ID).FirstOrDefault(); if (relatedModel != null) { modelPath.RelatedX = relatedModel.X; modelPath.RelatedY = relatedModel.Y; } listPaths.Add(modelPath); } model.ProcessPaths = listPaths; activityList.Add(model); } retModel.data = activityList; } catch (Exception ex) { retModel.AddError("errorMessage", ex.Message); } return(Json(retModel, JsonRequestBehavior.AllowGet)); }
public void Building(int cost, int index) { GameMng.I.mouseRaycast(true); //캐릭터 정보와 타일 정보를 알아와야해서 false에서 true로 변경 if (GameMng.I.targetTile._builtObj == null && GameMng.I.targetTile._code < (int)TILE.CAN_MOVE && GameMng.I.targetTile._unitObj == null && Vector2.Distance(GameMng.I.selectedTile.transform.localPosition, GameMng.I.targetTile.transform.localPosition) <= 1.5f) { if (GameMng.I._gold >= cost) { GameObject Child = Instantiate(builtObj[index - 200], GameMng.I.targetTile.transform) as GameObject; GameMng.I.targetTile._builtObj = Child.GetComponent <Built>(); GameMng.I.targetTile._code = index; GameMng.I.minGold(cost); GameMng.I._range.rangeTileReset(); GameMng.I.targetTile._builtObj._uniqueNumber = NetworkMng.getInstance.uniqueNumber; NetworkMng.getInstance.SendMsg(string.Format("CREATE_BUILT:{0}:{1}:{2}:{3}", GameMng.I.targetTile.PosX, GameMng.I.targetTile.PosY, index, NetworkMng.getInstance.uniqueNumber)); act = ACTIVITY.NONE; } } }
private void BtnAddComponent_Click(object sender, RoutedEventArgs e) { var window = new AddActivityWindow(); window.Owner = this; window.WindowStartupLocation = WindowStartupLocation.CenterOwner; ViewModelLocator.SelectedSubjectViewModel.SelectedGradingPeriod = 0; ViewModelLocator.SelectedSubjectViewModel.IsEdit = false; ACTIVITY newActivity = new ACTIVITY(); window.DataContext = newActivity; var result = window.ShowDialog(); if (result == true) { ViewModelLocator.SelectedSubjectViewModel.AddActivity(newActivity); } }
IEnumerator Moving() { if (Vector2.Distance(GameMng.I.selectedTile._unitObj.transform.localPosition, GameMng.I.targetTile.transform.localPosition) >= 0.01f && GameMng.I.distanceOfTiles <= 1.5f) // 캐릭터와 타일간 거리가 1.5 * a 이하일시 움직일수 있음 (거리 한칸당 1.24?정도 되드라) { GameMng.I.selectedTile._unitObj.transform.localPosition = Vector2.Lerp(GameMng.I.selectedTile._unitObj.transform.localPosition, GameMng.I.targetTile.transform.localPosition, GameMng.I.unitSpeed * Time.deltaTime); //타일 간 부드러운 이동 yield return(null); StartCoroutine("Moving"); } else if (GameMng.I.distanceOfTiles >= 0.1f) // 남은 거리가 좁아지면 타일 위치로 자동 이동 { act = ACTIVITY.NONE; GameMng.I.selectedTile._unitObj.transform.localPosition = GameMng.I.targetTile.transform.localPosition; GameMng.I.targetTile._unitObj = GameMng.I.selectedTile._unitObj; GameMng.I.selectedTile._unitObj = null; GameMng.I.selectedTile._code = (int)TILE.CAN_MOVE - 1; } }
private void BtnEdit_Click(object sender, RoutedEventArgs e) { if (LvPrelimComponents.SelectedItem != null) { ViewModelLocator.SelectedSubjectViewModel.SelectedGradingPeriod = 0; ViewModelLocator.SelectedSubjectViewModel.IsEdit = true; var window = new AddActivityWindow(); window.Owner = this; window.WindowStartupLocation = WindowStartupLocation.CenterOwner; ACTIVITY changedActivity = ViewModelLocator.SelectedSubjectViewModel.SelectedActivity as ACTIVITY; window.DataContext = changedActivity; var result = window.ShowDialog(); if (result == true) { ViewModelLocator.SelectedSubjectViewModel.EditActivity(changedActivity); } } }
/** * @brief 어떤 행동인지 체크 * @param activity 행동 코드 * @param actButton 행동 버튼 * @param actName 행동 이름 * @param actDesc 행동 설명 * @param costText 행동 비용 */ public void checkActivity(ACTIVITY activity, UnityEngine.UI.Button actButton, UnityEngine.UI.Text actName, UnityEngine.UI.Text actDesc, UnityEngine.UI.Image Frame, UnityEngine.UI.Text costText, UnityEngine.UI.Image costImg) { switch (activity) { case ACTIVITY.MOVE: actName.text = "이동"; actDesc.text = "한 턴 소요"; costText.enabled = false; costImg.enabled = false; actButton.onClick.AddListener(delegate { _UnitGM.act = activity; _range.AttackrangeTileReset(); _UnitGM.Move(); }); canUseActivity(actButton, Frame, 0); break; case ACTIVITY.BUILD_MINE: actName.text = "광산"; actDesc.text = "한 턴 소요"; costText.enabled = true; costImg.enabled = true; costText.text = MINE_COST.ToString(); actButton.onClick.AddListener(delegate { _UnitGM.act = activity; _UnitGM.buildMine(); }); canUseActivity(actButton, Frame, MINE_COST); break; case ACTIVITY.BUILD_FARM: actName.text = "농장"; actDesc.text = "한 턴 소요"; costText.enabled = true; costImg.enabled = true; costText.text = FARM_COST.ToString(); actButton.onClick.AddListener(delegate { _UnitGM.act = activity; _UnitGM.buildFarm(); }); canUseActivity(actButton, Frame, FARM_COST); break; case ACTIVITY.BUILD_ATTACK_BUILDING: actName.text = "터렛"; actDesc.text = "두 턴 소요"; costText.enabled = true; costImg.enabled = true; costText.text = TURRET_COST.ToString(); actButton.onClick.AddListener(delegate { _UnitGM.act = activity; _UnitGM.buildAttackBuilding(); }); canUseActivity(actButton, Frame, TURRET_COST); break; case ACTIVITY.BUILD_MILLITARY_BASE: actName.text = "군사 기지"; actDesc.text = "두 턴 소요"; costText.enabled = true; costImg.enabled = true; costText.text = MILITARYBASE_COST.ToString(); actButton.onClick.AddListener(delegate { _UnitGM.act = activity; _UnitGM.buildMillitaryBaseBuilding(); }); canUseActivity(actButton, Frame, MILITARYBASE_COST); break; case ACTIVITY.BUILD_SHIELD_BUILDING: actName.text = "방어 건물"; actDesc.text = "두 턴 소요"; actButton.onClick.AddListener(delegate { _UnitGM.act = activity; _UnitGM.buildShieldBuilding(); }); break; case ACTIVITY.BUILD_UPGRADE_BUILDING: actName.text = "강화 건물"; actDesc.text = "세 턴 소요"; actButton.onClick.AddListener(delegate { _UnitGM.act = activity; _UnitGM.buildUpgradeBuilding(); }); break; case ACTIVITY.WORKER_UNIT_CREATE: actName.text = "일꾼 생성"; costText.enabled = true; costImg.enabled = true; costText.text = WORKER_COST.ToString(); actButton.onClick.AddListener(delegate { _BuiltGM.act = activity; Castle.CreateUnitBtn(); }); canUseActivity(actButton, Frame, WORKER_COST); break; case ACTIVITY.DESTROY_BUILT: actName.text = "건물 파괴"; costText.enabled = false; costImg.enabled = false; actButton.onClick.AddListener(delegate { _BuiltGM.act = activity; _BuiltGM.DestroyBuilt(); }); canUseActivity(actButton, Frame, 0); break; case ACTIVITY.ATTACK: actName.text = "공격"; actDesc.text = "두 턴 소요"; costText.enabled = false; costImg.enabled = false; actButton.onClick.AddListener(delegate { _UnitGM.act = activity; _range.rangeTileReset(); _UnitGM.unitAttacking(); }); canUseActivity(actButton, Frame, 0); break; case ACTIVITY.SOLDIER_0_UNIT_CREATE: actName.text = "전사1 생성"; actDesc.text = "두 턴 소요"; costText.enabled = true; costImg.enabled = true; costText.text = SOLDIER_0_COST.ToString(); actButton.onClick.AddListener(delegate { _BuiltGM.act = activity; MillitaryBase.CreateAttackFirstUnitBtn(); }); canUseActivity(actButton, Frame, SOLDIER_0_COST); break; case ACTIVITY.SOLDIER_1_UNIT_CREATE: actName.text = "전사2 생성"; actDesc.text = "두 턴 소요"; costText.enabled = true; costImg.enabled = true; costText.text = SOLDIER_1_COST.ToString(); actButton.onClick.AddListener(delegate { _BuiltGM.act = activity; MillitaryBase.CreateAttackSecondUnitBtn(); }); canUseActivity(actButton, Frame, SOLDIER_1_COST); break; case ACTIVITY.SOLDIER_2_UNIT_CREATE: actName.text = "전사3 생성"; actDesc.text = "두 턴 소요"; costText.enabled = true; costImg.enabled = true; costText.text = SOLDIER_2_COST.ToString(); actButton.onClick.AddListener(delegate { _BuiltGM.act = activity; MillitaryBase.CreateAttackThirdUnitBtn(); }); canUseActivity(actButton, Frame, SOLDIER_2_COST); break; case ACTIVITY.WITCH_0_UNIT_CREATE: actName.text = "마법사1 생성"; actDesc.text = "두 턴 소요"; costText.enabled = true; costImg.enabled = true; costText.text = WITCH_0_COST.ToString(); actButton.onClick.AddListener(delegate { _BuiltGM.act = activity; MillitaryBase.CreateAttackFourthUnitBtn(); }); canUseActivity(actButton, Frame, WITCH_0_COST); break; case ACTIVITY.WITCH_1_UNIT_CREATE: actName.text = "마법사2 생성"; actDesc.text = "두 턴 소요"; costText.enabled = true; costImg.enabled = true; costText.text = WITCH_1_COST.ToString(); actButton.onClick.AddListener(delegate { _BuiltGM.act = activity; MillitaryBase.CreateAttackFifthUnitBtn(); }); canUseActivity(actButton, Frame, WITCH_1_COST); break; default: break; } }