public ItemUsedResult(ItemBasis item, MyCharacterController owner, bool throwhit,params ObjectEntity[] targets) : base(owner) { Item = item; Targets = targets; ThrowHit = throwhit; }
public void startOperation(MyCharacterController speaker,MyCharacterController own) { if (TalkActionList.Count != 0) { GameControlProxy.Instance.StartCoroutine(operation(speaker,own)); } }
protected override void caneEffect(MyCharacterController user, ObjectEntity target) { var c = target as MyCharacterController; if (c != null) { c.registerBuff(new MissedSwing(c,BasisParameter.EffectPoint)); } }
public override void applyItemEffect(MyCharacterController src, params ObjectEntity[] targets) { if (Item != null) { prevname = Item.Name; success = Item.expantionInventory(BasisParameter.EffectPoint); } }
protected override void caneEffect(MyCharacterController user, ObjectEntity target) { MyCharacterController c = target as MyCharacterController; if (c != null) { GameController.FieldActionController.objectBullRush(user, c, BasisParameter.BullRushDistance, BasisParameter.EffectPoint); } }
public override void turnEnd(MyCharacterController user) { base.turnEnd(user); if (GameController.Rnd.lottery(ExertionProbability)) { GameController.FieldActionController.explosion(user.CurrentPosition, FieldActionController.ExplisionLevel.TWO); } }
protected override void caneEffect(MyCharacterController user, ObjectEntity target) { if (isTargetObject(target)) { var c = (target as MyCharacterController); c.registerBuff(new SpeedDown(c, BasisParameter.EffectPoint)); } }
public override DamageOffset calcOffsetWhenOffensiveSide(DamageOffset offset, MyCharacterController user, MyCharacterController target) { if (target.Parameter.CharacterElement == this.TargetElemental) { offset.addOffensiveSideFinalDamageOffset(levelrate[(int)this.CurrentAbilityLevel]); } return offset; }
public override void applyItemEffect(MyCharacterController src, params ObjectEntity[] targets) { var equip = Item as EquipmentItemBasis; if (Item is BangleBasis) { GameController.PlayingLogger.addLogFormat("{0} はメッキのおかげで丈夫さを取り戻した!",Item.Name); (equip as BangleBasis).repair(); } else { Type proof; switch (equip.Code) { case ItemCode.WEAPON: proof = typeof(Rustproof<WeaponBasis>); break; case ItemCode.SHIELD: proof = typeof(Rustproof<ShieldBasis>); break; default: proof = typeof(Rustproof<WeaponBasis>); break; } if (!equip.abilityRegisterd(proof)) { equip.CommpositedAbilities.Add(Activator.CreateInstance(proof) as EquipmentAbilityBasis); GameController.PlayingLogger.addLogFormat("{0} はサビに強くなった!", equip.Name); } else { GameController.PlayingLogger.addLogFormat("{0} はすでにサビに強い。", equip.Name); } } }
public StringBoardMenu(MyCharacterController owener, int maxlength) : base(rowsize,columnsize,owener,pos, size, "StringBoardMenu") { CurrentText = new StringBuilder(maxlength); MaxLength = maxlength; BoardText = new WindowText[rowsize, columnsize]; Vector2 textpos0 = Window.TextAreaPosition+Vector2.one*WindowConfigure.fontScale(1f); for (int r = 0; r < rowsize; r++) { Vector2 prevpos = textpos0 + new Vector2(0,r*ymargin); for (int c = 0; c < columnsize; c++) { float xmargin = c%5==0 ? WindowConfigure.fontScale(1.5f) : WindowConfigure.fontScale(1.2f); xmargin = c == 0 ? WindowConfigure.fontScale(0.5f) : xmargin; Vector2 textpos = prevpos + new Vector2(xmargin, 0); BoardText[r, c] = new WindowText( "", textpos); prevpos = textpos; } } //string[] table = createHiraKanaTable(); setHirakanaTable(); setSystemText(); Window.MultiSelectMode = false; Vector2 dispsize = new Vector2(WindowConfigure.fontScale(maxlength +6), WindowConfigure.fontScale(1.5f)); Vector2 disppos = new Vector2(Window.WindowPosition.x + (Window.WindowSize.x/2 - dispsize.x/2),(Window.WindowPosition.y - dispsize.y)); InputDisplay = new ViewOnlyWindow(disppos, dispsize); WindowText prevtext = new WindowText("",InputDisplay.TextAreaPosition + new Vector2(WindowConfigure.fontScale(2f),-WindowConfigure.fontScale(0.3f))); InputDisplay.addWindowText(prevtext); SubWindows.Add(InputDisplay); Window.SkipText.Add(""); Window.ReplaceText.Add(WhiteSpace,""); }
public override void potionEffect(MyCharacterController user, MyCharacterController target) { PlayerController p = target as PlayerController; if (p != null) { p.Parameter.increaseExHP(BasisParameter.EffectPoint); } }
public override bool hit(MyCharacterController src, GameObject target, Vector2 currentpos, bool penatrable, bool armorpiercing = false) { bool ret = false; //Debug.Log("TName: " + target.name+","+target.tag); if (TagList.isCharacterTag(target.tag) || TagList.isPlayerTag(target.tag)) { MyCharacterController charctl = target.GetComponent<MyCharacterController>(); GameController.PlayingLogger.hitObject(this.Name, charctl.Parameter.Name); if (!charctl.isDodge && !charctl.ParameterOffset.IsFlyingItemDodge) { if (this.IsCursed) { hitEffectWhenCursed(src, target); } else { hitEffect(src, target, currentpos, penatrable, armorpiercing); } //hitEffect(src, target, currentpos,penatrable,armorpiercing); ret = true; } else { //GameController.PlayingLogger.attackMiss(); } } return ret; }
public DamageTokenBasis(MyCharacterController attacker, MyCharacterController target) { Attacker = attacker; Target = target; AllowGainExp = true; ShowLogAction = showlog; }
public override void turnStart(MyCharacterController user) { var p = user as PlayerController; if (p != null) { p.Parameter.WallPenatrableThrow = true; } }
public static void disableCharacterEntity(MyCharacterController entity) { entity.setActive(false); GameController.GameActionEvent.despawnCharacter(entity); entity.Parameter = null; entity.Object = null; }
public override bool startOperation(MyCharacterController speaker, MyCharacterController own) { Message.reset(); Items = GameController.DungeonInformation.ListOfUnpaidCommodityWhichNotExistOnFiled.ToArray(); initPaymentMenu(speaker as PlayerController); return true; }
protected override void caneEffect(MyCharacterController user, ObjectEntity target) { var c = target as MyCharacterController; if (c != null) { GameController.FieldActionController.objectRandomWarp(c, user.InRoom); } }
public override void actionEnd(MyCharacterController user) { base.actionEnd(user); if (GameController.Rnd.lottery(ExertionProbability)) { GameController.FieldActionController.objectRandomWarp(user); } }
public ItemInventoryMenu(MyCharacterController owner) : this(owner, delegate { }) { //init(); SubmitAct = defaultAction; CancelAct = () => { }; }
protected override void caneEffect(MyCharacterController user, ObjectEntity target) { var c = target as MyCharacterController; if (c != null) { c.registerBuff(new Paralyze(c, BasisParameter.EffectPoint, StatusBuffBasis.CountDownType.TURN)); } }
public ExplosionDamage(MyCharacterController attacker, MyCharacterController target,FieldActionController.ExplisionLevel level, int damage) : base(attacker, target) { Level = level; Damage = damage; AllowGainExp = level == FieldActionController.ExplisionLevel.ONE; }
public override void showUsedLog(MyCharacterController src, params ObjectEntity[] targets) { PlayerController player = src as PlayerController; if (player.Parameter.Shield != ShieldBasis.Dummy && player.Parameter.Shield != null) { if (success) { if (chance) { GameController.PlayingLogger.addLogFormat("ラッキー!装備している盾がより強化された!", player.Parameter.Name); } else { GameController.PlayingLogger.addLogFormat("{0} の装備している盾が強化された。", player.Parameter.Name); } } else { GameController.PlayingLogger.addLog("盾はこれ以上強化できないようだ。"); } } else { GameController.PlayingLogger.addLogFormat("{0} は盾を装備していなかった。", player.Parameter.Name); } }
protected override void caneEffect(MyCharacterController user, ObjectEntity target) { var c = target as MyCharacterController; if (c != null) { c.Parameter.levelDown(BasisParameter.EffectPoint); } }
public DOTDamage(MyCharacterController target, int damage, bool isdeadly, CauseOfDeathBasis cod) : base(null, target) { Damage = damage; IsDeadly = isdeadly; COD = cod; }
public override void doUse(MyCharacterController user, GameObject target) { //base.doUse(user, target); initMenu(user); initUnselectableItems(); openMenu(); }
protected override void caneEffect(MyCharacterController user, ObjectEntity target) { Debug.logger.Log("Target", target.name); if (Array.Exists(BasisParameter.EffectAnimationTargetTags, t => t == target.tag) || target.tag == TagList.Wall) { GameController.FieldActionController.objectPullOn(target,user); } }
void selectGoodEffect(MyCharacterController user) { int select = GameController.Rnd.Next(effectcount); switch (select) { case 0: user.Parameter.increaseMaxSTR(1, true); user.Parameter.increaseCurrentSTR(1, false); break; case 1: user.heal(user.Parameter.MaxHP); break; case 2: user.registerBuff(new InvalidatePoison(user)); break; case 3: user.registerBuff(new InvalidateSleep(user)); break; case 4: user.registerBuff(new InvalidateHunger(user)); break; case 5: user.registerBuff(new AutoItemAppraise(user)); break; case 6: user.registerBuff(new SneakWalk(user)); break; } }
public override void potionEffect(MyCharacterController user, MyCharacterController target) { var p = target as PlayerController; if (p != null) { p.Parameter.addMaxHunger(BasisParameter.EffectPoint); } }
public void attackPtoE(MyCharacterController src, MyCharacterController target, int damage, bool isdead) { string str = "",str2=""; str = string.Format("{0} は{1} へ{2}ポイントのダメージを与えた。", src.Parameter.Name,target.Parameter.Name, damage); if (isdead) str2 = string.Format("\n{0} は倒れた。",target.Parameter.Name); if (str.Length + str2.Length != 0) addLog(str+str2); }
public ExertionItemEffect(MyCharacterController user,ItemBasis item ,bool throwhit,ObjectEntity[] targets,params ExeritionOption[] options) : base(user) { Targets = new List<ObjectEntity>(targets); Item = item; ThrowHit = throwhit; Options = options==null?new ExeritionOption[] { }:options; }
public MyCharacterController GetOffBoat(string passenger_name) { for (int i = 0; i < passenger.Length; i++) { if (passenger [i] != null && passenger [i].getName() == passenger_name) { MyCharacterController charactorCtrl = passenger [i]; passenger [i] = null; return(charactorCtrl); } } Debug.Log("Cant find passenger in boat: " + passenger_name); return(null); }
public MyCharacterController getOffbank(string passenger_name) // 0->priest, 1->devil { for (int i = 0; i < passengerPlaner.Length; i++) { if (passengerPlaner [i] != null && passengerPlaner [i].getName() == passenger_name) { MyCharacterController charactorCtrl = passengerPlaner [i]; passengerPlaner [i] = null; return(charactorCtrl); } } Debug.Log("cant find passenger on bank: " + passenger_name); return(null); }
public MyCharacterController getOffCoast(string passengerName) // 0->Priest, 1->Devil { for (int i = 0; i < passengerPlaner.Length; ++i) { if (passengerPlaner[i] != null && passengerPlaner[i].getName() == passengerName) { MyCharacterController characterCtrl = passengerPlaner[i]; passengerPlaner[i] = null; return(characterCtrl); } } Debug.Log("Cannot find Passenger on coast: " + passengerName); return(null); }
public void isClickChar(MyCharacterController tem_char) { if (Director.cn_move == 1) { return; } if (tem_char._isOnBoat()) { CoastController tem_coast; if (boat.getTFflag() == -1) { tem_coast = toCoast; } else { tem_coast = fromCoast; } boat.getOffBoat(tem_char.getName()); Vector3 end_pos = tem_coast.getEmptyPosition(); //动作分离版本改变 Vector3 middle_pos = new Vector3(tem_char.getGameObject().transform.position.x, end_pos.y, end_pos.z); //动作分离版本改变 actionManager.moveRole(tem_char.getGameObject(), middle_pos, end_pos, 50); //动作分离版本改变 tem_char.getOnCoast(tem_coast); tem_coast.getOnCoast(tem_char); } else { CoastController tem_coast2 = tem_char.getCoastController(); if (boat.getEmptyIndex() == -1) { return; } if (boat.getTFflag() != tem_coast2.getTFflag()) { return; } tem_coast2.getOffCoast(tem_char.getName()); Vector3 end_pos = boat.getEmptyPosition(); //动作分离版本改变 Vector3 middle_pos = new Vector3(end_pos.x, tem_char.getGameObject().transform.position.y, end_pos.z); //动作分离版本改变 actionManager.moveRole(tem_char.getGameObject(), middle_pos, end_pos, 50); //动作分离版本改变 tem_char.getOnBoat(boat); boat.getOnBoat(tem_char); } //check whether game over; user.if_win_or_not = checkGameOver(); }
public void characterIsClicked(MyCharacterController characterCtrl) { if (ifGameover) { return; } if (characterCtrl.isOnBoat()) { CoastController whichCoast; if (boat.get_to_or_from() == -1) // to->-1; from->1 { whichCoast = toCoast; } else { whichCoast = fromCoast; } boat.GetOffBoat(characterCtrl.getName()); //characterCtrl.moveToPosition (whichCoast.getEmptyPosition ()); actionManager.moveCharacter(characterCtrl.getGameObject(), whichCoast.getEmptyPosition()); characterCtrl.getOnCoast(whichCoast); whichCoast.getOnCoast(characterCtrl); } else { CoastController whichCoast = characterCtrl.getCoastController(); if (boat.getEmptyIndex() == -1) { return; } if (whichCoast.get_to_or_from() != boat.get_to_or_from()) { return; } whichCoast.getOffCoast(characterCtrl.getName()); //characterCtrl.moveToPosition (boat.getEmptyPosition()); actionManager.moveCharacter(characterCtrl.getGameObject(), boat.getEmptyPosition()); characterCtrl.getOnBoat(boat); boat.GetOnBoat(characterCtrl); } userGUI.status = check_game_over(); ifGameover = userGUI.status != 0 ? true : false; }
public void characterIsClicked(MyCharacterController characterCtrl) { if (characterCtrl.isOnBoat()) { CoastController whichCoast; if (boat.get_to_or_from() == -1) { // to->-1; from->1 whichCoast = toCoast; } else { whichCoast = fromCoast; } boat.GetOffBoat(characterCtrl.getName()); //characterCtrl.moveToPosition(whichCoast.getEmptyPosition()); Vector3 end_pos = whichCoast.getEmptyPosition(); //修改部分 Vector3 middle_pos = new Vector3(characterCtrl.getGameObj().transform.position.x, end_pos.y, end_pos.z); //修改部分 myActionManager.moveRole(characterCtrl.getGameObj(), middle_pos, end_pos, myActionManager.roleSpeed); //修改部分 whichCoast.getOnCoast(characterCtrl); characterCtrl.getOnCoast(whichCoast); } else { // character on coast CoastController whichCoast = characterCtrl.getCoastController(); if (boat.getEmptyIndex() == -1) { // boat is full return; } if (whichCoast.get_to_or_from() != boat.get_to_or_from()) // boat is not on the side of character { return; } Vector3 end_pos = boat.getEmptyPosition(); //修改部分 Vector3 middle_pos = new Vector3(end_pos.x, characterCtrl.getGameObj().transform.position.y, end_pos.z); //修改部分 myActionManager.moveRole(characterCtrl.getGameObj(), middle_pos, end_pos, myActionManager.boatSpeed); //修改部分 whichCoast.getOffCoast(characterCtrl.getName()); //characterCtrl.moveToPosition(boat.getEmptyPosition()); characterCtrl.getOnBoat(boat); boat.GetOnBoat(characterCtrl); } userGUI.status = judgment.check_game_over(boat, fromCoast, toCoast); }
public void characterClick(MyCharacterController c) { if (userGui.state != GameState.NotWin) { return; } Debug.Log("!#"); if (c.pos == CharacterPosition.From) { if (boat.getBoatPos() == BoatState.From && boat.getEmptyIndex() != -1) { var _pos = boat.getEmptyPosition(); c.getOnBoat(boat.getGameobj(), _pos); fromCoast.removeCharacter(c); boat.GetOnBoat(c); } } else if (c.pos == CharacterPosition.To) { if (boat.getBoatPos() == BoatState.To && boat.getEmptyIndex() != -1) { var _pos = boat.getEmptyPosition(); c.getOnBoat(boat.getGameobj(), _pos); toCoast.removeCharacter(c); boat.GetOnBoat(c); } } else { if (boat.getBoatPos() == BoatState.From) { var _pos = fromCoast.getEmptyPosition(); c.getOnCoast(fromCoast.getGameobj(), _pos, CharacterPosition.From); fromCoast.addCharacter(c); boat.GetOffBoat(c); } else { var _pos = toCoast.getEmptyPosition(); c.getOnCoast(toCoast.getGameobj(), _pos, CharacterPosition.To); toCoast.addCharacter(c); boat.GetOffBoat(c); } } if (toCoast.getEmptyIndex() == -1) { userGui.state = GameState.Win; } }
public void characterClicked(MyCharacterController charController0) { Debug.Log("characterClicked"); if (!GameOn) { Debug.Log("!GameOn"); return; } if (charController0.whetherOnBoat()) //在船上,要去岸上 { Debug.Log("在船上,要去岸上"); if (boat.getBoatState() == 1) //船在右侧 { boat.getOffBoat(charController0); charController0.getOnCoast(rightCoast); actionManager.moveCharacter(charController0, charController0.getCoast().getEmptyPos()); rightCoast.getOnCoast(charController0); //修改了岸上pos的状态 } else //船在左侧 //游戏角色要上左岸 { boat.getOffBoat(charController0); charController0.getOnCoast(leftCoast); actionManager.moveCharacter(charController0, charController0.getCoast().getEmptyPos()); leftCoast.getOnCoast(charController0); } } else //在岸上,要去船上 { Debug.Log("在岸上,要去船上"); Debug.Log("boat" + boat.getBoatState()); Debug.Log("coast" + charController0.getCoast().getType()); if (boat.getBoatState() == 1 && charController0.getCoast().getType() == 1 || boat.getBoatState() == 0 && charController0.getCoast().getType() == 0) //船在右侧且要从右岸上船 { Vector3 emptyPos = boat.getEmptyPos(); Debug.Log("if2"); if (emptyPos != Vector3.zero) //判断船上是否有空位 { Debug.Log("if1"); charController0.getCoast().getOffCoast(charController0); //告诉岸:一个物体离开了你的怀抱,你多了一个空位 charController0.getOnBoat(boat); //告诉物体:上船(下岸) actionManager.moveCharacter(charController0, emptyPos); boat.getOnBoat(charController0); //告诉船:有人要上船啦 } } } judge(); }
void Start () { startTime = Time.time; if (characterController == null) { characterController = GetComponent<MyCharacterController> (); if (characterController == null) { throw new MissingComponentException ("MyCharacterController missing"); } } BoxCollider2D boxCollider = GetComponent<BoxCollider2D> (); if (boxCollider != null) { objectSizeX = boxCollider.size.x; objectSizeY = boxCollider.size.y; } }
//实现Useraction接口,人物被点击动作 public void characterIsClicked(MyCharacterController characterCtrl) { //人物对象在船上,送上岸 if (characterCtrl.isOnBoat()) { CoastController whichCoast; if (boat.get_to_or_from() == -1) // to->-1; from->1 { whichCoast = toCoast; } else { whichCoast = fromCoast; } //将人物从船上抹去 boat.GetOffBoat(characterCtrl.getName()); //移动人物 characterCtrl.moveToPosition(whichCoast.getEmptyPosition()); //人物登陆 characterCtrl.getOnCoast(whichCoast); //陆地控制器接收 whichCoast.getOnCoast(characterCtrl); } else //人物在岸上 // character on coast { CoastController whichCoast = characterCtrl.getCoastController(); //船满载 if (boat.getEmptyIndex() == -1) // boat is full { return; } //点击船对面岸上的人无效 if (whichCoast.get_to_or_from() != boat.get_to_or_from()) // boat is not on the side of character { return; } //岸控制器释放 whichCoast.getOffCoast(characterCtrl.getName()); //人物移动 characterCtrl.moveToPosition(boat.getEmptyPosition()); //上船 characterCtrl.getOnBoat(boat); //船控制器接收 boat.GetOnBoat(characterCtrl); } //每次点击检查是否结束 userGUI.status = check_game_over(); }
//==================================================================== public void StartPlaying(string danceName) { ClearCharacters(); _currentDance = danceName; _replayCharacter = Instantiate(_replayCharacterPrefab).GetComponent <MyCharacterController>(); _replayCharacter.transform.position = _replayCharPos; _cubemanCharacter = Instantiate(_cubemanPrefab).GetComponent <CubemanController>(); _cubemanCharacter.transform.position = _avatarCharPos; UIManager.Instance.SwitchState(UIManager.Instance.PlayUiState); Invoke("Play", 0.5f); }
public void characterIsClicked(MyCharacterController character) //移动角色 { if (userGUI.status != 0) { return; } if (character.getis_onboat()) { CoastController coast; if (!boat.get_is_left()) { coast = rightCoast; } else { coast = leftCoast; } boat.GetOffBoat(character.getName()); Vector3 end_pos = coast.getEmptyPosition(); Vector3 middle_pos = new Vector3(character.getGameObject().transform.position.x, end_pos.y, end_pos.z); actionManager.moveCharacterAction(character.getGameObject(), middle_pos, end_pos, speed); //调用动作管理器中的移动角色函数,原先为调用moveable函数 character.Oncoast(coast); coast.getOnCoast(character); } else { CoastController coast = character.getcoastController(); // 船上已有两人 if (boat.getEmptyIndex() == -1) { return; } // 船与角色并不在同一边岸 if (coast.get_is_right() == boat.get_is_left()) { return; } coast.getOffCoast(character.getName()); Vector3 end_pos = boat.getEmptyPos(); Vector3 middle_pos = new Vector3(end_pos.x, character.getGameObject().transform.position.y, end_pos.z); actionManager.moveCharacterAction(character.getGameObject(), middle_pos, end_pos, character.speed); //调用动作管理器中的移动角色函数,原先为调用moveable函数 character.Onboat(boat); boat.GetOnBoat(character); } userGUI.status = check_game_over(); }
public Vector3 characterIsClicked(MyCharacterController cha) { Vector3 target = new Vector3(); if (cha.onBoat()) { CoastController coast; if (boat.isRight()) { coast = right_coast; } else { coast = left_coast; } boat.getOffBoat(cha.getName()); target = coast.getEmptyPosition(cha.isPriest()); cha.moveToPosition(target); cha.getOnCoast(coast); coast.getOnCoast(cha); } else { CoastController coast = cha.getCoastController(); // boat is full if (boat.isFull()) { return(target); } if (coast.isRight() != boat.isRight()) { return(target); } coast.getOffCoast(cha.getName()); target = boat.getEmptyPosition(); cha.moveToPosition(target); cha.getOnBoat(boat); boat.getOnBoat(cha); } user_gui.status = judge(); return(target); }
public playerInfo(MyCharacterController obj) { health = obj.health; GunController gunController = obj.GetComponentInChildren <GunController>(); ammo = new int[gunController.arsenal.Length]; inArse = new bool[gunController.arsenal.Length]; equip = gunController.equipped_gun_index; for (int i = 0; i < ammo.Length; ++i) { ammo[i] = gunController.arsenal[i].gun.ammo; inArse[i] = gunController.arsenal[i].is_in_arsenal; } crouched = obj.GetCrouched(); orientation = new eulerS(obj.my_camera.transform.eulerAngles.x, obj.transform.eulerAngles.y, 0); position = new vector3S(obj.transform.position); }
public void characterIsClicked(MyCharacterController characterCtrl) { if (characterCtrl.isOnBoat()) { bankController whichbank; if (boat.get_to_or_from() == -1) { whichbank = tobank; } else { whichbank = frombank; } boat.GetOffBoat(characterCtrl.getName()); Vector3 dest = whichbank.getEmptyPosition(); actionManager.moveChar(characterCtrl, dest, speed); characterCtrl.getOnbank(whichbank); whichbank.getOnbank(characterCtrl); } else { bankController whichbank = characterCtrl.getbankController(); if (boat.getEmptyIndex() == -1) { return; } if (whichbank.get_to_or_from() != boat.get_to_or_from()) { return; } whichbank.getOffbank(characterCtrl.getName()); Vector3 dest = boat.getEmptyPosition(); actionManager.moveChar(characterCtrl, dest, speed); characterCtrl.getOnBoat(boat); boat.GetOnBoat(characterCtrl); } userGUI.status = check_game_over(); }
private void Awake() { #region singleton if (Instance == null) { Instance = this; } else if (Instance != this) { //Destroy(gameObject); } #endregion _animator = GetComponent <Animator>(); _cc = FindObjectOfType <MyCharacterController>(); _playerInputs = FindObjectOfType <PlayerInputs>(); _playerAbility = FindObjectOfType <PlayerAbility>(); }
public void IsClicked(MyCharacterController characterCtrl) { if (firstActionManager.Complete == SSActionEventType.Started) { return; } if (characterCtrl.IsOnBoat()) { CoastController whichCoast; if (boat.getState() == -1) // to->-1; from->1 { whichCoast = toCoast; } else { whichCoast = fromCoast; } boat.GetOffBoat(characterCtrl.getName()); firstActionManager.MoveCharacter(characterCtrl, whichCoast.getEmptyPosition()); characterCtrl.getOnCoast(whichCoast); whichCoast.getOnCoast(characterCtrl); } else // character on coast { CoastController whichCoast = characterCtrl.getCoastController(); if (boat.getEmptyIndex() == -1) // boat is full { return; } if (whichCoast.getState() != boat.getState()) // boat and character are on different side { return; } whichCoast.getOffCoast(characterCtrl.getName()); firstActionManager.MoveCharacter(characterCtrl, boat.getEmptyPosition()); characterCtrl.getOnBoat(boat); boat.GetOnBoat(characterCtrl); } userGUI.status = judge.check(fromCoast, toCoast, boat); }
private void OnTriggerEnter(Collider other) { if (!isBeingTeleportedTo) { MyCharacterController cc = other.GetComponent <MyCharacterController>(); if (cc) { cc.Motor.SetPositionAndRotation(TeleportTo.transform.position, TeleportTo.transform.rotation); if (OnCharacterTeleport != null) { OnCharacterTeleport(cc); } TeleportTo.isBeingTeleportedTo = true; } } isBeingTeleportedTo = false; }
public void ObjectIsClicked(MyCharacterController tem_char) // { if (manager.Complete == SSActionEventType.started) { return; } if (tem_char.isOnBoat()) { CoastController tem_coast; if (boat.getTFflag() == -1) { tem_coast = toCoast; } else { tem_coast = fromCoast; } boat.getOffBoat(tem_char.getName()); //tem_char.moveToPosition (tem_coast.getEmptyPosition ()); manager.CharacterMove(tem_char, tem_coast.getEmptyPosition()); tem_char.getOnCoast(tem_coast); tem_coast.getOnCoast(tem_char); } else { CoastController tem_coast2 = tem_char.getCoastController(); if (boat.getEmptyIndex() == -1) { return; } if (boat.getTFflag() != tem_coast2.getTFflag()) { return; } tem_coast2.getOffCoast(tem_char.getName()); //tem_char.moveToPosition (boat.getEmptyPosition ()); manager.CharacterMove(tem_char, boat.getEmptyPosition()); tem_char.getOnBoat(boat); boat.getOnBoat(tem_char); } //check whether game over; user.if_win_or_not = judge.Check(); }
public void characterIsClicked(MyCharacterController characterCtrl) { if (characterCtrl.isOnBoat()) { CoastController whichCoast; if (boat.get_to_or_from() == -1) // to->-1; from->1 { whichCoast = toCoast; } else { whichCoast = fromCoast; } boat.GetOffBoat(characterCtrl.getName()); //characterCtrl.moveToPosition (whichCoast.getEmptyPosition ()); actionManager.moveCharacter(characterCtrl, whichCoast.getEmptyPosition()); characterCtrl.getOnCoast(whichCoast); whichCoast.getOnCoast(characterCtrl); } else // character on coast { CoastController whichCoast = characterCtrl.getCoastController(); if (boat.getEmptyIndex() == -1) // boat is full { return; } if (whichCoast.get_to_or_from() != boat.get_to_or_from()) // boat is not on the side of character { return; } whichCoast.getOffCoast(characterCtrl.getName()); //characterCtrl.moveToPosition (boat.getEmptyPosition()); actionManager.moveCharacter(characterCtrl, boat.getEmptyPosition()); characterCtrl.getOnBoat(boat); boat.GetOnBoat(characterCtrl); } userGUI.status = judger.check(); }
void SetCameraTarget(Transform t) { target = t; if (target != null) { if (target.GetComponent <MyCharacterController>()) { charController = target.GetComponent <MyCharacterController>(); } else { Debug.LogError("The camera's target needs a character controller"); } } else { Debug.LogError("Yoour Camera needs a target"); } }
private void loadCharacter() { for (int i = 0; i < 3; i++) { MyCharacterController cha = new MyCharacterController("priest"); cha.setName("priest" + i); cha.setPosition(fromCoast.getEmptyPosition()); fromCoast.getOnCoast(cha); characters [i] = cha; } for (int i = 0; i < 3; i++) { MyCharacterController cha = new MyCharacterController("devil"); cha.setName("devil" + i); cha.setPosition(fromCoast.getEmptyPosition()); fromCoast.getOnCoast(cha); characters [i + 3] = cha; } }
// Update is called once per frame private void LoadCharacters( ) { for (int i = 0; i < 3; i++) { characters[i] = new MyCharacterController("Priest"); characters[i].setName("Priest" + i); characters[i].setPos(rightCoast.getEmptyPos()); rightCoast.getOnCoast(characters[i]); characters[i].getOnCoast(rightCoast); } for (int i = 3; i < 6; i++) { characters[i] = new MyCharacterController("Evil"); characters[i].setName("Evil" + i); characters[i].setPos(rightCoast.getEmptyPos()); rightCoast.getOnCoast(characters[i]); characters[i].getOnCoast(rightCoast); } Debug.Log("Load All Characters"); }
void Start() { cam = Camera.main; #if UNITY_STANDALONE_WIN //这里的代码在IOS和Android平台都会编译 if (lockCursor) { Cursor.lockState = CursorLockMode.Locked; Cursor.visible = false; } #endif controller = GetComponent <MyCharacterController>(); yaw = transform.eulerAngles.y; pitch = cam.transform.localEulerAngles.x; smoothYaw = yaw; smoothPitch = pitch; }
public void characterIsClicked(MyCharacterController characterCtrl) { if (characterCtrl.getIsOnBoat()) { CoastController whichCoast; if (boat.getStatus() == -1) // to->-1; from->1 { whichCoast = toCoast; } else { whichCoast = fromCoast; } boat.GetOffBoat(characterCtrl.getName()); characterCtrl.moveToPosition(whichCoast.getEmptyPosition()); characterCtrl.getOnCoast(whichCoast); whichCoast.getOnCoast(characterCtrl); } else // character on coast { CoastController whichCoast = characterCtrl.getCoastController(); if (boat.getEmptyIndex() == -1) // boat is full { return; } if (whichCoast.getStatus() != boat.getStatus()) // boat is not on the side of character { return; } whichCoast.getOffCoast(characterCtrl.getName()); characterCtrl.moveToPosition(boat.getEmptyPosition()); characterCtrl.getOnBoat(boat); boat.GetOnBoat(characterCtrl); } gameStatus = check_game_over(); userGUI.status = check_game_over(); }
public void isClickChar(MyCharacterController tem_char) { if (moveable.cn_move == 1) { return; } if (tem_char._isOnBoat()) { CoastController tem_coast; if (boat.getTFflag() == -1) { tem_coast = toCoast; } else { tem_coast = fromCoast; } boat.getOffBoat(tem_char.getName()); tem_char.moveToPosition(tem_coast.getEmptyPosition()); tem_char.getOnCoast(tem_coast); tem_coast.getOnCoast(tem_char); } else { CoastController tem_coast2 = tem_char.getCoastController(); if (boat.getEmptyIndex() == -1) { return; } if (boat.getTFflag() != tem_coast2.getTFflag()) { return; } tem_coast2.getOffCoast(tem_char.getName()); tem_char.moveToPosition(boat.getEmptyPosition()); tem_char.getOnBoat(boat); boat.getOnBoat(tem_char); } //check whether game over; user.if_win_or_not = checkGameOver(); }
void Update() { _player = Globals.player.GetComponent <MyCharacterController>(); if (Input.GetKeyDown(KeyCode.F1)) { _realTimeLabel.Enabled = !_realTimeLabel.Enabled || !_gameTimeLabel.Enabled; _gameTimeLabel.Enabled = true; } if (Input.GetKeyDown(KeyCode.F2)) { _gameTimeLabel.Toggle(); _titleLabel.Enabled = false; } if (Input.GetKeyDown(KeyCode.F3)) { _debugLabel.Toggle(); } }
public void moveCharacter(MyCharacterController character, Vector3 target) { Vector3 nowPos = character.getPos(); Vector3 tmpPos = nowPos; if (target.y > nowPos.y) { tmpPos.y = target.y; } else { tmpPos.x = target.x; } SSAction action1 = MoveAction.getAction(tmpPos, character.speed); SSAction action2 = MoveAction.getAction(target, character.speed); SSAction sequenceAction = SequenceAction.getAction(1, 0, new List <SSAction> { action1, action2 }); this.addAction(character.getInstance(), sequenceAction, this); }
public void characterIsClicked(MyCharacterController character) { //角色要上岸 if (character.getis_onboat()) { CoastController coast; if (!boat.get_is_left()) { coast = rightCoast; } else { coast = leftCoast; } boat.GetOffBoat(character.getName()); character.movePosition(coast.getEmptyPosition()); character.Oncoast(coast); coast.getOnCoast(character); } // 角色要上船 else { CoastController coast = character.getcoastController(); // 船上已有两人 if (boat.getEmptyIndex() == -1) { return; } // 船与角色并不在同一边岸 if (coast.get_is_right() == boat.get_is_left()) { return; } coast.getOffCoast(character.getName()); character.movePosition(boat.getEmptyPos()); character.Onboat(boat); boat.GetOnBoat(character); } userGUI.status = check_game_over(); }
public void characterIsClicked(MyCharacterController characterCtrl) { if (characterCtrl.isOnBoat()) { bankController whichbank; if (boat.get_to_or_from() == -1) // to->-1; from->1 { whichbank = tobank; } else { whichbank = frombank; } boat.GetOffBoat(characterCtrl.getName()); characterCtrl.moveToPosition(whichbank.getEmptyPosition()); characterCtrl.getOnbank(whichbank); whichbank.getOnbank(characterCtrl); } else // character on bank { bankController whichbank = characterCtrl.getbankController(); if (boat.getEmptyIndex() == -1) // boat is full { return; } if (whichbank.get_to_or_from() != boat.get_to_or_from()) // boat is not on the side of character { return; } whichbank.getOffbank(characterCtrl.getName()); characterCtrl.moveToPosition(boat.getEmptyPosition()); characterCtrl.getOnBoat(boat); boat.GetOnBoat(characterCtrl); } userGUI.status = check_game_over(); }