/// <summary>指定名のキャラのAIをジャック(予約名考慮)(ジャック成功時もしくは指定名のキャラが存在しない時true)</summary> public bool jack(string aName) { //ジャックするキャラ取得 MapCharacter tCharacter = null; if (aName == "invoker") { tCharacter = mInvoker; } else if (aName == "invoked" && mInvoked is MapCharacter) { tCharacter = (MapCharacter)mInvoked; } else if (aName == "player") { tCharacter = parent.mWorld.getPlayer(); } else { tCharacter = parent.mWorld.getCharacter(aName); } if (tCharacter == null) { return(true); } //ジャックスする MapCharacter.JackedAi tAi = tCharacter.jack(); if (tAi != null) { //ジャックできた mAiDic.Add(aName, tAi); mAiDic.Add(tCharacter.mName, tAi); return(true); } //ジャックできなかった場合 if (mAiDic.ContainsKey(aName)) { return(true);//既にジャック済み } //ジャック失敗 return(false); }
private MapCharacter.JackedAi jack(string aName) { MapCharacter tCharacter = mWorld.getCharacter(aName); return(tCharacter?.jack()); }