public void ChangeUnitTarget(long currentDragUnit, GameObject target) { UnitRender targetRender = target.GetComponent <UnitRender>(); ForceMark mark = DataManager.GetInstance().GetForceMark(); logicWorld.ChangeTarget(mark, currentDragUnit, targetRender.id, (LogicUnitType)targetRender.unitRenderType); }
public void SelectedUnit(GameObject g, Vector3 hitPoint, bool ignoreEmeny, bool replaceGroup) { UnitRender s = g.GetComponent <UnitRender>(); ForceMark mark = DataManager.GetInstance().GetForceMark(); long id = s.id; if (!ignoreEmeny && s.mark != mark) { // enemy // TODO: change the position to logic unit DebugUtils.Log(DebugUtils.Type.Battle, string.Format(" Set {0} {1} {2} as target, will change the unit target to this unit", s.mark, s.unitRenderType, id)); logicWorld.ChangeTarget(mark, id, (LogicUnitType)s.unitRenderType); } else { // friendly force if (s.unitRenderType == UnitRenderType.Soldier) { logicWorld.SelectedUnit(mark, id, replaceGroup); } else { if (s.unitRenderType == UnitRenderType.Tower) { logicWorld.TapTower(mark, id); } else if (s.unitRenderType == UnitRenderType.Institute) { logicWorld.TapInstitute(mark, id); } } } }
public bool UnitCanBeChase(GameObject g) { UnitRender s = g.GetComponent <UnitRender>(); ForceMark mark = DataManager.GetInstance().GetForceMark(); if (logicWorld.GetSideFromMark(mark) == logicWorld.GetSideFromMark(s.mark)) { return(false); } return(true); }
public long UnitCanBeDrag(GameObject g) { UnitRender s = g.GetComponent <UnitRender>(); ForceMark mark = DataManager.GetInstance().GetForceMark(); if (mark == s.mark && s.unitRenderType == UnitRenderType.Soldier) { return(s.id); } return(-2); }
// double tap a enemy unit, there will be change all target to enemy // double tap a friendly unit, there will be just select all unit. public void DoubleTapOperationOnUnit(GameObject g) { ForceMark playerForceMark = DataManager.GetInstance().GetForceMark(); UnitRender s = g.GetComponent <UnitRender>(); long id = s.id; logicWorld.SelectAllUnits(playerForceMark, false); if (s.mark != playerForceMark) { // enemy force // TODO: change the position to logic unit DebugUtils.Log(DebugUtils.Type.Battle, string.Format(" Set {0} {1} {2} as target, will change the unit target to this unit", s.mark, s.unitRenderType, id)); logicWorld.ChangeTarget(playerForceMark, id, (LogicUnitType)s.unitRenderType); } else { // friendly force // do nothing } }